Versions (relevant - OpenSearch/Dashboard/Server OS/Browser):
OpenSearch 2.19.2
OpenSearch 3.0.0
Describe the issue:
During an upgrade from OpenSearch 2.19.2 to 3.0.0, we’re encountering compatibility errors with system indices (primarily .kibana_*
indices) that were originally created in Elasticsearch 7.10.2 but have been upgraded to OpenSearch 2.19.0 at some point in the past:
The index [[.kibana_xxx/uuid]] was created with version [7.10.2] but the minimum compatible version is [2.0.0]. It should be re-indexed in OpenSearch 2.x before upgrading to 3.0.0.
Checking the _settings?human
for that index returns the following:
"version": {
"upgraded": "136407827",
"created_string": "7.10.2",
"upgraded_string": "2.19.0",
"created": "7100299"
}
Is it expected behavior that system indices (.kibana_*
, etc.) that were originally created in Elasticsearch 7.x (but upgraded since) would cause compatibility issues during an upgrade? These indices contain configuration data and are usually managed by OpenSearch/Kibana.
The upgrade documentation index compatibility reference ends in OpenSearch versions 2.13.0/2.14.0 which suggests that anything above that would likely be compatible with 3.0.0, or is this a misinterpretation?
The indices function correctly in OpenSearch 2.19.2 and contain the upgraded_string: "2.19.0"
field.
I’m still in the process of developing a workaround, but so far it has involved reindexing the indices to a new temporary index with the same template, deleting the original index, creating a new one with the same original name and template, and reindexing from the temporary index back to the new one. Do be aware that this is just a proof of concept, but doing so seems to not have broken any functionality, and the new index settings now shows the following:
"version": {
"created_string": "2.19.2",
"created": "136408027"
}
… which I’m hopeful will fix the issue.
However, two questions remain:
- Is this a bug or expected behavior?
- Are system indexes also supposed to be reindexed to match the compatibility reference table constraints?
Thanks.