version: 0.2
name: "search-expire-write-read-concurrent"
description: |
  TTL table benchmark for document expiration and persist notifications.
  This variant covers the write path (EXPIRE/PERSIST), not the read path.s

metadata:
  component: "search"
setups:
  - oss-standalone
  - oss-cluster-02-primaries
  - oss-cluster-04-primaries
  - oss-cluster-08-primaries
  - oss-cluster-16-primaries
  - oss-cluster-20-primaries
  - oss-cluster-24-primaries
  - oss-cluster-32-primaries

dbconfig:
  - dataset_name: "5200K-docs-union-iterators.idx10-expire-doc-1000s"
  - tool: ftsb_redisearch
  - parameters:
    - workers: 64
    - reporting-period: 1s
    - input: "https://s3.amazonaws.com/benchmarks.redislabs/redisearch/datasets/5200K-docs-union-iterators/5200K-docs-union-iterators.idx10.commands.SETUP.csv"
  - init_commands:
      - '"FT.CREATE" "idx10" "PREFIX" "1" "idx10:" "SCHEMA" "field1" "NUMERIC" "field2" "TEXT" "field3" "TEXT" "field4" "NUMERIC" "field5" "NUMERIC" "field6" "NUMERIC" "field7" "NUMERIC" "field8" "NUMERIC" "field9" "NUMERIC"'
  - dataset_load_timeout_secs: 180
  - check:
      keyspacelen: 5204050

clientconfig:
  benchmark_type: "mixed"
  tool: memtier_benchmark
  arguments: "--test-time 180 -c 16 -t 16 --hide-histogram --key-prefix 'idx10:' --key-minimum 1 --key-maximum 100000 --command 'EXPIRE __key__ 1000000' --command-ratio 30 --command 'PERSIST __key__' --command-ratio 30 --command 'FT.SEARCH idx10 \"(( @field3: (1) @field6: [-inf 76.761 ] @field7: [76.761 +inf ] @field4: [-inf 35323000 ] @field5: [35323000 +inf ] @field8: [-inf 1864.5 ] @field9:[1864.5 +inf ] )| ( @field3: (2) @field6: [-inf 137.894 ] @field7: [137.894 +inf ] @field4: [-inf 35323000 ] @field5: [35323000 +inf ] @field8: [-inf 1864.5 ] @field9:[1864.5 +inf ] ))\"' --command-ratio 40"
