Cassandra driver_name in system.clients
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.
Regards, Vladimir
@avelanarius is there a reason not to change it? Maybe somebody depends on the name being like this?
Why is the string in code different from the one in the screenshot?
I think it should be changed to reflect it's the Scylla fork of the driver.
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.
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) andJava 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.
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?
In python driver it's called: "Scylla Python Driver"
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'.
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.