[
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: [email protected]
For additional commands, e-mail: [email protected]