Benedict created CASSANDRA-8987:
-----------------------------------
Summary: cassandra-stress should support a more complex client
model
Key: CASSANDRA-8987
URL: https://issues.apache.org/jira/browse/CASSANDRA-8987
Project: Cassandra
Issue Type: Improvement
Components: Tools
Reporter: Benedict
Assignee: Benedict
Orthogonal to CASSANDRA-8986, but still very important, is stress' simulation
of clients: currently we assume a fixed number of clients performing infinite
synchronous work, whereas, as I
[argued|https://groups.google.com/forum/#!topic/mechanical-sympathy/icNZJejUHfE%5B101-125%5D]
on the mechanical sympathy mailing list, the correct model is to have a new
client arrival distribution and a distinct client model. Ideally, however, I
would like to expand this to support client models that can simulate
multi-table "transactions", with both synchronous and asynchronous steps. So,
let's say we have three tables T1, T2, T3, we could say something like:
A client performs:
* a registration by insert to T1 (and/or perhaps lookup in T1), multiple
inserts to T2 and T2, in parallel
* followed by a number of queries on T3
Probably the best way to achieve this is with a tiered "transaction" definition
that can be composed, so that any single query or insert is a "transaction"
that itself may be sequentially or in parallel composed with any other to
compose a new macro transaction. This would then be combined with a client
arrival rate distribution to produce a total cluster workload.
At least one remaining question is if we want the operations to be data
dependent, in which case this may well interact with CASSANDRA-8986, and
probably requires a little thought. [~jshook] [~jeromatron] [~mstump]
[~tupshin] thoughts on this?
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)