mirror of https://github.com/apache/cassandra
Fix assertion error in CL.ANY timeout handling
patch by Aleksey Yeschenko; reviewed by Jonathan Ellis for CASSANDRA-7364
This commit is contained in:
parent
760441ba0f
commit
afa304e338
|
|
@ -1,4 +1,5 @@
|
|||
2.0.9
|
||||
* Fix assertion error in CL.ANY timeout handling (CASSANDRA-7364)
|
||||
* Handle empty CFs in Memtable#maybeUpdateLiveRatio() (CASSANDRA-7401)
|
||||
* Fix native protocol CAS batches (CASSANDRA-7337)
|
||||
* Add per-CF range read request latency metrics (CASSANDRA-7338)
|
||||
|
|
|
|||
|
|
@ -487,7 +487,12 @@ public class StorageProxy implements StorageProxyMBean
|
|||
List<InetAddress> naturalEndpoints = StorageService.instance.getNaturalEndpoints(mutation.getKeyspaceName(), tk);
|
||||
Collection<InetAddress> pendingEndpoints = StorageService.instance.getTokenMetadata().pendingEndpointsFor(tk, mutation.getKeyspaceName());
|
||||
for (InetAddress target : Iterables.concat(naturalEndpoints, pendingEndpoints))
|
||||
submitHint((RowMutation) mutation, target, null);
|
||||
{
|
||||
// local writes can timeout, but cannot be dropped (see LocalMutationRunnable and
|
||||
// CASSANDRA-6510), so there is no need to hint or retry
|
||||
if (!target.equals(FBUtilities.getBroadcastAddress()) && shouldHint(target))
|
||||
submitHint((RowMutation) mutation, target, null);
|
||||
}
|
||||
}
|
||||
Tracing.trace("Wrote hint to satisfy CL.ANY after no replicas acknowledged the write");
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue