2121import org .elasticsearch .index .engine .LuceneChangesSnapshot ;
2222import org .elasticsearch .index .engine .LuceneSyntheticSourceChangesSnapshot ;
2323import org .elasticsearch .index .engine .SearchBasedChangesSnapshot ;
24+ import org .elasticsearch .index .engine .TranslogOperationAsserter ;
2425import org .elasticsearch .index .mapper .InferenceMetadataFieldsMapper ;
2526import org .elasticsearch .index .mapper .MapperService ;
2627import org .elasticsearch .index .mapper .SourceFieldMapper ;
4243import java .util .ArrayList ;
4344import java .util .List ;
4445
45- import static org .elasticsearch .test .hamcrest .ElasticsearchAssertions .assertToXContentEquivalent ;
4646import static org .elasticsearch .xpack .inference .mapper .SemanticTextFieldTests .generateRandomChunkingSettings ;
4747import static org .elasticsearch .xpack .inference .mapper .SemanticTextFieldTests .randomChunkedInferenceEmbeddingByte ;
4848import static org .elasticsearch .xpack .inference .mapper .SemanticTextFieldTests .randomChunkedInferenceEmbeddingFloat ;
@@ -63,6 +63,13 @@ public SemanticInferenceMetadataFieldsRecoveryTests(boolean useSynthetic, boolea
6363 this .chunkingSettings = generateRandomChunkingSettings ();
6464 this .useSynthetic = useSynthetic ;
6565 this .useIncludesExcludes = useIncludesExcludes ;
66+ System .out .println (
67+ model1 .getServiceSettings ().dimensions ()
68+ + " "
69+ + model1 .getServiceSettings ().similarity ()
70+ + " "
71+ + model1 .getServiceSettings ().elementType ()
72+ );
6673 }
6774
6875 @ ParametersFactory
@@ -137,7 +144,7 @@ protected String defaultMapping() {
137144 }
138145
139146 public void testSnapshotRecovery () throws IOException {
140- List <Engine .Index > expectedOperations = new ArrayList <>();
147+ List <Translog .Index > expectedOperations = new ArrayList <>();
141148 int size = randomIntBetween (10 , 50 );
142149 for (int i = 0 ; i < size ; i ++) {
143150 var source = randomSource ();
@@ -159,8 +166,19 @@ public void testSnapshotRecovery() throws IOException {
159166 }
160167 }
161168 var op = indexForDoc (doc );
162- expectedOperations .add (op );
163- engine .index (op );
169+ var result = engine .index (op );
170+ expectedOperations .add (
171+ new Translog .Index (
172+ result .getId (),
173+ result .getSeqNo (),
174+ result .getTerm (),
175+ result .getVersion (),
176+ op .source (),
177+ op .routing (),
178+ op .getAutoGeneratedIdTimestamp ()
179+ )
180+ );
181+
164182 if (frequently ()) {
165183 engine .flush ();
166184 }
@@ -181,13 +199,12 @@ public void testSnapshotRecovery() throws IOException {
181199 IndexVersion .current ()
182200 )
183201 ) {
202+ var asserter = TranslogOperationAsserter .withEngineConfig (engine .config ());
184203 for (int i = 0 ; i < size ; i ++) {
185204 var op = snapshot .next ();
186205 assertThat (op .opType (), equalTo (Translog .Operation .Type .INDEX ));
187206 Translog .Index indexOp = (Translog .Index ) op ;
188- assertThat (indexOp .id (), equalTo (expectedOperations .get (i ).id ()));
189- assertThat (indexOp .routing (), equalTo (expectedOperations .get (i ).routing ()));
190- assertToXContentEquivalent (indexOp .source (), expectedOperations .get (i ).source (), XContentType .JSON );
207+ asserter .assertSameIndexOperation (indexOp , expectedOperations .get (i ));
191208 }
192209 assertNull (snapshot .next ());
193210 }
0 commit comments