You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Ruoran Wang (JIRA)" <ji...@apache.org> on 2016/04/12 03:41:25 UTC

[jira] [Updated] (CASSANDRA-11548) Anticompaction not removing old sstables

     [ https://issues.apache.org/jira/browse/CASSANDRA-11548?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ruoran Wang updated CASSANDRA-11548:
------------------------------------
    Description: 
1. 12/29/15 https://issues.apache.org/jira/browse/CASSANDRA-10831
Moved markCompactedSSTablesReplaced out of the loop ```for (SSTableReader sstable : repairedSSTables)```

2. 1/18/16 https://issues.apache.org/jira/browse/CASSANDRA-10829
Added unmarkCompacting into the loop. ```for (SSTableReader sstable : repairedSSTables)```

I think the effect of those above change might cause the markCompactedSSTablesReplaced fail on 

DataTracker.java
{noformat}
           assert newSSTables.size() + newShadowed.size() == newSSTablesSize :
                String.format("Expecting new size of %d, got %d while replacing %s by %s in %s",
                          newSSTablesSize, newSSTables.size() + newShadowed.size(), oldSSTables, replacements, this);
{noformat}

Since change CASSANDRA-10831 moved it out. This AssertError won't be caught, leaving the oldsstables not removed. (Then this might cause row out of order error when doing incremental repair if there are L1 un-repaired sstables.)

  was:
1. 12/29/15 https://issues.apache.org/jira/browse/CASSANDRA-10831
Moved markCompactedSSTablesReplaced out of the loop ```for (SSTableReader sstable : repairedSSTables)```

2. 1/18/16 https://issues.apache.org/jira/browse/CASSANDRA-10829
Added unmarkCompacting into the loop. ```for (SSTableReader sstable : repairedSSTables)```

I think the effect of those above change might cause the markCompactedSSTablesReplaced fail on 

DataTracker.java
```
            assert newSSTables.size() + newShadowed.size() == newSSTablesSize :
                String.format("Expecting new size of %d, got %d while replacing %s by %s in %s",
                          newSSTablesSize, newSSTables.size() + newShadowed.size(), oldSSTables, replacements, this);
```

Since change CASSANDRA-10831 moved it out. This AssertError won't be caught, leaving the oldsstables not removed. (Then this might cause row out of order error when doing incremental repair if there are L1 un-repaired sstables.)


> Anticompaction not removing old sstables
> ----------------------------------------
>
>                 Key: CASSANDRA-11548
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-11548
>             Project: Cassandra
>          Issue Type: Bug
>         Environment: 2.1.13
>            Reporter: Ruoran Wang
>
> 1. 12/29/15 https://issues.apache.org/jira/browse/CASSANDRA-10831
> Moved markCompactedSSTablesReplaced out of the loop ```for (SSTableReader sstable : repairedSSTables)```
> 2. 1/18/16 https://issues.apache.org/jira/browse/CASSANDRA-10829
> Added unmarkCompacting into the loop. ```for (SSTableReader sstable : repairedSSTables)```
> I think the effect of those above change might cause the markCompactedSSTablesReplaced fail on 
> DataTracker.java
> {noformat}
>            assert newSSTables.size() + newShadowed.size() == newSSTablesSize :
>                 String.format("Expecting new size of %d, got %d while replacing %s by %s in %s",
>                           newSSTablesSize, newSSTables.size() + newShadowed.size(), oldSSTables, replacements, this);
> {noformat}
> Since change CASSANDRA-10831 moved it out. This AssertError won't be caught, leaving the oldsstables not removed. (Then this might cause row out of order error when doing incremental repair if there are L1 un-repaired sstables.)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)