Skip to content

Commit 279291b

Browse files
committed
Using enum string representation for serioalization.
1 parent 7ff6b27 commit 279291b

File tree

2 files changed

+49
-2
lines changed

2 files changed

+49
-2
lines changed

x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/inference/ResolvedInference.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,12 @@
1717
public record ResolvedInference(String inferenceId, TaskType taskType) implements Writeable {
1818

1919
public ResolvedInference(StreamInput in) throws IOException {
20-
this(in.readString(), in.readEnum(TaskType.class));
20+
this(in.readString(), TaskType.valueOf(in.readString()));
2121
}
2222

2323
@Override
2424
public void writeTo(StreamOutput out) throws IOException {
2525
out.writeString(inferenceId);
26-
out.writeEnum(taskType);
26+
out.writeString(taskType.name());
2727
}
2828
}
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
/*
2+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3+
* or more contributor license agreements. Licensed under the Elastic License
4+
* 2.0; you may not use this file except in compliance with the Elastic License
5+
* 2.0.
6+
*/
7+
8+
package org.elasticsearch.xpack.esql.inference;
9+
10+
import org.elasticsearch.TransportVersion;
11+
import org.elasticsearch.inference.TaskType;
12+
import org.elasticsearch.test.AbstractWireTestCase;
13+
import org.elasticsearch.test.ESTestCase;
14+
15+
import java.io.IOException;
16+
17+
public class ResolvedInferenceTests extends AbstractWireTestCase<ResolvedInference> {
18+
19+
@Override
20+
protected ResolvedInference createTestInstance() {
21+
return new ResolvedInference(randomIdentifier(), randomTaskType());
22+
}
23+
24+
@Override
25+
protected ResolvedInference mutateInstance(ResolvedInference instance) throws IOException {
26+
if (randomBoolean()) {
27+
return new ResolvedInference(randomValueOtherThan(instance.inferenceId(), ESTestCase::randomIdentifier), instance.taskType());
28+
}
29+
30+
return new ResolvedInference(instance.inferenceId(), randomValueOtherThan(instance.taskType(), this::randomTaskType));
31+
}
32+
33+
@Override
34+
protected ResolvedInference copyInstance(ResolvedInference instance, TransportVersion version) throws IOException {
35+
return copyInstance(
36+
instance,
37+
getNamedWriteableRegistry(),
38+
(out, v) -> v.writeTo(out),
39+
in -> new ResolvedInference(in),
40+
version
41+
);
42+
}
43+
44+
private TaskType randomTaskType() {
45+
return randomFrom(TaskType.values());
46+
}
47+
}

0 commit comments

Comments
 (0)