java-driver icon indicating copy to clipboard operation
java-driver copied to clipboard

Cassandra driver_name in system.clients

Open vbazhmin opened this issue 1 year ago • 9 comments

Hello,

While traversing several databases I noticed that it might be useful to see which driver used by a client.

For the current moment this value used to fill the driver_name column in system.clients table.

https://github.com/scylladb/java-driver/blob/9fe1e03f1dc5380c517f5903cb1e78689566df96/driver-core/src/main/java/com/datastax/driver/core/Requests.java#L45

This is ambiguous in situations when you're doing migration from Cassandra to Scylla.

image

Regards, Vladimir

vbazhmin avatar May 17 '24 08:05 vbazhmin

@avelanarius is there a reason not to change it? Maybe somebody depends on the name being like this?

Bouncheck avatar Jun 13 '24 09:06 Bouncheck

Why is the string in code different from the one in the screenshot?

Bouncheck avatar Jun 13 '24 09:06 Bouncheck

I think it should be changed to reflect it's the Scylla fork of the driver.

mykaul avatar Jun 13 '24 10:06 mykaul

What name should we go with? I see several occurences of Scylla Java Driver for Scylla and Apache Cassandra®, Scylla Java Driver (both mainly in doc files) and Java driver for Scylla and Apache Cassandra(R) (in pom.xml files).

I've been told that there is also a version in this table. In that case version number should directly indicate if we deal with Scylla version of the driver. AFAIK our versions have 4 parts (e.g. 3.11.5.2, 4.17.0.1) while upstream versions have 3.

Bouncheck avatar Jun 13 '24 11:06 Bouncheck

What name should we go with? I see several occurences of Scylla Java Driver for Scylla and Apache Cassandra®, Scylla Java Driver (both mainly in doc files) and Java driver for Scylla and Apache Cassandra(R) (in pom.xml files).

I've been told that there is also a version in this table. In that case version number should directly indicate if we deal with Scylla version of the driver. AFAIK our versions have 4 parts (e.g. 3.11.5.2, 4.17.0.1) while upstream versions have 3.

First it should be a single name, if possible. So if we have several, let's try to get a single one. Let's compare it to other drivers (Pyton, GoCQL) and try to standardize. The driver version should indeed have 4 parts.

mykaul avatar Jun 13 '24 11:06 mykaul

This is an issue for reporting and creating customer reports and advice. Can we resolve this by calling out Scylla in the driver name for all drivers?

ManjotS avatar Jun 13 '24 15:06 ManjotS

In python driver it's called: "Scylla Python Driver"

roydahan avatar Jun 13 '24 17:06 roydahan

Perhaps 'Scylla Java Driver' is more appropriate, other driver names that we use are indeed 'Scylla Python Driver', and 'scylla-rust-driver', 'github.com/gocql/gocql', 'Scylla Shard-Aware C/C++ Driver'.

vreniers avatar Jun 17 '24 07:06 vreniers

Let's go with ScyllaDB Java Driver then. IIRC at one point we were making documentation changes from Scylla to ScyllaDB so I'm assuming it's preferred over sole 'Scylla'. I'll make the PRs soon.

Bouncheck avatar Jul 30 '24 10:07 Bouncheck