-
Type: Bug
-
Status: Resolved
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 6.0, 7.10, 8.1
-
Component/s: Elasticsearch
-
Epic Link:
-
Upgrade notes:
-
Sprint:nxBD 8.2.1, nxBD 8.2.2, nxBD 8.4.5
-
Story Points:2
Two concurrent indexing commands of the same document with different version data can be indexed in a wrong order.
In this case the older version of a document overwrites the newer version.
This happens when there is a particular sequence:
- T1: save a document in v1, trigger an async indexation
- I1: indexation thread load the document v1 and build its json representation
- T2: save the document in v2, trigger an async indexation
- I2: indexation thread load the document v2 and build its json representation
- I2: submit the indexing command to ES with v2
- I1: submit the indexing command to ES with v1 overriding v2
To prevent this wrong ordering of concurrent indexing, we should have an optimistic concurrency control based on indexing command time.
- depends on
-
NXP-19435 Internal change token for optimistic locking
- Resolved
-
NXP-19422 UnrestrictedSessionRunner should not behave differently in Unit Test
- Resolved
- is duplicated by
-
NXP-19157 ITSearchTabTest#testSearch randomly failing
- Resolved
- is required by
-
NXP-16169 Fix random unit test failure TestAutomaticIndexing.shouldIndexBinaryFulltext
- Resolved
-
NXP-24567 Elasticsearch indexing command that fails on optimistic concurrency should not log error
- Resolved
-
NXDOC-1007 create installation notes for 7.10-HF19 related to NXP-19283 and NXP-21326
- Resolved
-
NXDOC-1008 create installation notes for 6.0HF34 related to NXP-19283 and NXP-21326
- Resolved
-
NXDOC-1021 create installation notes for 6.0-HF34 related to NXP-19283 and NXP-21326
- Resolved
-
NXP-21326 Update Elasticsearch configuration for UT in 6.0 and 7.10 to use external version
- Resolved