Skip to content

Latest commit

 

History

History
59 lines (37 loc) · 3.14 KB

cli-arguments.md

File metadata and controls

59 lines (37 loc) · 3.14 KB

Gemini CLI arguments

Gemini has a large number of CLI arguments and this document is an attempt to document them.

The complete help output from gemini -h is a good reference.

Mandatory arguments

  1. --oracle-cluster, -o: This parameter takes a comma separated list of hosts that are part of the so called Oracle which is to say the super stable bug free cluster that Gemini uses as the blueprint for it's validations.

Optional arguments

  1. --test-cluster, -t: This parameter takes a comma separated list of hosts that are part of the SUT or commonly, system under test. If omitted then Gemini will not use the Oracle at all and simply execute a lot of queries against the SUT.

  2. ---mode, -m: This is a string parameter with the acceptable values "mixed","read" and "write".

  3. --concurrency, -c: An int describing the number of concurrent jobs in the case of "read" or "write" mode. In the case of "mixed" mode it represents half of the number of jobs that will be executed concurrently.

  4. --schema: The path to a file containing a JSON representation of the schema to be used during a run.

  5. --seed, -s: The seed parameter denotes the seed from where to start the random number generators that Gemini is using.

  6. --drop-schema, -d: Boolean value that instructs Gemini to issue a DROP SCHEMA statement before starting to run. Make sure you use it with care.

  7. --fail-fast, -f: Boolean value that instructs Gemini to stop running as soon as it encounters a validation error. If set to false, then Gemini will collect the errors and report them once normal program end is reached.

  8. --duration: The duration of a run. Defaults to 30 seconds.

  9. --warmup: The duration of the warmup phase during which only additive mutations will be performed. Default is 30 seconds.

  10. --outfile: Path to a file where Gemini should store it's result. If not provided then standard out is used.

  11. --max-tables: Maximum number of tables in the generated schema.

  12. --table-options: Repeatable argument to set table options for example: --table-options"compression = {'sstable_compression': 'LZ4Compressor'}"

  13. --use-server-timestamps: Each cell written to a CQL cluster has a timestamp which is used to determine recency of writes. By default, gemini generates a timestamp for each performed write using the clock of the machine that gemini runs on. This option disables that behavior, making the write coordinator node responsible for generating write timestamps.

  14. --oracle-username: Username for authentication against the Oracle cluster. If this argument is provided, then --oracle-password is also required, otherwise it will continue without authenticaton.

  15. --oracle-password: Password for the Oracle cluster.

  16. --test-username: Username for authentication against the SUT cluster. If this argument is provided, then --test-password is also required, otherwise it will continue without authenticaton.

  17. --test-password: Password for the SUT cluster.