public void testV0LegacyTranslogVersion() throws Exception { Path translogFile = getDataPath("/org/elasticsearch/index/translog/translog-v0.binary"); assertThat("test file should exist", Files.exists(translogFile), equalTo(true)); try (ImmutableTranslogReader reader = openReader(translogFile, 0)) { assertThat( "a version0 stream is returned", reader instanceof LegacyTranslogReader, equalTo(true)); try (final Translog.Snapshot snapshot = reader.newSnapshot()) { final Translog.Operation operation = snapshot.next(); assertThat( "operation is the correct type correctly", operation.opType() == Translog.Operation.Type.INDEX, equalTo(true)); Translog.Index op = (Translog.Index) operation; assertThat(op.id(), equalTo("1")); assertThat(op.type(), equalTo("doc")); assertThat( op.source().toUtf8(), equalTo("{\"body\": \"worda wordb wordc wordd \\\"worde\\\" wordf\"}")); assertThat(op.routing(), equalTo(null)); assertThat(op.parent(), equalTo(null)); assertThat(op.version(), equalTo(1L)); assertThat(op.timestamp(), equalTo(1407312091791L)); assertThat(op.ttl(), equalTo(-1L)); assertThat(op.versionType(), equalTo(VersionType.INTERNAL)); assertNull(snapshot.next()); } } }
public void testV1ChecksummedTranslogVersion() throws Exception { Path translogFile = getDataPath("/org/elasticsearch/index/translog/translog-v1.binary"); assertThat("test file should exist", Files.exists(translogFile), equalTo(true)); try (ImmutableTranslogReader reader = openReader(translogFile, 0)) { try (final Translog.Snapshot snapshot = reader.newSnapshot()) { assertThat( "a version1 stream is returned", reader instanceof ImmutableTranslogReader, equalTo(true)); Translog.Operation operation = snapshot.next(); assertThat( "operation is the correct type correctly", operation.opType() == Translog.Operation.Type.INDEX, equalTo(true)); Translog.Index op = (Translog.Index) operation; assertThat(op.id(), equalTo("Bwiq98KFSb6YjJQGeSpeiw")); assertThat(op.type(), equalTo("doc")); assertThat(op.source().toUtf8(), equalTo("{\"body\": \"foo\"}")); assertThat(op.routing(), equalTo(null)); assertThat(op.parent(), equalTo(null)); assertThat(op.version(), equalTo(1L)); assertThat(op.timestamp(), equalTo(1408627184844L)); assertThat(op.ttl(), equalTo(-1L)); assertThat(op.versionType(), equalTo(VersionType.INTERNAL)); // There are more operations int opNum = 1; while (snapshot.next() != null) { opNum++; } assertThat("there should be 5 translog operations", opNum, equalTo(5)); } } }