[
https://issues.apache.org/jira/browse/CASSANDRA-14335?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16463159#comment-16463159
]
Dinesh Joshi commented on CASSANDRA-14335:
------------------------------------------
[~jasobrown] I have updated my branch with an implementation that will be
threadsafe as well as performant. As part of this change, I am introducing
addition flags for {{nodetool clientstats}} command. We can use {{nodetool
clientstats --by-protocol}} to give you the list last 100 clients that the C*
process has seen for each protocol. I am deduping by IP address so you should
see unique IPs. You can clear this list by running {{nodetool clientstats
--clear-history}} to clear the history of all clients.
For posterity - [~jasobrown] and I had a conversation about the usefulness of
having this information. Although the existing {{nodetool clientstats --all}}
is sufficient to tell you what clients are _currently_ connected to the C*
process including the protocol version, this information is ephemeral. There
are many situations where an operator may miss intermittently connecting
clients for example - batch processes. Additionally, we can script around by
periodically invoking {{nodetool clientstats --all}} from external scripts but
that is sub-optimal for a variety of reasons - you can still miss intermittent
clients, you unnecessarily make calls over JMX. Storing this historical
information in the C* process means you wont miss intermittently connecting
clients and would be overall more efficient that going over JMX all the time.
> C* nodetool should report the lowest of the highest CQL protocol version
> supported by all clients connecting to it
> ------------------------------------------------------------------------------------------------------------------
>
> Key: CASSANDRA-14335
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14335
> Project: Cassandra
> Issue Type: Bug
> Reporter: Dinesh Joshi
> Assignee: Dinesh Joshi
> Priority: Major
>
> While upgrading C*, it makes it hard to tell whether any client will be
> affected if C* is upgraded. C* should internally store the highest protocol
> version of all clients connecting to it. The lowest supported version will
> help determining if any client will be adversely affected by the upgrade.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]