mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-02-06 04:58:50 +00:00
051beb51a3
Separate version check logic for reads and writes for all version types, which allows different behavior in these cases. Change `VersionType.EXTERNAL` & `VersionType.EXTERNAL_GTE` to behave the same as `VersionType.INTERNAL` for read operations. The previous behavior was fit for writes but is useless in reads. This commit also makes the usage of `EXTERNAL` & `EXTERNAL_GTE` in the update api raise a validation error as it make cause data to be lost. Closes #5663 , Closes #5661, Closes #5929
116 lines
2.0 KiB
YAML
116 lines
2.0 KiB
YAML
---
|
|
"Versions":
|
|
|
|
- do:
|
|
index:
|
|
index: test_1
|
|
type: test
|
|
id: 1
|
|
body: { foo: bar }
|
|
- match: { _version: 1}
|
|
|
|
- do:
|
|
index:
|
|
index: test_1
|
|
type: test
|
|
id: 1
|
|
body: { foo: bar }
|
|
- match: { _version: 2}
|
|
|
|
- do:
|
|
get:
|
|
index: test_1
|
|
type: test
|
|
id: 1
|
|
version: 2
|
|
- match: { _id: "1" }
|
|
|
|
- do:
|
|
catch: conflict
|
|
get:
|
|
index: test_1
|
|
type: test
|
|
id: 1
|
|
version: 1
|
|
|
|
- do:
|
|
get:
|
|
index: test_1
|
|
type: test
|
|
id: 1
|
|
version: 2
|
|
version_type: external
|
|
- match: { _id: "1" }
|
|
|
|
- do:
|
|
catch: conflict
|
|
get:
|
|
index: test_1
|
|
type: test
|
|
id: 1
|
|
version: 10
|
|
version_type: external
|
|
|
|
- do:
|
|
catch: conflict
|
|
get:
|
|
index: test_1
|
|
type: test
|
|
id: 1
|
|
version: 1
|
|
version_type: external
|
|
|
|
- do:
|
|
get:
|
|
index: test_1
|
|
type: test
|
|
id: 1
|
|
version: 2
|
|
version_type: external_gte
|
|
- match: { _id: "1" }
|
|
|
|
- do:
|
|
catch: conflict
|
|
get:
|
|
index: test_1
|
|
type: test
|
|
id: 1
|
|
version: 10
|
|
version_type: external_gte
|
|
|
|
- do:
|
|
catch: conflict
|
|
get:
|
|
index: test_1
|
|
type: test
|
|
id: 1
|
|
version: 1
|
|
version_type: external_gte
|
|
|
|
- do:
|
|
get:
|
|
index: test_1
|
|
type: test
|
|
id: 1
|
|
version: 2
|
|
version_type: force
|
|
- match: { _id: "1" }
|
|
|
|
- do:
|
|
get:
|
|
index: test_1
|
|
type: test
|
|
id: 1
|
|
version: 10
|
|
version_type: force
|
|
- match: { _id: "1" }
|
|
|
|
- do:
|
|
get:
|
|
index: test_1
|
|
type: test
|
|
id: 1
|
|
version: 1
|
|
version_type: force
|
|
- match: { _id: "1" }
|