Closed gsoldevila closed 1 week ago
Pinging @elastic/kibana-core (Team:Core)
For the SDH occurrence, the issue seemed to occur during the REINDEX_SOURCE_TO_TEMP_INDEX_BULK step, when the migrators are indexing documents into the temporary indices.
Even if the temp index mapping is dynamic: false
, it seems that internally, ES still needs to identify the type of the field.
From my understanding, this error between long
and float
is caused by the fact that the first document using this field has a "shorter" value, creating the field as a float
, but then another document has a value that can't be contained in a float
, so using a long
value in java, causing the mapper exception, as the field already exists as a float
type.
We should probably try to confirm this hypothesis, but if confirmed, I'm not 100% sure what we could do about it, aside from actually using the mappings from the types (in addition to "dynamic: false") for the temp index?
Note that this wouldn't explain the FTR error between text
and keyword
, so maybe my guess is just wrong...
@gsoldevila did we do anything for this issue / shall we keep it open or close it?
I think this was another case of https://github.com/elastic/kibana/pull/158182 where one node is bulk indexing and another finishes and deletes the temp index. The node that continues to bulk index then causes ES to auto-create an index with the incorrect mappings.
We have spotted a couple of occurrences of that error during saved object migrations:
The first one, on a flaky test: https://github.com/elastic/kibana/issues/127545
The second one, on an SDH: https://github.com/elastic/sdh-kibana/issues/3976
For the SDH occurrence, the issue seemed to occur during the
REINDEX_SOURCE_TO_TEMP_INDEX_BULK
step, when the migrators are indexing documents into the temporary indices.