mansikhara opened a new pull request, #238:
URL: https://github.com/apache/cassandra-analytics/pull/238

   …r witness-enabled keyspaces
   
   Cassandra accepts a replication factor of the form <replicas>/<transient>, 
which witness replicas under mutation tracking reuse, so a witness-enabled 
keyspace declares 'datacenter1': '3/1' meaning three replicas of which one is a 
witness.
   
   CqlUtils.extractReplicationFactor() passed each datacenter value to 
Integer.parseInt, so a bulk read against any such keyspace failed during job 
setup with an uncaught NumberFormatException.
   
   Transient counts are now tracked per datacenter alongside the existing 
totals and exposed through getFullReplicationFactor(), 
getTransientReplicationFactor(), getFullReplicas(dc), getTransientReplicas(dc) 
and hasTransientReplicas(). getTotalReplicationFactor() keeps its existing 
meaning of all replicas including witnesses, so behaviour for untracked 
keyspaces is unchanged. Parsing applies the same constraints Cassandra enforces 
in locator.ReplicationFactor.validate. A new parseStrict factory reports an 
unparseable or empty replication map at parse time rather than dropping the 
datacenter and failing later with a misleading "DC not found in replication 
factor"; the lenient constructor is retained unchanged for CDC callers. The 
Kryo serializer and CassandraRing's hand-rolled JDK readObject/writeObject are 
updated so the new field survives serialization to Spark executors.
   
   Prerequisite for CASSANALYTICS-164.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to