Mansi Khara created CASSANALYTICS-194:
-----------------------------------------
Summary: Parse <replicas>/<transient> replication factor for
witness-enabled keyspaces.
Key: CASSANALYTICS-194
URL: https://issues.apache.org/jira/browse/CASSANALYTICS-194
Project: Apache Cassandra Analytics
Issue Type: Improvement
Reporter: Mansi Khara
Assignee: Mansi Khara
Adds support for the <replicas>/<transient> replication factor form, which
witness replicas under mutation tracking reuse. A witness enabled keyspace
declares 'datacenter1': '3/1', which means 3 replicas where 1 is a witness.
Earlier CqlUtils.extractReplicationFactor() passed each value to
Integer.parseInt, so a bulk read on any such keyspace failed at job setup with
an uncaught NumberFormatException. We now track the transient count per
datacenter and expose the full and transient counts through new accessors.
getTotalReplicationFactor() still returns all replicas including witnesses, so
nothing changes for untracked keyspaces. Validation matches what Cassandra does
in locator.ReplicationFactor.validate. A new parseStrict factory reports a bad
or empty replication map right away instead of dropping the datacenter and
failing later with a confusing "DC not found in replication factor". The Kryo
and CassandraRing JDK serializers are updated so the new field is not lost when
it goes to Spark executors.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]