Github user ifesdjeen commented on a diff in the pull request:
https://github.com/apache/cassandra/pull/269#discussion_r219410357
--- Diff: src/java/org/apache/cassandra/dht/RangeStreamer.java ---
@@ -446,16 +447,14 @@ else if (useStrictConsistency)
//The old behavior where we might be asked to
fetch ranges we don't need shouldn't occur anymore.
//So it's an error if we don't find what we need.
if (oldEndpoints.isEmpty() &&
toFetch.isTransient())
- {
throw new AssertionError("If there are no
endpoints to fetch from then we must be transitioning from transient to full
for range " + toFetch);
- }
- if (!any(oldEndpoints, isSufficient))
+ if (toFetch.isFull() && (oldEndpoints.isEmpty()
|| oldEndpoints.get(0).isTransient()))
{
// need an additional replica
EndpointsForRange endpointsForRange =
sorted.apply(rangeAddresses.get(range));
// include all our filters, to ensure we
include a matching node
- Optional<Replica> fullReplica =
Iterables.<Replica>tryFind(endpointsForRange, and(isSufficient,
testSourceFilters)).toJavaUtil();
+ Optional<Replica> fullReplica =
Iterables.<Replica>tryFind(endpointsForRange, and(Replica::isFull,
testSourceFilters)).toJavaUtil();
--- End diff --
Switched back to `isSufficient` here
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]