[
https://issues.apache.org/jira/browse/CASSANDRA-13043?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16477739#comment-16477739
]
ASF GitHub Bot commented on CASSANDRA-13043:
--------------------------------------------
Github user aweisberg commented on a diff in the pull request:
https://github.com/apache/cassandra/pull/224#discussion_r188452737
--- Diff: src/java/org/apache/cassandra/service/StorageProxy.java ---
@@ -1526,38 +1529,37 @@ protected Verb verb()
* is unclear we want to mix those latencies with read latencies, so
this
* may be a bit involved.
*/
- private static InetAddressAndPort findSuitableEndpoint(String
keyspaceName, DecoratedKey key, String localDataCenter, ConsistencyLevel cl)
throws UnavailableException
+ private static Replica findSuitableReplica(String keyspaceName,
DecoratedKey key, String localDataCenter, ConsistencyLevel cl) throws
UnavailableException
{
Keyspace keyspace = Keyspace.open(keyspaceName);
IEndpointSnitch snitch = DatabaseDescriptor.getEndpointSnitch();
- List<InetAddressAndPort> endpoints = new ArrayList<>();
- StorageService.instance.getLiveNaturalEndpoints(keyspace, key,
endpoints);
+ ReplicaList replicas =
StorageService.instance.getLiveNaturalReplicas(keyspace, key);
// CASSANDRA-13043: filter out those endpoints not accepting
clients yet, maybe because still bootstrapping
- endpoints.removeIf(endpoint ->
!StorageService.instance.isRpcReady(endpoint));
+ replicas = replicas.filter(replica ->
StorageService.instance.isRpcReady(replica.getEndpoint()));
--- End diff --
if isRpcReady were static you could avoid allocating the lambda.
> UnavailabeException caused by counter writes forwarded to leaders without
> complete cluster view
> -----------------------------------------------------------------------------------------------
>
> Key: CASSANDRA-13043
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13043
> Project: Cassandra
> Issue Type: Bug
> Components: Coordination
> Environment: Debian
> Reporter: Catalin Alexandru Zamfir
> Assignee: Stefano Ortolani
> Priority: Minor
> Fix For: 3.0.15, 3.11.1
>
> Attachments: 13043-3.0.patch, patch.diff
>
>
> In version 3.9 of Cassandra, we get the following exceptions on the
> system.log whenever booting an agent. They seem to grow in number with each
> reboot. Any idea where they come from or what can we do about them? Note that
> the cluster is healthy (has sufficient live nodes).
> {noformat}
> 2/14/2016 12:39:47 PMINFO 10:39:47 Updating topology for /10.136.64.120
> 12/14/2016 12:39:47 PMINFO 10:39:47 Updating topology for /10.136.64.120
> 12/14/2016 12:39:47 PMWARN 10:39:47 Uncaught exception on thread
> Thread[CounterMutationStage-111,5,main]: {}
> 12/14/2016 12:39:47 PMorg.apache.cassandra.exceptions.UnavailableException:
> Cannot achieve consistency level LOCAL_QUORUM
> 12/14/2016 12:39:47 PM at
> org.apache.cassandra.db.ConsistencyLevel.assureSufficientLiveNodes(ConsistencyLevel.java:313)
> ~[apache-cassandra-3.9.jar:3.9]
> 12/14/2016 12:39:47 PM at
> org.apache.cassandra.service.AbstractWriteResponseHandler.assureSufficientLiveNodes(AbstractWriteResponseHandler.java:146)
> ~[apache-cassandra-3.9.jar:3.9]
> 12/14/2016 12:39:47 PM at
> org.apache.cassandra.service.StorageProxy.performWrite(StorageProxy.java:1054)
> ~[apache-cassandra-3.9.jar:3.9]
> 12/14/2016 12:39:47 PM at
> org.apache.cassandra.service.StorageProxy.applyCounterMutationOnLeader(StorageProxy.java:1450)
> ~[apache-cassandra-3.9.jar:3.9]
> 12/14/2016 12:39:47 PM at
> org.apache.cassandra.db.CounterMutationVerbHandler.doVerb(CounterMutationVerbHandler.java:48)
> ~[apache-cassandra-3.9.jar:3.9]
> 12/14/2016 12:39:47 PM at
> org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:64)
> ~[apache-cassandra-3.9.jar:3.9]
> 12/14/2016 12:39:47 PM at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> ~[na:1.8.0_111]
> 12/14/2016 12:39:47 PM at
> org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$FutureTask.run(AbstractLocalAwareExecutorService.java:164)
> ~[apache-cassandra-3.9.jar:3.9]
> 12/14/2016 12:39:47 PM at
> org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$LocalSessionFutureTask.run(AbstractLocalAwareExecutorService.java:136)
> [apache-cassandra-3.9.jar:3.9]
> 12/14/2016 12:39:47 PM at
> org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:109)
> [apache-cassandra-3.9.jar:3.9]
> 12/14/2016 12:39:47 PM at java.lang.Thread.run(Thread.java:745)
> [na:1.8.0_111]
> 12/14/2016 12:39:47 PMWARN 10:39:47 Uncaught exception on thread
> Thread[CounterMutationStage-118,5,main]: {}
> 12/14/2016 12:39:47 PMorg.apache.cassandra.exceptions.UnavailableException:
> Cannot achieve consistency level LOCAL_QUORUM
> 12/14/2016 12:39:47 PM at
> org.apache.cassandra.db.ConsistencyLevel.assureSufficientLiveNodes(ConsistencyLevel.java:313)
> ~[apache-cassandra-3.9.jar:3.9]
> 12/14/2016 12:39:47 PM at
> org.apache.cassandra.service.AbstractWriteResponseHandler.assureSufficientLiveNodes(AbstractWriteResponseHandler.java:146)
> ~[apache-cassandra-3.9.jar:3.9]
> 12/14/2016 12:39:47 PM at
> org.apache.cassandra.service.StorageProxy.performWrite(StorageProxy.java:1054)
> ~[apache-cassandra-3.9.jar:3.9]
> 12/14/2016 12:39:47 PM at
> org.apache.cassandra.service.StorageProxy.applyCounterMutationOnLeader(StorageProxy.java:1450)
> ~[apache-cassandra-3.9.jar:3.9]
> 12/14/2016 12:39:47 PM at
> org.apache.cassandra.db.CounterMutationVerbHandler.doVerb(CounterMutationVerbHandler.java:48)
> ~[apache-cassandra-3.9.jar:3.9]
> 12/14/2016 12:39:47 PM at
> org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:64)
> ~[apache-cassandra-3.9.jar:3.9]
> 12/14/2016 12:39:47 PM at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> ~[na:1.8.0_111]
> 12/14/2016 12:39:47 PM at
> org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$FutureTask.run(AbstractLocalAwareExecutorService.java:164)
> ~[apache-cassandra-3.9.jar:3.9]
> 12/14/2016 12:39:47 PM at
> org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$LocalSessionFutureTask.run(AbstractLocalAwareExecutorService.java:136)
> [apache-cassandra-3.9.jar:3.9]
> 12/14/2016 12:39:47 PM at
> org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:109)
> [apache-cassandra-3.9.jar:3.9]
> 12/14/2016 12:39:47 PM at java.lang.Thread.run(Thread.java:745)
> [na:1.8.0_111]
> 12/14/2016 12:39:47 PMWARN 10:39:47 Uncaught exception on thread
> Thread[CounterMutationStage-164,5,main]: {}
> 12/14/2016 12:39:47 PMorg.apache.cassandra.exceptions.UnavailableException:
> Cannot achieve consistency level LOCAL_QUORUM
> 12/14/2016 12:39:47 PM at
> org.apache.cassandra.db.ConsistencyLevel.assureSufficientLiveNodes(ConsistencyLevel.java:313)
> ~[apache-cassandra-3.9.jar:3.9]
> 12/14/2016 12:39:47 PM at
> org.apache.cassandra.service.AbstractWriteResponseHandler.assureSufficientLiveNodes(AbstractWriteResponseHandler.java:146)
> ~[apache-cassandra-3.9.jar:3.9]
> 12/14/2016 12:39:47 PM at
> org.apache.cassandra.service.StorageProxy.performWrite(StorageProxy.java:1054)
> ~[apache-cassandra-3.9.jar:3.9]
> 12/14/2016 12:39:47 PM at
> org.apache.cassandra.service.StorageProxy.applyCounterMutationOnLeader(StorageProxy.java:1450)
> ~[apache-cassandra-3.9.jar:3.9]
> 12/14/2016 12:39:47 PM at
> org.apache.cassandra.db.CounterMutationVerbHandler.doVerb(CounterMutationVerbHandler.java:48)
> ~[apache-cassandra-3.9.jar:3.9]
> 12/14/2016 12:39:47 PM at
> org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:64)
> ~[apache-cassandra-3.9.jar:3.9]
> 12/14/2016 12:39:47 PM at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> ~[na:1.8.0_111]
> 12/14/2016 12:39:47 PM at
> org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$FutureTask.run(AbstractLocalAwareExecutorService.java:164)
> ~[apache-cassandra-3.9.jar:3.9]
> 12/14/2016 12:39:47 PM at
> org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$LocalSessionFutureTask.run(AbstractLocalAwareExecutorService.java:136)
> [apache-cassandra-3.9.jar:3.9]
> 12/14/2016 12:39:47 PM at
> org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:109)
> [apache-cassandra-3.9.jar:3.9]
> 12/14/2016 12:39:47 PM at java.lang.Thread.run(Thread.java:745)
> [na:1.8.0_111]
> 12/14/2016 12:39:47 PMWARN 10:39:47 Uncaught exception on thread
> Thread[CounterMutationStage-117,5,main]: {}
> 12/14/2016 12:39:47 PMorg.apache.cassandra.exceptions.UnavailableException:
> Cannot achieve consistency level LOCAL_QUORUM
> 12/14/2016 12:39:47 PM at
> org.apache.cassandra.db.ConsistencyLevel.assureSufficientLiveNodes(ConsistencyLevel.java:313)
> ~[apache-cassandra-3.9.jar:3.9]
> 12/14/2016 12:39:47 PM at
> org.apache.cassandra.service.AbstractWriteResponseHandler.assureSufficientLiveNodes(AbstractWriteResponseHandler.java:146)
> ~[apache-cassandra-3.9.jar:3.9]
> 12/14/2016 12:39:47 PM at
> org.apache.cassandra.service.StorageProxy.performWrite(StorageProxy.java:1054)
> ~[apache-cassandra-3.9.jar:3.9]
> 12/14/2016 12:39:47 PM at
> org.apache.cassandra.service.StorageProxy.applyCounterMutationOnLeader(StorageProxy.java:1450)
> ~[apache-cassandra-3.9.jar:3.9]
> 12/14/2016 12:39:47 PM at
> org.apache.cassandra.db.CounterMutationVerbHandler.doVerb(CounterMutationVerbHandler.java:48)
> ~[apache-cassandra-3.9.jar:3.9]
> 12/14/2016 12:39:47 PM at
> org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:64)
> ~[apache-cassandra-3.9.jar:3.9]
> 12/14/2016 12:39:47 PM at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> ~[na:1.8.0_111]
> 12/14/2016 12:39:47 PM at
> org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$FutureTask.run(AbstractLocalAwareExecutorService.java:164)
> ~[apache-cassandra-3.9.jar:3.9]
> 12/14/2016 12:39:47 PM at
> org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$LocalSessionFutureTask.run(AbstractLocalAwareExecutorService.java:136)
> [apache-cassandra-3.9.jar:3.9]
> 12/14/2016 12:39:47 PM at
> org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:109)
> [apache-cassandra-3.9.jar:3.9]
> 12/14/2016 12:39:47 PM at java.lang.Thread.run(Thread.java:745)
> [na:1.8.0_111]
> {noformat}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]