scylladb / cql-stress

8 stars 4 forks source link

c-s frontend - User profile support #61

Open roydahan opened 8 months ago

roydahan commented 8 months ago

I know it's on the roadmap but I couldn't find any open issue for it (but if I missed, please close as duplicate).

We would like to have the ability to run cql-stress same as running cassandra-stress with a custom "user profile". An improvement on top of cassandra-stress should be an actual data validation that is currently missing there. (It can come in a later phase, but probably should be taken into account during initial design).

### Tasks
- [ ] https://github.com/scylladb/cql-stress/issues/72
- [ ] https://github.com/scylladb/cql-stress/issues/90
- [ ] https://github.com/scylladb/cql-stress/issues/91
- [ ] https://github.com/scylladb/cql-stress/issues/92
roydahan commented 8 months ago

Unlike c-s (at least at the moment) which doesn't support UDTs in the user-profile, we will need cql-stress to support them. It can be in a separate task if needed.

mykaul commented 3 months ago

How is this item related to https://github.com/scylladb/cql-stress/issues/72 ?

roydahan commented 3 months ago

This can be used as the "EPIC" for the newer one which is the first step.

mykaul commented 3 months ago

Please add an 'epic' lablel.

roydahan commented 3 months ago

@fruch from your experience with what we tried to achieve in latte, do you see more requirements that needs to be specifically defined in the above task list?

fruch commented 3 months ago

@fruch from your experience with what we tried to achieve in latte, do you see more requirements that needs to be specifically defined in the above task list?

It's not just UDT, but all types, set, hashmap

@vponomaryov can share the list of things he has done for latte

vponomaryov commented 3 months ago

@fruch from your experience with what we tried to achieve in latte, do you see more requirements that needs to be specifically defined in the above task list?

It's not just UDT, but all types, set, hashmap

@vponomaryov can share the list of things he has done for latte

About types: I added support for the UDT, set, map and timestamp in the latte tool. There was some part already supported and only one collection type among them - list. There are list CQL types to be added to the latte (which are supported by rust driver): counter, date, decimal, duration, float, inet, time, timeuuid, variant and tuple.

About more requirements: It should have possibility to configure retries - their count and interval (already did it for latte, may be used as a reference).

Note that data validation is absent in latte too.