[ https://issues.apache.org/jira/browse/CASSANDRA-18935?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17786922#comment-17786922 ]
Brandon Williams commented on CASSANDRA-18935: ---------------------------------------------- bq. Does this mean after this change, if a cluster has multiple nodes binary disabled for some reason, for certain partitions, the counter update will always get UnavailableException because all the replica nodes are not "RPC_READY"? I believe it does mean we will throw UE because the 13043 code is still active [here|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/service/StorageProxy.java#L1764]. It is rather unfortunate that counters have misused this, forcing us to claim rpc is ready regardless of the actual state, but I think that's what we have to do, never set it to false once it has been set to true unless decom/drain, as you said. > Fix nodetool enable/disablebinary to correctly set rpc > ------------------------------------------------------ > > Key: CASSANDRA-18935 > URL: https://issues.apache.org/jira/browse/CASSANDRA-18935 > Project: Cassandra > Issue Type: Bug > Components: Legacy/Core, Legacy/CQL > Reporter: Cameron Zemek > Assignee: Stefan Miklosovic > Priority: Normal > Fix For: 3.0.30, 3.11.17, 4.0.12, 4.1.4, 5.0-alpha2, 5.0, 5.1 > > Attachments: 18935-3.11.patch, image-2023-11-16-10-56-16-693.png > > Time Spent: 2h 20m > Remaining Estimate: 0h > > > {code:java} > if ((nativeFlag != null && Boolean.parseBoolean(nativeFlag)) || > (nativeFlag == null && DatabaseDescriptor.startNativeTransport())) > { > startNativeTransport(); > StorageService.instance.setRpcReady(true); > } {code} > The startup code here only sets RpcReady if native transport is enabled. If > you call > {code:java} > nodetool enablebinary{code} > then this flag doesn't get set. > But with the change from CASSANDRA-13043 it requires RpcReady set to true in > order to get a leader for the counter update. > Not sure what the correct fix is here, seems to only really use this flag for > counters. So thinking perhaps the fix is to just move this outside the if > condition. > -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org