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

Erroneous partition deletion events are delivered to indexers

    XMLWordPrintableJSON

Details

    • 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

            samt Sam Tunnicliffe
            samt Sam Tunnicliffe
            Sam Tunnicliffe
            Sylvain Lebresne
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: