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

Post-compaction cache preheating can result in FileNotFoundExceptions when tables are dropped

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Low
    • Resolution: Fixed
    • Fix Version/s: 2.0.9
    • Component/s: None
    • Labels:
    • Severity:
      Low

      Description

      In CompactionTask.java, after a compaction finishes, we do this:

              replaceCompactedSSTables(toCompact, sstables);
              // TODO: this doesn't belong here, it should be part of the reader to load when the tracker is wired up
              for (SSTableReader sstable : sstables)
                  sstable.preheat(cachedKeyMap.get(sstable.descriptor));
      

      The problem is that if the table was dropped, replaceCompactedSSTables will release its references on the new sstables, resulting in them being closed.

        Attachments

          Activity

            People

            • Assignee:
              marcuse Marcus Eriksson
              Reporter:
              thobbs Tom Hobbs
              Authors:
              Marcus Eriksson
              Reviewers:
              Tom Hobbs
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: