[ 
https://issues.apache.org/jira/browse/CASSANDRA-14618?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Marcus Eriksson updated CASSANDRA-14618:
----------------------------------------
    Status: Patch Available  (was: Open)

https://github.com/krummas/cassandra/commits/marcuse/14618 (on top of 
CASSANDRA-14656)

example run;
{code}
$ ccm create -n3 fql
$ ccm start
$ for x in 1 2 3; do ccm node$x nodetool "enablefullquerylog --path 
/tmp/fql3/node$x"; done
$ tools/bin/cassandra-stress write n=100k -rate threads=64 -schema 
replication\(factor=3\)
$ for x in 1 2 3; do ccm node$x nodetool disablefullquerylog; done
$ ccm remove
## start separate cassandra clusters on 127.0.0.1 and 192.168.1.51
$ bin/fqltool replay --target 127.0.0.1 --target 192.168.1.51 --results 
/tmp/results /tmp/fql2/node1 /tmp/fql2/node2 /tmp/fql2/node3
... output
{code}
Example mismatch:
{code}
MISMATCH:
Query = Query = SELECT schema_version FROM system.local WHERE key='local', 
Options = 
QueryOptions.DefaultQueryOptions[consistency=ONE,values=[],skipMetadata=false,options=org.apache.cassandra.cql3.QueryOptions$SpecificOptions@48b696e1,jsonValuesCache=<null>],
 Values =
Results:
127.0.0.1: schema_version:uuid:cbfc4bb5a9b33706a22f6aebfd6f8737,
192.168.1.51: schema_version:uuid:7fca82ddb86f396380ba6ab0f318a293,
{code}

there are a few todos I want to do in followup tickets;
* make it replay queries at the same (relative) pace as the timestamps recorded
* make replay multi threaded but avoid executing queries against a partition 
that has an ongoing query.
* add a {{fqltool split <n> <logfiles>...}} command which takes a set of log 
files and splits them in to n buckets, with each token only appearing in a 
single bucket to be able to replay these n buckets in parallel.


> Create fqltool replay command
> -----------------------------
>
>                 Key: CASSANDRA-14618
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-14618
>             Project: Cassandra
>          Issue Type: New Feature
>            Reporter: Marcus Eriksson
>            Assignee: Marcus Eriksson
>            Priority: Major
>              Labels: fqltool
>             Fix For: 4.x
>
>
> Make it possible to replay the full query logs from CASSANDRA-13983 against 
> one or several clusters. The goal is to be able to compare different runs of 
> production traffic against different versions/configurations of Cassandra.
> * It should be possible to take logs from several machines and replay them in 
> "order" by the timestamps recorded
> * Record the results from each run to be able to compare different runs 
> (against different clusters/versions/etc)
> * If {{fqltool replay}} is run against 2 or more clusters, the results should 
> be compared as we go



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to