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

Built-in 2i implementation applies updates non-deterministically

    XMLWordPrintableJSON

Details

    • Normal

    Description

      Spotted by cnlwsu 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

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

              Dates

                Created:
                Updated: