From cf19fc1672d8a10155c2a9071c778a57e44f19f2 Mon Sep 17 00:00:00 2001 From: Yuqi Du Date: Wed, 10 Jan 2024 09:06:55 -0800 Subject: [PATCH 1/2] insertMany --- nosqlbench/http-jsonapi-vector-insertmany.md | 13 +- .../http-jsonapi-vector-insertmany.yaml | 401 ++++++++++++------ 2 files changed, 270 insertions(+), 144 deletions(-) diff --git a/nosqlbench/http-jsonapi-vector-insertmany.md b/nosqlbench/http-jsonapi-vector-insertmany.md index ea782f742a..1855f802b9 100644 --- a/nosqlbench/http-jsonapi-vector-insertmany.md +++ b/nosqlbench/http-jsonapi-vector-insertmany.md @@ -2,9 +2,7 @@ ## Description -The JSON API insertmany Dataset workflow targets Stargate's JSON API using JSON documents from an external dataset. -The [dataset](#dataset) is mandatory and should contain a vector per row that should be used as the input for write, read and update operations. -This workflow is perfect for testing Stargate performance using your own JSON dataset or any other realistic dataset. +The JSON API insertMany(ordered false) performance test workload In contrast to other workflows, this one is not split into ramp-up and main phases. Instead, there is only the write phase. @@ -15,26 +13,19 @@ In contrast to other workflows, this one is not split into ramp-up and main phas The default scenario for http-jsonapi-vector-insertmany.yaml only has one operation - insert 20 records to the database a time. -Note that error handling is set to `errors=timer,warn`, which means that in case of HTTP errors the scenario is not stopped. - ## Dataset ### Vector Sample Vector size is 1536 in the nosqlbench file. (openAI embedding vector standard size is 1536) -Sample dataset is in [vector dataset](vector-dataset.txt) - -> If you want to test different vector-size, please change [http-jsonapi-vector-crud create-collection op](http-jsonapi-vector-crud.yaml) and [vector dataset](vector-dataset.txt) ## Sample Command ### Against AstraDB -> comment out `create-namespace` op in the [nosqlbench yaml file](http-jsonapi-vector-crud.yaml) - ``` -nb5 -v http-jsonapi-vector-crud docscount=1000 threads=20 jsonapi_host=Your-AstraDB-Host auth_token=Your-AstraDB-Token jsonapi_port=443 protocol=https path_prefix=/api/json namespace=Your-Keyspace +nb5 -v http-jsonapi-vector-crud docscount=1000 threads=20 jsonapi_host=Your-AstraDB-Host auth_token=Your-AstraDB-Token jsonapi_port=443 protocol=https path_prefix=/api/json keyspace=Your-Keyspace ``` ### Against Local JSON API diff --git a/nosqlbench/http-jsonapi-vector-insertmany.yaml b/nosqlbench/http-jsonapi-vector-insertmany.yaml index 5b93460e0d..2b158e58b6 100644 --- a/nosqlbench/http-jsonapi-vector-insertmany.yaml +++ b/nosqlbench/http-jsonapi-vector-insertmany.yaml @@ -1,21 +1,25 @@ -min_version: "5.17.3" +min_version: "5.17.0" -# Example command line -# Against AstraDB -# nb5 -v http-jsonapi-vector-crud docscount=1000 threads=20 jsonapi_host=Your-AstraDB-Host auth_token=Your-AstraDB-Token jsonapi_port=443 protocol=https path_prefix=/api/json namespace=Your-Keyspace -# Against local JSON API -# nb5 -v http-jsonapi-vector-crud jsonapi_host=localhost docscount=1000 threads=20 - -description: >2 +description: | This workload emulates vector insertmany operations for Stargate JSON API. It requires a data set file (default vector-dataset.txt), where contains vectors of size 1536 1536 is a standard vector size that openAI embedding generates, using this size for benchmark scenarios: default: - schema: run driver=http tags==block:schema threads==1 cycles==UNDEF - write: run driver=http tags==name:"write.*" cycles===TEMPLATE(write-cycles,TEMPLATE(docscount,500)) threads=auto errors=timer,warn - read: run driver=http tags==name:"read.*" cycles===TEMPLATE(read-cycles,TEMPLATE(docscount,500)) threads=auto errors=timer,warn + schema: run driver=http tags==block:schema threads==1 cycles==UNDEF + rampup: run driver=http tags==block:rampup cycles===TEMPLATE(rampup-cycles,10000000) threads=auto + main: run driver=http tags==block:"main.*" cycles===TEMPLATE(main-cycles,10000000) threads=auto + + astra: + schema: run driver=http tags==block:schema-astra threads==1 cycles==UNDEF + rampup: run driver=http tags==block:rampup cycles===TEMPLATE(rampup-cycles,10000000) threads=auto + main: run driver=http tags==block:"main.*" cycles===TEMPLATE(main-cycles,10000000) threads=auto + + basic_check: + schema: run driver=http tags==block:schema threads==1 cycles==UNDEF + rampup: run driver=http tags==block:rampup cycles===TEMPLATE(rampup-cycles,10) threads=auto + main: run driver=http tags==block:"main.*" cycles===TEMPLATE(main-cycles,10) threads=auto bindings: # To enable an optional weighted set of hosts in place of a load balancer @@ -23,67 +27,53 @@ bindings: # single host: jsonapi_host=host1 # multiple hosts: jsonapi_host=host1,host2,host3 # multiple weighted hosts: jsonapi_host=host1:3,host2:7 - weighted_hosts: WeightedStrings('<>') + weighted_hosts: WeightedStrings('<>>>') - # spread into different spaces to use multiple connections - space: HashRange(1,<>); ToString(); + seq_key: Mod(TEMPLATE(keycount,50000000000L)); ToString() -> String + created_on: Uniform(1262304000,1577836800) -> long + year_born: Uniform(1950,2023) -> int + number_children: Uniform(0,5) -> int + full_name: FullNames() + married: ModuloToBoolean() + city: Cities() + country_code: CountryCodes() - # http request id - request_id: ToHashedUUID(); ToString(); - # autogenerate auth token to use on API calls using configured uri/uid/password, unless one is provided + vector_value: HashedFloatVectors(<>); ToCqlVector() + + request_id: ToHashedUUID(); ToString(); token: Discard(); Token('<>','<>', '<>', '<>'); - seq_key: Mod(<>); ToString() -> String - random_key: Uniform(0,<>); ToString() -> String - vector_json: HashedLineToString('<>'); blocks: schema: ops: - create-namespace: - method: POST - uri: <>://{weighted_hosts}:<><>/v1 - Accept: "application/json" - X-Cassandra-Request-Id: "{request_id}" - Token: "{token}" - Content-Type: "application/json" - ok-body: ".*\"ok\":1.*" - body: >2 - { - "createNamespace": { - "name": "<>" - } - } - delete-collection: method: POST - uri: <>://{weighted_hosts}:<><>/v1/<> + uri: <>://{weighted_hosts}:<><>/v1/<> Accept: "application/json" X-Cassandra-Request-Id: "{request_id}" - Token: "{token}" + X-Cassandra-Token: "{token}" Content-Type: "application/json" ok-body: ".*\"ok\":1.*" body: >2 { "deleteCollection": { - "name": "<>" + "name": "<>" } } - create-collection: method: POST - uri: <>://{weighted_hosts}:<><>/v1/<> + uri: <>://{weighted_hosts}:<><>/v1/<> Accept: "application/json" X-Cassandra-Request-Id: "{request_id}" - Token: "{token}" + X-Cassandra-Token: "{token}" Content-Type: "application/json" ok-body: ".*\"ok\":1.*" - # vector mush be enabled when creating collection body: >2 { "createCollection": { - "name": "<>", + "name": "<>", "options": { "vector": { "size": 1536 @@ -92,103 +82,248 @@ blocks: } } - write: + + insertMany-uuid: ops: - write-insert-many-vector: - params: - ratio: 5 - space: "{space}" + insertMany: method: POST - uri: <>://{weighted_hosts}:<><>/v1/<>/<> + uri: <>://{weighted_hosts}:<><>/v1/<>/<> Accept: "application/json" X-Cassandra-Request-Id: "{request_id}" - Token: "{token}" + X-Cassandra-Token: "{token}" Content-Type: "application/json" ok-body: '.*\"insertedIds\":\[.*\].*' body: >2 { "insertMany" : { - "documents" : [ - { - "_id" : "{seq_key}", - "$vector" : {vector_json} - }, - { - "_id" : "{seq_key}", - "$vector" : {vector_json} - }, - { - "_id" : "{seq_key}", - "$vector" : {vector_json} - }, - { - "_id" : "{seq_key}", - "$vector" : {vector_json} - }, - { - "_id" : "{seq_key}", - "$vector" : {vector_json} - }, - { - "_id" : "{seq_key}", - "$vector" : {vector_json} - }, - { - "_id" : "{seq_key}", - "$vector" : {vector_json} - }, - { - "_id" : "{seq_key}", - "$vector" : {vector_json} - }, - { - "_id" : "{seq_key}", - "$vector" : {vector_json} - }, - { - "_id" : "{seq_key}", - "$vector" : {vector_json} - }, - { - "_id" : "{seq_key}", - "$vector" : {vector_json} - }, - { - "_id" : "{seq_key}", - "$vector" : {vector_json} - }, - { - "_id" : "{seq_key}", - "$vector" : {vector_json} - }, - { - "_id" : "{seq_key}", - "$vector" : {vector_json} - }, - { - "_id" : "{seq_key}", - "$vector" : {vector_json} - }, - { - "_id" : "{seq_key}", - "$vector" : {vector_json} - }, - { - "_id" : "{seq_key}", - "$vector" : {vector_json} - }, - { - "_id" : "{seq_key}", - "$vector" : {vector_json} - }, - { - "_id" : "{seq_key}", - "$vector" : {vector_json} - }, - { - "_id" : "{seq_key}", - "$vector" : {vector_json} - }, - ] + "documents" : + [ + { + "created_on" : {created_on}, + "year_born" : {year_born}, + "number_children" : {number_children}, + "full_name" : "{full_name}", + "married": {married}, + "address": { + "city": "{city}", + "country_code": "{country_code}" + }, + "$vector": {vector_value} + }, + { + "created_on" : {created_on}, + "year_born" : {year_born}, + "number_children" : {number_children}, + "full_name" : "{full_name}", + "married": {married}, + "address": { + "city": "{city}", + "country_code": "{country_code}" + }, + "$vector": {vector_value} + }, { + "created_on" : {created_on}, + "year_born" : {year_born}, + "number_children" : {number_children}, + "full_name" : "{full_name}", + "married": {married}, + "address": { + "city": "{city}", + "country_code": "{country_code}" + }, + "$vector": {vector_value} + }, { + "created_on" : {created_on}, + "year_born" : {year_born}, + "number_children" : {number_children}, + "full_name" : "{full_name}", + "married": {married}, + "address": { + "city": "{city}", + "country_code": "{country_code}" + }, + "$vector": {vector_value} + }, { + "created_on" : {created_on}, + "year_born" : {year_born}, + "number_children" : {number_children}, + "full_name" : "{full_name}", + "married": {married}, + "address": { + "city": "{city}", + "country_code": "{country_code}" + }, + "$vector": {vector_value} + }, { + "created_on" : {created_on}, + "year_born" : {year_born}, + "number_children" : {number_children}, + "full_name" : "{full_name}", + "married": {married}, + "address": { + "city": "{city}", + "country_code": "{country_code}" + }, + "$vector": {vector_value} + }, { + "created_on" : {created_on}, + "year_born" : {year_born}, + "number_children" : {number_children}, + "full_name" : "{full_name}", + "married": {married}, + "address": { + "city": "{city}", + "country_code": "{country_code}" + }, + "$vector": {vector_value} + }, { + "created_on" : {created_on}, + "year_born" : {year_born}, + "number_children" : {number_children}, + "full_name" : "{full_name}", + "married": {married}, + "address": { + "city": "{city}", + "country_code": "{country_code}" + }, + "$vector": {vector_value} + }, { + "created_on" : {created_on}, + "year_born" : {year_born}, + "number_children" : {number_children}, + "full_name" : "{full_name}", + "married": {married}, + "address": { + "city": "{city}", + "country_code": "{country_code}" + }, + "$vector": {vector_value} + }, { + "created_on" : {created_on}, + "year_born" : {year_born}, + "number_children" : {number_children}, + "full_name" : "{full_name}", + "married": {married}, + "address": { + "city": "{city}", + "country_code": "{country_code}" + }, + "$vector": {vector_value} + }, { + "created_on" : {created_on}, + "year_born" : {year_born}, + "number_children" : {number_children}, + "full_name" : "{full_name}", + "married": {married}, + "address": { + "city": "{city}", + "country_code": "{country_code}" + }, + "$vector": {vector_value} + }, { + "created_on" : {created_on}, + "year_born" : {year_born}, + "number_children" : {number_children}, + "full_name" : "{full_name}", + "married": {married}, + "address": { + "city": "{city}", + "country_code": "{country_code}" + }, + "$vector": {vector_value} + }, { + "created_on" : {created_on}, + "year_born" : {year_born}, + "number_children" : {number_children}, + "full_name" : "{full_name}", + "married": {married}, + "address": { + "city": "{city}", + "country_code": "{country_code}" + }, + "$vector": {vector_value} + }, { + "created_on" : {created_on}, + "year_born" : {year_born}, + "number_children" : {number_children}, + "full_name" : "{full_name}", + "married": {married}, + "address": { + "city": "{city}", + "country_code": "{country_code}" + }, + "$vector": {vector_value} + }, { + "created_on" : {created_on}, + "year_born" : {year_born}, + "number_children" : {number_children}, + "full_name" : "{full_name}", + "married": {married}, + "address": { + "city": "{city}", + "country_code": "{country_code}" + }, + "$vector": {vector_value} + }, { + "created_on" : {created_on}, + "year_born" : {year_born}, + "number_children" : {number_children}, + "full_name" : "{full_name}", + "married": {married}, + "address": { + "city": "{city}", + "country_code": "{country_code}" + }, + "$vector": {vector_value} + }, { + "created_on" : {created_on}, + "year_born" : {year_born}, + "number_children" : {number_children}, + "full_name" : "{full_name}", + "married": {married}, + "address": { + "city": "{city}", + "country_code": "{country_code}" + }, + "$vector": {vector_value} + }, { + "created_on" : {created_on}, + "year_born" : {year_born}, + "number_children" : {number_children}, + "full_name" : "{full_name}", + "married": {married}, + "address": { + "city": "{city}", + "country_code": "{country_code}" + }, + "$vector": {vector_value} + }, { + "created_on" : {created_on}, + "year_born" : {year_born}, + "number_children" : {number_children}, + "full_name" : "{full_name}", + "married": {married}, + "address": { + "city": "{city}", + "country_code": "{country_code}" + }, + "$vector": {vector_value} + }, { + "created_on" : {created_on}, + "year_born" : {year_born}, + "number_children" : {number_children}, + "full_name" : "{full_name}", + "married": {married}, + "address": { + "city": "{city}", + "country_code": "{country_code}" + }, + "$vector": {vector_value} + } + ], + "options": { + "ordered": false + } } - } \ No newline at end of file + } + From 09df5728dc3dcc0d2b93246108a42343a2af9981 Mon Sep 17 00:00:00 2001 From: Yuqi Du Date: Thu, 11 Jan 2024 12:50:24 -0800 Subject: [PATCH 2/2] Token --- nosqlbench/http-jsonapi-search-advanced.yaml | 2 +- nosqlbench/http-jsonapi-search-basic.yaml | 28 +++++++++---------- .../http-jsonapi-search-filter-sort.yaml | 18 ++++++------ .../http-jsonapi-vector-insertmany.yaml | 6 ++-- 4 files changed, 27 insertions(+), 27 deletions(-) diff --git a/nosqlbench/http-jsonapi-search-advanced.yaml b/nosqlbench/http-jsonapi-search-advanced.yaml index 5149708673..89abcaa157 100644 --- a/nosqlbench/http-jsonapi-search-advanced.yaml +++ b/nosqlbench/http-jsonapi-search-advanced.yaml @@ -672,7 +672,7 @@ blocks: uri: <>://{weighted_hosts}:<><>/v1/<>/<> Accept: "application/json" X-Cassandra-Request-Id: "{request_id}" - X-Cassandra-Token: "{token}" + Token: "{token}" Content-Type: "application/json" ok-body: ".*\"data\".*" body: >2 diff --git a/nosqlbench/http-jsonapi-search-basic.yaml b/nosqlbench/http-jsonapi-search-basic.yaml index 9ded54fefc..ddb0d81605 100644 --- a/nosqlbench/http-jsonapi-search-basic.yaml +++ b/nosqlbench/http-jsonapi-search-basic.yaml @@ -85,7 +85,7 @@ blocks: uri: <>://{weighted_hosts}:<><>/v1/<> Accept: "application/json" X-Cassandra-Request-Id: "{request_id}" - X-Cassandra-Token: "{token}" + Token: "{token}" Content-Type: "application/json" ok-body: ".*\"ok\":1.*" body: >2 @@ -103,7 +103,7 @@ blocks: uri: <>://{weighted_hosts}:<><>/v1/<>/<> Accept: "application/json" X-Cassandra-Request-Id: "{request_id}" - X-Cassandra-Token: "{token}" + Token: "{token}" Content-Type: "application/json" ok-body: '.*\"insertedIds\":\[.*\].*' body: >2 @@ -147,7 +147,7 @@ blocks: uri: <>://{weighted_hosts}:<><>/v1/<>/<> Accept: "application/json" X-Cassandra-Request-Id: "{request_id}" - X-Cassandra-Token: "{token}" + Token: "{token}" Content-Type: "application/json" ok-body: ".*\"data\".*" body: >2 @@ -169,7 +169,7 @@ blocks: uri: <>://{weighted_hosts}:<><>/v1/<>/<> Accept: "application/json" X-Cassandra-Request-Id: "{request_id}" - X-Cassandra-Token: "{token}" + Token: "{token}" Content-Type: "application/json" ok-body: ".*\"data\".*" body: >2 @@ -191,7 +191,7 @@ blocks: uri: <>://{weighted_hosts}:<><>/v1/<>/<> Accept: "application/json" X-Cassandra-Request-Id: "{request_id}" - X-Cassandra-Token: "{token}" + Token: "{token}" Content-Type: "application/json" ok-body: ".*\"data\".*" body: >2 @@ -213,7 +213,7 @@ blocks: uri: <>://{weighted_hosts}:<><>/v1/<>/<> Accept: "application/json" X-Cassandra-Request-Id: "{request_id}" - X-Cassandra-Token: "{token}" + Token: "{token}" Content-Type: "application/json" ok-body: ".*\"data\".*" body: >2 @@ -235,7 +235,7 @@ blocks: uri: <>://{weighted_hosts}:<><>/v1/<>/<> Accept: "application/json" X-Cassandra-Request-Id: "{request_id}" - X-Cassandra-Token: "{token}" + Token: "{token}" Content-Type: "application/json" ok-body: ".*\"data\".*" body: >2 @@ -257,7 +257,7 @@ blocks: uri: <>://{weighted_hosts}:<><>/v1/<>/<> Accept: "application/json" X-Cassandra-Request-Id: "{request_id}" - X-Cassandra-Token: "{token}" + Token: "{token}" Content-Type: "application/json" ok-body: ".*\"data\".*" body: >2 @@ -279,7 +279,7 @@ blocks: uri: <>://{weighted_hosts}:<><>/v1/<>/<> Accept: "application/json" X-Cassandra-Request-Id: "{request_id}" - X-Cassandra-Token: "{token}" + Token: "{token}" Content-Type: "application/json" ok-body: ".*\"data\".*" body: >2 @@ -301,7 +301,7 @@ blocks: uri: <>://{weighted_hosts}:<><>/v1/<>/<> Accept: "application/json" X-Cassandra-Request-Id: "{request_id}" - X-Cassandra-Token: "{token}" + Token: "{token}" Content-Type: "application/json" ok-body: ".*\"data\".*" body: >2 @@ -323,7 +323,7 @@ blocks: uri: <>://{weighted_hosts}:<><>/v1/<>/<> Accept: "application/json" X-Cassandra-Request-Id: "{request_id}" - X-Cassandra-Token: "{token}" + Token: "{token}" Content-Type: "application/json" ok-body: ".*\"data\".*" body: >2 @@ -345,7 +345,7 @@ blocks: uri: <>://{weighted_hosts}:<><>/v1/<>/<> Accept: "application/json" X-Cassandra-Request-Id: "{request_id}" - X-Cassandra-Token: "{token}" + Token: "{token}" Content-Type: "application/json" ok-body: ".*\"data\".*" body: >2 @@ -368,7 +368,7 @@ blocks: uri: <>://{weighted_hosts}:<><>/v1/<>/<> Accept: "application/json" X-Cassandra-Request-Id: "{request_id}" - X-Cassandra-Token: "{token}" + Token: "{token}" Content-Type: "application/json" ok-body: ".*\"data\".*" body: >2 @@ -391,7 +391,7 @@ blocks: uri: <>://{weighted_hosts}:<><>/v1/<>/<> Accept: "application/json" X-Cassandra-Request-Id: "{request_id}" - X-Cassandra-Token: "{token}" + Token: "{token}" Content-Type: "application/json" ok-body: ".*\"data\".*" body: >2 diff --git a/nosqlbench/http-jsonapi-search-filter-sort.yaml b/nosqlbench/http-jsonapi-search-filter-sort.yaml index b882e991f4..f08ae5d1d8 100644 --- a/nosqlbench/http-jsonapi-search-filter-sort.yaml +++ b/nosqlbench/http-jsonapi-search-filter-sort.yaml @@ -156,7 +156,7 @@ blocks: uri: <>://{weighted_hosts}:<><>/v1/<>/<> Accept: "application/json" X-Cassandra-Request-Id: "{request_id}" - X-Cassandra-Token: "{token}" + Token: "{token}" Content-Type: "application/json" ok-body: ".*\"data\".*" body: | @@ -177,7 +177,7 @@ blocks: uri: <>://{weighted_hosts}:<><>/v1/<>/<> Accept: "application/json" X-Cassandra-Request-Id: "{request_id}" - X-Cassandra-Token: "{token}" + Token: "{token}" Content-Type: "application/json" ok-body: ".*\"data\".*" body: | @@ -194,7 +194,7 @@ blocks: uri: <>://{weighted_hosts}:<><>/v1/<>/<> Accept: "application/json" X-Cassandra-Request-Id: "{request_id}" - X-Cassandra-Token: "{token}" + Token: "{token}" Content-Type: "application/json" ok-body: ".*\"data\".*" body: | @@ -213,7 +213,7 @@ blocks: uri: <>://{weighted_hosts}:<><>/v1/<>/<> Accept: "application/json" X-Cassandra-Request-Id: "{request_id}" - X-Cassandra-Token: "{token}" + Token: "{token}" Content-Type: "application/json" ok-body: ".*\"data\".*" body: | @@ -230,7 +230,7 @@ blocks: uri: <>://{weighted_hosts}:<><>/v1/<>/<> Accept: "application/json" X-Cassandra-Request-Id: "{request_id}" - X-Cassandra-Token: "{token}" + Token: "{token}" Content-Type: "application/json" ok-body: ".*\"data\".*" body: | @@ -248,7 +248,7 @@ blocks: uri: <>://{weighted_hosts}:<><>/v1/<>/<> Accept: "application/json" X-Cassandra-Request-Id: "{request_id}" - X-Cassandra-Token: "{token}" + Token: "{token}" Content-Type: "application/json" ok-body: ".*\"data\".*" body: | @@ -267,7 +267,7 @@ blocks: uri: <>://{weighted_hosts}:<><>/v1/<>/<> Accept: "application/json" X-Cassandra-Request-Id: "{request_id}" - X-Cassandra-Token: "{token}" + Token: "{token}" Content-Type: "application/json" ok-body: ".*\"data\".*" body: | @@ -287,7 +287,7 @@ blocks: uri: <>://{weighted_hosts}:<><>/v1/<>/<> Accept: "application/json" X-Cassandra-Request-Id: "{request_id}" - X-Cassandra-Token: "{token}" + Token: "{token}" Content-Type: "application/json" ok-body: ".*\"data\".*" body: | @@ -306,7 +306,7 @@ blocks: uri: <>://{weighted_hosts}:<><>/v1/<>/<> Accept: "application/json" X-Cassandra-Request-Id: "{request_id}" - X-Cassandra-Token: "{token}" + Token: "{token}" Content-Type: "application/json" ok-body: ".*\"data\".*" body: | diff --git a/nosqlbench/http-jsonapi-vector-insertmany.yaml b/nosqlbench/http-jsonapi-vector-insertmany.yaml index 2b158e58b6..df99c1cd06 100644 --- a/nosqlbench/http-jsonapi-vector-insertmany.yaml +++ b/nosqlbench/http-jsonapi-vector-insertmany.yaml @@ -53,7 +53,7 @@ blocks: uri: <>://{weighted_hosts}:<><>/v1/<> Accept: "application/json" X-Cassandra-Request-Id: "{request_id}" - X-Cassandra-Token: "{token}" + Token: "{token}" Content-Type: "application/json" ok-body: ".*\"ok\":1.*" body: >2 @@ -67,7 +67,7 @@ blocks: uri: <>://{weighted_hosts}:<><>/v1/<> Accept: "application/json" X-Cassandra-Request-Id: "{request_id}" - X-Cassandra-Token: "{token}" + Token: "{token}" Content-Type: "application/json" ok-body: ".*\"ok\":1.*" body: >2 @@ -90,7 +90,7 @@ blocks: uri: <>://{weighted_hosts}:<><>/v1/<>/<> Accept: "application/json" X-Cassandra-Request-Id: "{request_id}" - X-Cassandra-Token: "{token}" + Token: "{token}" Content-Type: "application/json" ok-body: '.*\"insertedIds\":\[.*\].*' body: >2