You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Carl Yeksigian (JIRA)" <ji...@apache.org> on 2015/08/05 19:09:05 UTC

[jira] [Created] (CASSANDRA-9995) Add background consistency mode for MV

Carl Yeksigian created CASSANDRA-9995:
-----------------------------------------

             Summary: Add background consistency mode for MV
                 Key: CASSANDRA-9995
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-9995
             Project: Cassandra
          Issue Type: New Feature
            Reporter: Carl Yeksigian


Currently, we only support a fast refresh mode which slows down writes, but brings the base and view to consistency quickly. It would be possible to keep reads and writes close to the same performance they have now by sacrificing the time to consistency.

The way this mode would work is:
- When data is flushed, the sstable is marked as inconsistent for MV
- Compaction can only run on either the set of sstables which are consistent, or the set of sstables which are inconsistent, but cannot mix the two
- A background job would take the sstables which are inconsistent and compare them to the current set which are consistent and generate the appropriate updates for the index to bring it up to date
- Any newly streamed sstables would be marked as inconsistent and would be included the next time the job ran

The background consistency job could be configured to run whenever a new sstable is flushed, or at certain time intervals.

By switching to a job which only looked at the flushed sstables, we wouldn't have to worry about the memtable updates which generate updates to the view but aren't recorded anywhere. We also wouldn't have to do any coordination at write time, use the batchlog for these writes, or issue any new updates when applying the MV update.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)