Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-14103

Fix potential race during compaction strategy reload

    XMLWordPrintableJSON

Details

    Description

      When the compaction strategies are reloaded after disk boundary changes (CASSANDRA-13948), it's possible that a recently finished SSTable is added twice to the compaction strategy: once when the compaction strategies are reloaded due to the disk boundary change (maybeReloadDiskBoundarie), and another when the CompactionStrategyManager is processing the SSTableAddedNotification.

      This should be quite unlikely because a compaction must finish as soon as the disk boundary changes, and even if it happens most compaction strategies would not be affected by it since they deduplicate sstables internally, but we should protect against such scenario.

      For more context see this comment from Marcus.

      Attachments

        1. trunk-14103-testall.png
          68 kB
          Paulo Motta
        2. trunk-14103-dtest.png
          22 kB
          Paulo Motta
        3. 3.11-14103-testall.png
          9 kB
          Paulo Motta
        4. 3.11-14103-dtest.png
          58 kB
          Paulo Motta

        Issue Links

          Activity

            People

              marcuse Marcus Eriksson
              pauloricardomg Paulo Motta
              Marcus Eriksson
              Blake Eggleston
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: