@Test public void closingAnOnlineIndexUpdaterMustNotThrowEvenIfItHasBeenFedConflictingData() throws Exception { // The reason is that we use and close IndexUpdaters in commit - not in prepare - and therefor // we cannot have them go around and throw exceptions, because that could potentially break // recovery. // Conflicting data can happen because of faulty data coercion. These faults are resolved by // the exact-match filtering we do on index seeks. updateAndCommit( asList( add( 1L, descriptor.schema(), "a", "a" ), add( 2L, descriptor.schema(), "a", "a" ) ) ); assertThat( query( exact( 0, "a" ), exact( 1, "a" ) ), equalTo( asList( 1L, 2L ) ) ); } }