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

Erroneous partition deletion events are delivered to indexers

    XMLWordPrintableJSON

    Details

    • Severity:
      Normal

      Description

      In AtomicBTreePartition#addAllWithSizeDelta we check update.deletionInfo().isLive() to determine whether the PartitionDeletion should be passed to the supplied IndexTransaction. This is incorrect and it results in the PartitionDeletion being passed on if either a partition delete or any range tombstones are present in the update.

      We need to change:

        if (!update.deletionInfo().isLive())
      

      to

        if (!update.deletionInfo().getPartitionDeletion().isLive())
      

      Note that the built-in indexes don't currently do anything with the deletionTime and so aren't affected, but any custom implementation which didn't examine it properly might remove data from its index where it shouldn't

        Attachments

          Activity

            People

            • Assignee:
              samt Sam Tunnicliffe
              Reporter:
              samt Sam Tunnicliffe
              Authors:
              Sam Tunnicliffe
              Reviewers:
              Sylvain Lebresne
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: