Github user bdeggleston commented on a diff in the pull request:
https://github.com/apache/cassandra/pull/224#discussion_r194793477
--- Diff:
src/java/org/apache/cassandra/service/reads/AbstractReadExecutor.java ---
@@ -269,24 +272,26 @@ public void executeAsync()
{
// if CL + RR result in covering all replicas, getReadExecutor
forces AlwaysSpeculating. So we know
// that the last replica in our list is "extra."
- List<InetAddressAndPort> initialReplicas =
targetReplicas.subList(0, targetReplicas.size() - 1);
+ ReplicaList initialReplicas = targetReplicas.subList(0,
targetReplicas.size() - 1);
+
+ Replicas.checkFull(initialReplicas);
if (handler.blockfor < initialReplicas.size())
{
// We're hitting additional targets for read repair.
Since our "extra" replica is the least-
// preferred by the snitch, we do an extra data read to
start with against a replica more
// likely to reply; better to let RR fail than the entire
query.
- makeDataRequests(initialReplicas.subList(0, 2));
+ makeDataRequests(initialReplicas.subList(0,
2).asEndpoints());
--- End diff --
fixed
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]