cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stefania (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-12212) system.compactions_in_progress needs to be used on first upgrade to 3.0
Date Tue, 02 Aug 2016 02:33:20 GMT


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:
>             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

View raw message