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

Collection of min/max timestamp during compaction seems unnecessarily imprecise

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Low
    • Resolution: Fixed
    • Fix Version/s: 1.2.4
    • Component/s: None
    • Labels:
      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

            • Assignee:
              slebresne Sylvain Lebresne
              Reporter:
              slebresne Sylvain Lebresne
              Authors:
              Sylvain Lebresne
              Reviewers:
              Jonathan Ellis
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: