Closed muzarski closed 3 months ago
cql3
,native
- dummy parameters used in SCT. Cassandra-Stress acceptssimplenative
andthrift
modes which are obviously not supported by Rust driver. These two parameters are simply ignored but introduced so cassandra-stress commands can be easily replaced with cql-stress commands in SCT.
I'm not sure we should plainly ignore them. If we have some tests in SCT which use thrift then I think that cql-stress should return an error if one tries to pass this option - so that a test does not accidentally run with the CQL protocol.
connectionsPerHost=
,connectionsPerShard=
- the latter one is a bonus parameter introduced in cql-stress - previously introduced in
How does the original c-s with our fork of the driver treat connectionsPerHost
, does it work as one would imagine or is it ignored? Do we use this parameter in SCT intentionally?
cql3
,native
- dummy parameters used in SCT. Cassandra-Stress acceptssimplenative
andthrift
modes which are obviously not supported by Rust driver. These two parameters are simply ignored but introduced so cassandra-stress commands can be easily replaced with cql-stress commands in SCT.I'm not sure we should plainly ignore them. If we have some tests in SCT which use thrift then I think that cql-stress should return an error if one tries to pass this option - so that a test does not accidentally run with the CQL protocol.
we don't use thrift in SCT, it's deprecated for quite some time, I don't think it would ever be used.
connectionsPerHost=
,connectionsPerShard=
- the latter one is a bonus parameter introduced in cql-stress - previously introduced inHow does the original c-s with our fork of the driver treat
connectionsPerHost
, does it work as one would imagine or is it ignored? Do we use this parameter in SCT intentionally?
it works as describe, and we use it in SCT, in two test cases, in one of them to generate lots many connection as possible.
cql3
,native
- dummy parameters used in SCT. Cassandra-Stress acceptssimplenative
andthrift
modes which are obviously not supported by Rust driver. These two parameters are simply ignored but introduced so cassandra-stress commands can be easily replaced with cql-stress commands in SCT.I'm not sure we should plainly ignore them. If we have some tests in SCT which use thrift then I think that cql-stress should return an error if one tries to pass this option - so that a test does not accidentally run with the CQL protocol.
we don't use thrift in SCT, it's deprecated for quite some time, I don't think it would ever be used.
If that is the case, then it shouldn't be a problem to return an error when thrift
is provided. Maybe we can skip adding this parameter altogether.
In fact, I checked out the code of the PR and neither thrift
nor simplenative
appears anywhere in the code. So it looks like it's not that we parse the parameters but ignore them, but rather we decided to ignore the parameters by not implementing them. I think this is the right approach, but the wording in the PR description was confusing.
cql3
,native
- dummy parameters used in SCT. Cassandra-Stress acceptssimplenative
andthrift
modes which are obviously not supported by Rust driver. These two parameters are simply ignored but introduced so cassandra-stress commands can be easily replaced with cql-stress commands in SCT.I'm not sure we should plainly ignore them. If we have some tests in SCT which use thrift then I think that cql-stress should return an error if one tries to pass this option - so that a test does not accidentally run with the CQL protocol.
we don't use thrift in SCT, it's deprecated for quite some time, I don't think it would ever be used.
If that is the case, then it shouldn't be a problem to return an error when
thrift
is provided. Maybe we can skip adding this parameter altogether.In fact, I checked out the code of the PR and neither
thrift
norsimplenative
appears anywhere in the code. So it looks like it's not that we parse the parameters but ignore them, but rather we decided to ignore the parameters by not implementing them. I think this is the right approach, but the wording in the PR description was confusing.
Yes, sorry for the confusion. The part: These two parameters are simply ignored but introduced so cassandra-stress commands can be easily replaced with cql-stress commands in SCT.
of the description relate to cql3
and native
parameters which are ignored - not the thrift
and simplenative
.
Yes, sorry for the confusion. The part:
These two parameters are simply ignored but introduced so cassandra-stress commands can be easily replaced with cql-stress commands in SCT.
of the description relate tocql3
andnative
parameters which are ignored - not thethrift
andsimplenative
.
Then please rephrase the paragraph to be less ambiguous about this.
v2: rebased on top of master
v3: removed underscores from variable names
v4: addressed review comment
@piodul can we merge this one?
Motivation
Cassandra-stress supports
-mode
CLI option which configures the connection with database.Changes
In this PR we introduce only a part of CLI parameters supported by
-mode
option, which are broadly used in SCT:compression=
- specify a compression algorithm used for connections. Can be one of:lz4
,snappy
ornone
(no compression at all)user=
,password=
- they both specify user credentials for connectionsconnectionsPerHost=
,connectionsPerShard=
- the latter one is a bonus parameter introduced in cql-stress - previously introduced in https://github.com/scylladb/cql-stress/pull/55 as a-node
option parameter. These two parameters specify the number of opened connections per host and per shard respectively.cql3
,native
- dummy parameters used in SCT. These two parameters are simply ignored during the benchmark, but introduced so cassandra-stress commands can be easily replaced with cql-stress commands in SCT. Cassandra-Stress additionally acceptssimplenative
andthrift
modes which are not supported by Rust driver - we decided not to introduce them in cql-stress for obvious reasons.I decided not to introduce following parameters - I don't think they are any useful + they are not used in SCT at all:
unprepared
- force use of unprepared statementsauth-provider=?
- Fully qualified implementation of com.datastax.driver.core.AuthProvidermaxPending=?
- Maximum pending requests per connectionprotocolVersion=?
- CQL Protocol Versionport=?
- No description provided by cassandra-stress (?). From what I've seen in the code, the parameter is not used at all, just parsed. The default value is 9046 (any ideas?).