[ 
https://issues.apache.org/jira/browse/CASSANDRA-14275?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16397876#comment-16397876
 ] 

Dinesh Joshi commented on CASSANDRA-14275:
------------------------------------------

Hi [~iamaleksey],

I have resolved all issues in your feedback. Regarding #4 - My original thought 
was that driver info (name, version, etc.) should ideally be set at the same 
time.  I split this into two methods now. Now calling {{setDriverVersion}} 
without first calling {{setDriverName}} causes a silent failure. I am not sure 
how you'd like to handle this situation? I can throw a {{ProtocolException}} 
but I'm not sure. I'll defer the decision to you.

Here's how the output looks with clients that supply the information -

{noformat}
16:44 $ ./bin/nodetool clientstats --all
Address          SSL   Version User      Keyspace Requests Driver-Name          
Driver-Version
/127.0.0.1:51029 false 4       anonymous          12       DataStax Java Driver 
3.4.1-SNAPSHOT
/127.0.0.1:51030 false 4       anonymous          2        DataStax Java Driver 
3.4.1-SNAPSHOT

Total connected clients: 2

User      Connections
anonymous 2
{noformat}

Some clients may not support sending driver information -

{noformat}
16:47 $ ./bin/nodetool clientstats --all
Address          SSL   Version User      Keyspace Requests Driver-Name          
Driver-Version
/127.0.0.1:51029 false 4       anonymous          14       DataStax Java Driver 
3.4.1-SNAPSHOT
/127.0.0.1:51460 false 4       anonymous          13       undefined            
undefined
/127.0.0.1:51030 false 4       anonymous          4        DataStax Java Driver 
3.4.1-SNAPSHOT
/127.0.0.1:51461 false 4       anonymous          2        undefined            
undefined

Total connected clients: 4

User      Connections
anonymous 4
{noformat}

> Cassandra Driver should send identification information to Server
> -----------------------------------------------------------------
>
>                 Key: CASSANDRA-14275
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-14275
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Dinesh Joshi
>            Assignee: Dinesh Joshi
>            Priority: Major
>             Fix For: 4.x
>
>
> Currently there doesn't seem to be any way to readily identify the driver 
> that clients are using to connect to Cassandra. Add the capability of 
> identifying the driver through metadata information much like how HTTP 
> Clients identify themselves through User-Agent HTTP header. This is useful 
> for debugging in large deployments where clients tend to use different 
> drivers, wrappers and language bindings to connect to Cassandra. This can 
> help surface issues as well as help detect clients which are using older or 
> unsupported drivers.
> The identification information should be a string that unambiguously 
> identifies the driver. It should include information such as the name of the 
> driver, it's version, CQL version, Platform (Linux, macOS, Windows, etc.) and 
> architecture (x86, x86_64).
> We should surface this information in `nodetool clientstats` command.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to