@@ -2911,27 +2911,36 @@ public void testHandleDocumentFailure() throws Exception {
29112911 } else {
29122912 throwingIndexWriter .get ().setThrowFailure (() -> new IllegalArgumentException ("simulated max token length" ));
29132913 }
2914+ // test index with document failure
29142915 Engine .IndexResult indexResult = engine .index (indexForDoc (doc1 ));
29152916 assertNotNull (indexResult .getFailure ());
2916- // document failures should be recorded in translog
2917+ assertThat (indexResult .getSeqNo (), equalTo (0L ));
2918+ assertThat (indexResult .getVersion (), equalTo (Versions .MATCH_ANY ));
29172919 assertNotNull (indexResult .getTranslogLocation ());
2920+
29182921 throwingIndexWriter .get ().clearFailure ();
29192922 indexResult = engine .index (indexForDoc (doc1 ));
2923+ assertThat (indexResult .getSeqNo (), equalTo (1L ));
2924+ assertThat (indexResult .getVersion (), equalTo (1L ));
29202925 assertNull (indexResult .getFailure ());
2921- // document failures should be recorded in translog
29222926 assertNotNull (indexResult .getTranslogLocation ());
29232927 engine .index (indexForDoc (doc2 ));
29242928
29252929 // test failure while deleting
29262930 // all these simulated exceptions are not fatal to the IW so we treat them as document failures
2931+ final Engine .DeleteResult deleteResult ;
29272932 if (randomBoolean ()) {
29282933 throwingIndexWriter .get ().setThrowFailure (() -> new IOException ("simulated" ));
2929- assertThat (engine .delete (new Engine .Delete ("test" , "1" , newUid (doc1 ))).getFailure (), instanceOf (IOException .class ));
2934+ deleteResult = engine .delete (new Engine .Delete ("test" , "1" , newUid (doc1 )));
2935+ assertThat (deleteResult .getFailure (), instanceOf (IOException .class ));
29302936 } else {
29312937 throwingIndexWriter .get ().setThrowFailure (() -> new IllegalArgumentException ("simulated max token length" ));
2932- assertThat (engine .delete (new Engine .Delete ("test" , "1" , newUid (doc1 ))).getFailure (),
2938+ deleteResult = engine .delete (new Engine .Delete ("test" , "1" , newUid (doc1 )));
2939+ assertThat (deleteResult .getFailure (),
29332940 instanceOf (IllegalArgumentException .class ));
29342941 }
2942+ assertThat (deleteResult .getVersion (), equalTo (2L ));
2943+ assertThat (deleteResult .getSeqNo (), equalTo (3L ));
29352944
29362945 // test non document level failure is thrown
29372946 if (randomBoolean ()) {
0 commit comments