Skip to content

Commit 6e5a9b5

Browse files
Mikep86jimczi
andauthored
[8.x] [ML] Fix ModelRegistryMetadataTests intermittent failures (#125883) (#126042)
* [ML] Fix ModelRegistryMetadataTests intermittent failures (#125883) unmute test (cherry picked from commit 5582794) # Conflicts: # muted-tests.yml # x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/registry/ModelRegistryMetadata.java * Unmute testAlreadyUpgraded --------- Co-authored-by: Jim Ferenczi <jim.ferenczi@elastic.co>
1 parent c7a85ae commit 6e5a9b5

File tree

3 files changed

+12
-15
lines changed

3 files changed

+12
-15
lines changed

muted-tests.yml

-6
Original file line numberDiff line numberDiff line change
@@ -468,9 +468,6 @@ tests:
468468
- class: org.elasticsearch.qa.verify_version_constants.VerifyVersionConstantsIT
469469
method: testLuceneVersionConstant
470470
issue: https://github.com/elastic/elasticsearch/issues/125638
471-
- class: org.elasticsearch.xpack.inference.registry.ModelRegistryMetadataTests
472-
method: testUpgrade
473-
issue: https://github.com/elastic/elasticsearch/issues/125554
474471
- class: org.elasticsearch.xpack.application.HuggingFaceServiceUpgradeIT
475472
method: testElser {upgradedNodes=2}
476473
issue: https://github.com/elastic/elasticsearch/issues/125550
@@ -492,9 +489,6 @@ tests:
492489
- class: org.elasticsearch.packaging.test.DebPreservationTests
493490
method: test40RestartOnUpgrade
494491
issue: https://github.com/elastic/elasticsearch/issues/125821
495-
- class: org.elasticsearch.xpack.inference.registry.ModelRegistryMetadataTests
496-
method: testAlreadyUpgraded
497-
issue: https://github.com/elastic/elasticsearch/issues/125585
498492
- class: org.elasticsearch.xpack.application.HuggingFaceServiceUpgradeIT
499493
method: testHFEmbeddings {upgradedNodes=2}
500494
issue: https://github.com/elastic/elasticsearch/issues/125551

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/registry/ModelRegistryMetadata.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,8 @@
4747
public class ModelRegistryMetadata implements Metadata.Custom {
4848
public static final String TYPE = "model_registry";
4949

50-
public static final ModelRegistryMetadata EMPTY = new ModelRegistryMetadata(ImmutableOpenMap.of(), Set.of());
50+
public static final ModelRegistryMetadata EMPTY_NOT_UPGRADED = new ModelRegistryMetadata(ImmutableOpenMap.of(), Set.of());
51+
public static final ModelRegistryMetadata EMPTY_UPGRADED = new ModelRegistryMetadata(ImmutableOpenMap.of());
5152

5253
private static final ParseField UPGRADED_FIELD = new ParseField("upgraded");
5354
private static final ParseField MODELS_FIELD = new ParseField("models");
@@ -83,7 +84,7 @@ public class ModelRegistryMetadata implements Metadata.Custom {
8384

8485
public static ModelRegistryMetadata fromState(Metadata metadata) {
8586
ModelRegistryMetadata resp = metadata.custom(TYPE);
86-
return resp != null ? resp : EMPTY;
87+
return resp != null ? resp : EMPTY_NOT_UPGRADED;
8788
}
8889

8990
public ModelRegistryMetadata withAddedModel(String inferenceEntityId, MinimalServiceSettings settings) {

x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/registry/ModelRegistryMetadataTests.java

+9-7
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,17 @@
2222
import java.util.Map;
2323
import java.util.Set;
2424

25+
import static org.hamcrest.Matchers.containsString;
2526
import static org.hamcrest.Matchers.equalTo;
2627

2728
public class ModelRegistryMetadataTests extends AbstractChunkedSerializingTestCase<ModelRegistryMetadata> {
2829
public static ModelRegistryMetadata randomInstance() {
29-
return randomInstance(randomBoolean());
30+
return randomInstance(randomBoolean(), true);
3031
}
3132

32-
public static ModelRegistryMetadata randomInstance(boolean isUpgraded) {
33-
if (rarely() && isUpgraded == false) {
34-
return ModelRegistryMetadata.EMPTY;
33+
public static ModelRegistryMetadata randomInstance(boolean isUpgraded, boolean acceptsEmpty) {
34+
if (rarely() && acceptsEmpty) {
35+
return isUpgraded ? ModelRegistryMetadata.EMPTY_UPGRADED : ModelRegistryMetadata.EMPTY_NOT_UPGRADED;
3536
}
3637
int size = randomIntBetween(1, 5);
3738

@@ -82,7 +83,7 @@ protected Writeable.Reader<ModelRegistryMetadata> instanceReader() {
8283
}
8384

8485
public void testUpgrade() {
85-
var metadata = randomInstance(false);
86+
var metadata = randomInstance(false, false);
8687
var metadataWithTombstones = metadata.withRemovedModel(Set.of(randomFrom(metadata.getModelMap().keySet())));
8788

8889
var indexMetadata = metadata.withAddedModel(randomAlphanumericOfLength(10), MinimalServiceSettingsTests.randomInstance());
@@ -99,9 +100,10 @@ public void testUpgrade() {
99100
}
100101

101102
public void testAlreadyUpgraded() {
102-
var metadata = randomInstance(true);
103-
var indexMetadata = randomInstance(true);
103+
var metadata = randomInstance(true, true);
104+
var indexMetadata = randomInstance(true, true);
104105

105106
var exc = expectThrows(IllegalArgumentException.class, () -> metadata.withUpgradedModels(indexMetadata.getModelMap()));
107+
assertThat(exc.getMessage(), containsString("upgraded"));
106108
}
107109
}

0 commit comments

Comments
 (0)