Skip to content

Commit a54804e

Browse files
committed
Fix InferenceFieldMetadataTest
1 parent 0dcadfa commit a54804e

File tree

2 files changed

+13
-8
lines changed

2 files changed

+13
-8
lines changed

server/src/main/java/org/elasticsearch/cluster/metadata/InferenceFieldMetadata.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import org.elasticsearch.TransportVersions;
1313
import org.elasticsearch.cluster.Diff;
1414
import org.elasticsearch.cluster.SimpleDiffable;
15+
import org.elasticsearch.common.Strings;
1516
import org.elasticsearch.common.io.stream.StreamInput;
1617
import org.elasticsearch.common.io.stream.StreamOutput;
1718
import org.elasticsearch.xcontent.ToXContentFragment;
@@ -38,7 +39,8 @@ public final class InferenceFieldMetadata implements SimpleDiffable<InferenceFie
3839
private static final String INFERENCE_ID_FIELD = "inference_id";
3940
private static final String SEARCH_INFERENCE_ID_FIELD = "search_inference_id";
4041
private static final String SOURCE_FIELDS_FIELD = "source_fields";
41-
private static final String CHUNKING_SETTINGS_FIELD = "chunking_settings";
42+
static final String CHUNKING_SETTINGS_FIELD = "chunking_settings";
43+
private final int EXPECTED_CHUNKING_SETTINGS_SIZE = 3;
4244

4345
private final String name;
4446
private final String inferenceId;
@@ -62,6 +64,10 @@ public InferenceFieldMetadata(
6264
this.searchInferenceId = Objects.requireNonNull(searchInferenceId);
6365
this.sourceFields = Objects.requireNonNull(sourceFields);
6466
this.chunkingSettings = chunkingSettings;
67+
68+
if (chunkingSettings != null && chunkingSettings.size() != EXPECTED_CHUNKING_SETTINGS_SIZE) {
69+
throw new IllegalArgumentException("Chunking settings did not contain expected number of entries, was: " + chunkingSettings);
70+
}
6571
}
6672

6773
public InferenceFieldMetadata(StreamInput input) throws IOException {
@@ -112,6 +118,11 @@ public int hashCode() {
112118
return result;
113119
}
114120

121+
@Override
122+
public String toString() {
123+
return Strings.toString(this);
124+
}
125+
115126
public String getName() {
116127
return name;
117128
}
@@ -182,7 +193,6 @@ public static InferenceFieldMetadata fromXContent(XContentParser parser) throws
182193
}
183194
} else if (CHUNKING_SETTINGS_FIELD.equals(currentFieldName)) {
184195
chunkingSettings = parser.map();
185-
186196
} else {
187197
parser.skipChildren();
188198
}

server/src/test/java/org/elasticsearch/cluster/metadata/InferenceFieldMetadataTests.java

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,6 @@ protected InferenceFieldMetadata createTestInstance() {
3838
return createTestItem();
3939
}
4040

41-
@Override
42-
protected Predicate<String> getRandomFieldsExcludeFilter() {
43-
return p -> p.equals(""); // do not add elements at the top-level as any element at this level is parsed as a new inference field
44-
}
45-
4641
@Override
4742
protected InferenceFieldMetadata doParseInstance(XContentParser parser) throws IOException {
4843
if (parser.nextToken() == XContentParser.Token.START_OBJECT) {
@@ -56,7 +51,7 @@ protected InferenceFieldMetadata doParseInstance(XContentParser parser) throws I
5651

5752
@Override
5853
protected boolean supportsUnknownFields() {
59-
return true;
54+
return false;
6055
}
6156

6257
private static InferenceFieldMetadata createTestItem() {

0 commit comments

Comments
 (0)