Blake Eggleston created CASSANDRA-19009:
-------------------------------------------

             Summary: CEP-15: (C*/Accord)  Schema based fast path 
reconfiguration
                 Key: CASSANDRA-19009
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-19009
             Project: Cassandra
          Issue Type: Improvement
          Components: Accord
            Reporter: Blake Eggleston


This adds availability aware accord fast path reconfiguration, as well as user 
configurable fast path settings, which are set at the keyspace level and 
(optionally) at the table level for increased granularity.

The major parts are:

*Add availability information to cluster metadata*

Accord topology in C* is not stored in cluster metadata, but is meant to 
calculated deterministically from cluster metadata state at a given epoch. This 
adds the availability data, as well as the failure detector / gossip listener 
and state change deduplication to CMS.

*Move C* accord keys/topology from keyspace prefixes to tableid prefixes*

To support per-table fast path settings, topologies and keys need to include 
the table id. Since accord topologies could begin to consume a lot of memory in 
clusters with a lot of nodes and tables, topology generation has been updated 
to reuse previously allocated shards / shard parts where possible, which will 
only increase heap sizes when things actually change.

*Make fast path settings configurable via schema*

There are 2.5 strategies: Simple, Parameterized, and InheritKeyspaceSettings. 
Simple will use as many available nodes as possible for the fast path 
electorate, this is the default for the keyspace fast path strategy. 
Parameterized allows you to set a target size, and preferred datacenters for 
the FP electorate. InheritKeyspace tells topology generation to just use the 
keyspace fast path settings, and is the default for the table fast path 
strategy.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to