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

Collection of min/max timestamp during compaction seems unnecessarily imprecise

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Low
    • Resolution: Fixed
    • 1.2.4
    • None
    • None

    Description

      In ColumnFamilyStore.createCompactionWriter() we have (for each sstable compacted):

                 sstableMetadataCollector.updateMinTimestamp(sstable.getMinTimestamp());
                 sstableMetadataCollector.updateMaxTimestamp(sstable.getMaxTimestamp());
      
      

      This means that the compacted sstable min (resp. max) timestamp can't be bigger (resp. smaller) than the min (resp. max) timestamp of the sstable used to create it. However, not only can't I find a reason for that, but I think this makes collecting very imprecise (not to say broken). Namely, we'll keep the lowest timestamp we have ever seen, which doesn't take overwrite into account. This also doesn't take deletes into account, and perhaps more importantly, this doesn't take LCS into account.

      Attachments

        1. 5373.txt
          1 kB
          Sylvain Lebresne

        Activity

          People

            slebresne Sylvain Lebresne
            slebresne Sylvain Lebresne
            Sylvain Lebresne
            Jonathan Ellis
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: