Skip to content

Commit 8f6e0ff

Browse files
authored
Fix Semantic Text 8.x Upgrade Bug (elastic#125446) (elastic#125497)
1 parent d92a46b commit 8f6e0ff

File tree

3 files changed

+29
-1
lines changed

3 files changed

+29
-1
lines changed

docs/changelog/125446.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
pr: 125446
2+
summary: Fix Semantic Text 8.x Upgrade Bug
3+
area: Mapping
4+
type: bug
5+
issues: []

server/src/main/java/org/elasticsearch/index/mapper/InferenceMetadataFieldsMapper.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,9 @@ public static boolean isEnabled(Settings settings) {
9393
var version = IndexMetadata.SETTING_INDEX_VERSION_CREATED.get(settings);
9494
if ((version.before(IndexVersions.INFERENCE_METADATA_FIELDS)
9595
&& version.between(IndexVersions.INFERENCE_METADATA_FIELDS_BACKPORT, IndexVersions.UPGRADE_TO_LUCENE_10_0_0) == false)
96-
|| (version.before(USE_NEW_SEMANTIC_TEXT_FORMAT_BY_DEFAULT) && USE_LEGACY_SEMANTIC_TEXT_FORMAT.exists(settings) == false)) {
96+
|| (version.onOrAfter(IndexVersions.UPGRADE_TO_LUCENE_10_0_0)
97+
&& version.before(USE_NEW_SEMANTIC_TEXT_FORMAT_BY_DEFAULT)
98+
&& USE_LEGACY_SEMANTIC_TEXT_FORMAT.exists(settings) == false)) {
9799
return false;
98100
}
99101

x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/mapper/SemanticInferenceMetadataFieldsMapperTests.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,27 @@ public void testIsEnabledByDefault() {
7171
)
7272
.build();
7373
assertTrue(InferenceMetadataFieldsMapper.isEnabled(settings));
74+
75+
// Test upgrades from 8.x
76+
settings = Settings.builder()
77+
.put(
78+
IndexMetadata.SETTING_INDEX_VERSION_CREATED.getKey(),
79+
IndexVersionUtils.randomPreviousCompatibleVersion(random(), IndexVersions.INFERENCE_METADATA_FIELDS_BACKPORT)
80+
)
81+
.build();
82+
assertFalse(InferenceMetadataFieldsMapper.isEnabled(settings));
83+
84+
settings = Settings.builder()
85+
.put(
86+
IndexMetadata.SETTING_INDEX_VERSION_CREATED.getKey(),
87+
IndexVersionUtils.randomVersionBetween(
88+
random(),
89+
IndexVersions.INFERENCE_METADATA_FIELDS_BACKPORT,
90+
IndexVersionUtils.getPreviousVersion(IndexVersions.UPGRADE_TO_LUCENE_10_0_0)
91+
)
92+
)
93+
.build();
94+
assertTrue(InferenceMetadataFieldsMapper.isEnabled(settings));
7495
}
7596

7697
@Override

0 commit comments

Comments
 (0)