use of org.apache.accumulo.server.replication.proto.Replication.Status in project accumulo by apache.
the class StatusCombinerTest method commutativeWithMultipleUpdatesSingleBuilder.
@Test
public void commutativeWithMultipleUpdatesSingleBuilder() {
Status newFile = StatusUtil.fileCreated(100), update1 = StatusUtil.ingestedUntil(builder, 100), update2 = StatusUtil.ingestedUntil(builder, 200), repl1 = StatusUtil.replicated(builder, 50), repl2 = StatusUtil.replicated(builder, 150);
Status order1 = combiner.typedReduce(key, Arrays.asList(newFile, update1, repl1, update2, repl2).iterator());
// Got all replication updates before ingest updates
Status permutation = combiner.typedReduce(key, Arrays.asList(newFile, repl1, update1, repl2, update2).iterator());
Assert.assertEquals(order1, permutation);
// All replications before updates
permutation = combiner.typedReduce(key, Arrays.asList(newFile, repl1, repl2, update1, update2).iterator());
Assert.assertEquals(order1, permutation);
// All updates before replications
permutation = combiner.typedReduce(key, Arrays.asList(newFile, update1, update2, repl1, repl2).iterator());
Assert.assertEquals(order1, permutation);
}
use of org.apache.accumulo.server.replication.proto.Replication.Status in project accumulo by apache.
the class StatusCombinerTest method testCombination.
@Test
public void testCombination() {
List<Status> status = new ArrayList<>();
long time = System.currentTimeMillis();
status.add(StatusUtil.fileCreated(time));
status.add(StatusUtil.openWithUnknownLength());
status.add(StatusUtil.fileClosed());
Status combined = combiner.typedReduce(new Key("row"), status.iterator());
Assert.assertEquals(time, combined.getCreatedTime());
Assert.assertTrue(combined.getInfiniteEnd());
Assert.assertTrue(combined.getClosed());
}
use of org.apache.accumulo.server.replication.proto.Replication.Status in project accumulo by apache.
the class StatusCombinerTest method returnsSameObject.
@Test
public void returnsSameObject() {
Status status = StatusUtil.ingestedUntil(10);
// When combining only one message, we should get back the same instance
Status ret = combiner.typedReduce(key, Collections.singleton(status).iterator());
Assert.assertEquals(status, ret);
Assert.assertTrue(status == ret);
}
use of org.apache.accumulo.server.replication.proto.Replication.Status in project accumulo by apache.
the class StatusCombinerTest method commutativeNewUpdates.
@Test
public void commutativeNewUpdates() {
Status newFile = StatusUtil.fileCreated(100), firstSync = StatusUtil.ingestedUntil(100), secondSync = StatusUtil.ingestedUntil(200);
Status order1 = combiner.typedReduce(key, Arrays.asList(newFile, firstSync, secondSync).iterator()), order2 = combiner.typedReduce(key, Arrays.asList(newFile, secondSync, firstSync).iterator());
Assert.assertEquals(order1, order2);
}
use of org.apache.accumulo.server.replication.proto.Replication.Status in project accumulo by apache.
the class StatusCombinerTest method commutativeWithCloseSingleBuilder.
@Test
public void commutativeWithCloseSingleBuilder() {
Status newFile = StatusUtil.fileCreated(100), closed = StatusUtil.fileClosed(), secondSync = StatusUtil.ingestedUntil(builder, 200);
Status order1 = combiner.typedReduce(key, Arrays.asList(newFile, closed, secondSync).iterator()), order2 = combiner.typedReduce(key, Arrays.asList(newFile, secondSync, closed).iterator());
Assert.assertEquals(order1, order2);
}
Aggregations