aweisberg commented on code in PR #3568:
URL: https://github.com/apache/cassandra/pull/3568#discussion_r1779651707
##########
src/java/org/apache/cassandra/service/consensus/TransactionalMode.java:
##########
@@ -112,14 +121,25 @@ public ConsistencyLevel
commitCLForStrategy(ConsistencyLevel consistencyLevel)
return consistencyLevel;
}
- // TODO (required): This won't work for migration directly from none to
full because there is no safe system to read from
- // during the first phase (repair). Accord won't read correctly beacuse it
won't honor the CL and miss non-transactional writes that haven't been repaired
and non-transactional
- // reads will miss all the writes being routed through Accord since they
occur asynchronously. Something has to give here where either writes routed
through are Accord are synchronous at CL
- // or reads are routed through Accord and read at quorum as long as the
range has not completed the first phase (repair).
- public ConsistencyLevel readCLForStrategy(ConsistencyLevel
consistencyLevel)
+ private boolean ignoresSuppliedReadCL()
{
- if (ignoresSuppliedConsistencyLevel)
- return null;
+ return writesThroughAccord && blockingReadRepairThroughAccord;
Review Comment:
`ignoresSuppliedConsistencyLevel` is renamed to `ignoreSuppliedCommitCL` in
19437 I just didn't copy it.
The parameters to the transactional mode are what the mode is supposed to
do, while the methods on it are supposed to tell you what is supposed to happen
for an individual scenario or token at a given time. I'll do the rename here as
well.
--
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]