[ 
https://issues.apache.org/jira/browse/CASSANDRA-12212?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15403252#comment-15403252
 ] 

Stefania commented on CASSANDRA-12212:
--------------------------------------

I understood that local shards can remain in the system potentially forever. My 
point was that if they do get overridden, then it would be with a global shard, 
and therefore in a potential interrupted compaction we'd have one local shard 
in one sstable and one global shard in another sstable, resolved to the global 
shard in the compacted sstable. If we restarted in 3.0 with these 3 sstables 
still around, the global shard would prevail in a read operation and so no harm 
in having both old and new sstables. 

The only potential scenario is two local shards, for the same counter, present 
into two different sstables, which were never compacted and hence unlikely to 
be present in an interrupted compaction just before the upgrade to 3.0.

To implement this, it is mostly a copy and paste exercise, the trickiest part 
is to design a test for it. However, I think the benefits are limited, given 
that it is a rare scenario, and besides a nodetool drain will stop compactions, 
and the time interval between the deletion of the compactions_in_progress entry 
and the deletion of old sstable files is still not covered by the 
compactions_in_progress entry.

So my inclination is to close this as won't fix, but if people think we should 
still read compactions_in_progress when upgrading to 3.0, then we can do so.

> system.compactions_in_progress needs to be used on first upgrade to 3.0
> -----------------------------------------------------------------------
>
>                 Key: CASSANDRA-12212
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-12212
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Compaction
>            Reporter: Jeremiah Jordan
>            Assignee: Stefania
>             Fix For: 3.0.x, 3.x
>
>
> CASSANDRA-7066 removed the system.compactions_in_progress table and replaced 
> it with the new transaction system.  But system.compactions_in_progress needs 
> to be consulted for the first startup after upgrading from 2.1 to 3.0.



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

Reply via email to