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

Built-in 2i implementation applies updates non-deterministically

    XMLWordPrintableJSON

    Details

    • Severity:
      Normal

      Description

      Spotted by Chris Lohfink during CASSANDRA-14664 review, and confirmed by me and beobal separately.

      Keyspace.applyInternal() generates nowInSeconds from local time at the time of mutation application - which can happen at quite a delay from that mutation creation (think streaming path, hints, batchlog replay). That nowInSeconds value is later used by CassandraIndex Indexer to determine liveness of cells and also used for some of generated tombstones.

      Depending on when Keyspace.applyInternal() call happens, you'll see varying results in the internal 2i table, which sounds problematic. The values should be derived from the cells and liveness info in the partition updates exclusively.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                cnlwsu Chris Lohfink
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated: