You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Tupshin Harper (JIRA)" <ji...@apache.org> on 2011/09/08 01:22:09 UTC

[jira] [Created] (CASSANDRA-3154) Bad equality check in ColumnFamilyStore.isCompleteSSTables()

Bad equality check in ColumnFamilyStore.isCompleteSSTables()
------------------------------------------------------------

                 Key: CASSANDRA-3154
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3154
             Project: Cassandra
          Issue Type: Bug
          Components: Core
            Reporter: Tupshin Harper
            Assignee: Tupshin Harper


The equality check in isCompleteSSTables() always fails because it tries to call equals() with a Set and a List. This might result in failure to purge tombstones in some cases.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (CASSANDRA-3154) Bad equality check in ColumnFamilyStore.isCompleteSSTables()

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-3154?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis updated CASSANDRA-3154:
--------------------------------------

    Attachment: 3154.txt

I'd rather get rid of that code.  It's not useful because

- for leveled compactions, you are effectively guaranteed that once you have more than a couple sstables, you'll never compact all sstables at once
- for non-leveled compactions, you have a small enough number of sstables that isKeyInRemainingSSTables is fine without adding additional optimization for the "major" case

This patch gets rid of isMajor, and additionally renames CompactionType to OperationType to better reflect the "compaction" stage's role as generic background IO manager.

> Bad equality check in ColumnFamilyStore.isCompleteSSTables()
> ------------------------------------------------------------
>
>                 Key: CASSANDRA-3154
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3154
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.0
>            Reporter: Tupshin Harper
>            Assignee: Tupshin Harper
>             Fix For: 1.0
>
>         Attachments: 3154.txt, CASSANDRA-3154.diff
>
>
> The equality check in isCompleteSSTables() always fails because it tries to call equals() with a Set and a List. This might result in failure to purge tombstones in some cases.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (CASSANDRA-3154) Bad equality check in ColumnFamilyStore.isCompleteSSTables()

Posted by "Tupshin Harper (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-3154?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tupshin Harper updated CASSANDRA-3154:
--------------------------------------

    Attachment: CASSANDRA-3154.diff

> Bad equality check in ColumnFamilyStore.isCompleteSSTables()
> ------------------------------------------------------------
>
>                 Key: CASSANDRA-3154
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3154
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Tupshin Harper
>            Assignee: Tupshin Harper
>         Attachments: CASSANDRA-3154.diff
>
>
> The equality check in isCompleteSSTables() always fails because it tries to call equals() with a Set and a List. This might result in failure to purge tombstones in some cases.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-3154) Bad equality check in ColumnFamilyStore.isCompleteSSTables()

Posted by "Benjamin Coverston (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-3154?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13100470#comment-13100470 ] 

Benjamin Coverston commented on CASSANDRA-3154:
-----------------------------------------------

Patch is good.
+1 Getting rid of isMajor makes the logic behind the determination of the compaction operation much cleaner.

> Bad equality check in ColumnFamilyStore.isCompleteSSTables()
> ------------------------------------------------------------
>
>                 Key: CASSANDRA-3154
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3154
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.0
>            Reporter: Tupshin Harper
>            Assignee: Tupshin Harper
>            Priority: Minor
>             Fix For: 1.0
>
>         Attachments: 3154.txt, CASSANDRA-3154.diff
>
>
> The equality check in isCompleteSSTables() always fails because it tries to call equals() with a Set and a List. This might result in failure to purge tombstones in some cases.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-3154) Bad equality check in ColumnFamilyStore.isCompleteSSTables()

Posted by "Tupshin Harper (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-3154?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13099727#comment-13099727 ] 

Tupshin Harper commented on CASSANDRA-3154:
-------------------------------------------

+1 to getting rid of the code instead.

> Bad equality check in ColumnFamilyStore.isCompleteSSTables()
> ------------------------------------------------------------
>
>                 Key: CASSANDRA-3154
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3154
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.0
>            Reporter: Tupshin Harper
>            Assignee: Tupshin Harper
>            Priority: Minor
>             Fix For: 1.0
>
>         Attachments: 3154.txt, CASSANDRA-3154.diff
>
>
> The equality check in isCompleteSSTables() always fails because it tries to call equals() with a Set and a List. This might result in failure to purge tombstones in some cases.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-3154) Bad equality check in ColumnFamilyStore.isCompleteSSTables()

Posted by "Hudson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-3154?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13100536#comment-13100536 ] 

Hudson commented on CASSANDRA-3154:
-----------------------------------

Integrated in Cassandra #1091 (See [https://builds.apache.org/job/Cassandra/1091/])
    remove isMajor compaction designation
patch by jbellis; reviewed by Tupshin Harper and Ben Coverston for CASSANDRA-3154

jbellis : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1166822
Files : 
* /cassandra/trunk/CHANGES.txt
* /cassandra/trunk/src/java/org/apache/cassandra/cache/AutoSavingCache.java
* /cassandra/trunk/src/java/org/apache/cassandra/cli/CliClient.java
* /cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
* /cassandra/trunk/src/java/org/apache/cassandra/db/compaction/AbstractCompactionIterable.java
* /cassandra/trunk/src/java/org/apache/cassandra/db/compaction/CompactionController.java
* /cassandra/trunk/src/java/org/apache/cassandra/db/compaction/CompactionInfo.java
* /cassandra/trunk/src/java/org/apache/cassandra/db/compaction/CompactionIterable.java
* /cassandra/trunk/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
* /cassandra/trunk/src/java/org/apache/cassandra/db/compaction/CompactionTask.java
* /cassandra/trunk/src/java/org/apache/cassandra/db/compaction/CompactionType.java
* /cassandra/trunk/src/java/org/apache/cassandra/db/compaction/OperationType.java
* /cassandra/trunk/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java
* /cassandra/trunk/src/java/org/apache/cassandra/db/index/SecondaryIndexBuilder.java
* /cassandra/trunk/test/unit/org/apache/cassandra/io/LazilyCompactedRowTest.java


> Bad equality check in ColumnFamilyStore.isCompleteSSTables()
> ------------------------------------------------------------
>
>                 Key: CASSANDRA-3154
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3154
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.0
>            Reporter: Tupshin Harper
>            Assignee: Tupshin Harper
>            Priority: Minor
>             Fix For: 1.0
>
>         Attachments: 3154.txt, CASSANDRA-3154.diff
>
>
> The equality check in isCompleteSSTables() always fails because it tries to call equals() with a Set and a List. This might result in failure to purge tombstones in some cases.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-3154) Bad equality check in ColumnFamilyStore.isCompleteSSTables()

Posted by "Benjamin Coverston (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-3154?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13099660#comment-13099660 ] 

Benjamin Coverston commented on CASSANDRA-3154:
-----------------------------------------------

The cardinality restriction of .isEqualCollection is probably more restrictive than we need, but this does indeed fix the existing shallow equality problem.

+1

> Bad equality check in ColumnFamilyStore.isCompleteSSTables()
> ------------------------------------------------------------
>
>                 Key: CASSANDRA-3154
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3154
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Tupshin Harper
>            Assignee: Tupshin Harper
>         Attachments: CASSANDRA-3154.diff
>
>
> The equality check in isCompleteSSTables() always fails because it tries to call equals() with a Set and a List. This might result in failure to purge tombstones in some cases.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-3154) Bad equality check in ColumnFamilyStore.isCompleteSSTables()

Posted by "Hudson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-3154?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13101126#comment-13101126 ] 

Hudson commented on CASSANDRA-3154:
-----------------------------------

Integrated in Cassandra #1093 (See [https://builds.apache.org/job/Cassandra/1093/])
    Remove wrongly added import (by CASSANDRA-3154)

slebresne : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1167078
Files : 
* /cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
* /cassandra/trunk/src/java/org/apache/cassandra/db/compaction/CompactionTask.java


> Bad equality check in ColumnFamilyStore.isCompleteSSTables()
> ------------------------------------------------------------
>
>                 Key: CASSANDRA-3154
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3154
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.0
>            Reporter: Tupshin Harper
>            Assignee: Tupshin Harper
>            Priority: Minor
>             Fix For: 1.0
>
>         Attachments: 3154.txt, CASSANDRA-3154.diff
>
>
> The equality check in isCompleteSSTables() always fails because it tries to call equals() with a Set and a List. This might result in failure to purge tombstones in some cases.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (CASSANDRA-3154) Bad equality check in ColumnFamilyStore.isCompleteSSTables()

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-3154?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis updated CASSANDRA-3154:
--------------------------------------

             Reviewer: bcoverston
             Priority: Minor  (was: Major)
    Affects Version/s: 1.0
        Fix Version/s: 1.0

> Bad equality check in ColumnFamilyStore.isCompleteSSTables()
> ------------------------------------------------------------
>
>                 Key: CASSANDRA-3154
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3154
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.0
>            Reporter: Tupshin Harper
>            Assignee: Tupshin Harper
>            Priority: Minor
>             Fix For: 1.0
>
>         Attachments: 3154.txt, CASSANDRA-3154.diff
>
>
> The equality check in isCompleteSSTables() always fails because it tries to call equals() with a Set and a List. This might result in failure to purge tombstones in some cases.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira