[
https://issues.apache.org/jira/browse/CASSANDRA-20891?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Blake Eggleston updated CASSANDRA-20891:
----------------------------------------
Fix Version/s: NA
Source Control Link:
https://github.com/apache/cassandra/commit/6067fb62a779ce9fd1a4c8fb21ff585047865301
Resolution: Fixed
Status: Resolved (was: Ready to Commit)
> CEP-45: Support host replacement with tracked keyspaces
> -------------------------------------------------------
>
> Key: CASSANDRA-20891
> URL: https://issues.apache.org/jira/browse/CASSANDRA-20891
> Project: Apache Cassandra
> Issue Type: Improvement
> Components: Consistency/Streaming
> Reporter: Blake Eggleston
> Assignee: Blake Eggleston
> Priority: Normal
> Fix For: NA
>
>
> Host replacement is the simplest topology change to make since there is token
> movement. Contrary to the initial design, topology changes shouldn't need the
> bulk transfer mechanism. SSTables streamed in will either be fully
> reconciled, or contain an sstable component describing which ids they
> contain. We can populate the new node's view of mutations it has witnessed
> from this (and the writes it receives during it's time in a pending state).
> Fully reconciled should be discovered via offsets broadcasting, and this
> should put the node in the right state to start handling reads once streaming
> completes.
> Main changes are:
> * Streaming path
> ** Need to add sstable offsets to mutation tracking service as replicated.
> * Read path
> ** Pull mutation rejection
> *** Since we'll be advertising offsets that we only have in sstable form, we
> will have to reject some mutation pull requests. This will need to be
> gracefully handled by read coordinator
> ** Durability update
> *** Node needs to know which mutations it has in sstables and/or are fully
> reconciled even without log entries across restarts
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]