ACCUMULO-378 Make the MockReplicaSystem a bit more honest and only set full replication when closed and inf length
Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/3b727cf9 Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/3b727cf9 Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/3b727cf9 Branch: refs/heads/ACCUMULO-378 Commit: 3b727cf94f4341d39adf07dcbd62361b7d4a0de3 Parents: 3605275 Author: Josh Elser <els...@apache.org> Authored: Mon May 26 13:48:21 2014 -0400 Committer: Josh Elser <els...@apache.org> Committed: Mon May 26 13:48:21 2014 -0400 ---------------------------------------------------------------------- .../test/replication/MockReplicaSystem.java | 25 +++++++++++++++----- 1 file changed, 19 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/accumulo/blob/3b727cf9/test/src/main/java/org/apache/accumulo/test/replication/MockReplicaSystem.java ---------------------------------------------------------------------- diff --git a/test/src/main/java/org/apache/accumulo/test/replication/MockReplicaSystem.java b/test/src/main/java/org/apache/accumulo/test/replication/MockReplicaSystem.java index fa6ca2f..ac44f97 100644 --- a/test/src/main/java/org/apache/accumulo/test/replication/MockReplicaSystem.java +++ b/test/src/main/java/org/apache/accumulo/test/replication/MockReplicaSystem.java @@ -19,6 +19,7 @@ package org.apache.accumulo.test.replication; import org.apache.accumulo.core.client.replication.ReplicaSystem; import org.apache.accumulo.core.replication.ReplicationTarget; import org.apache.accumulo.core.replication.proto.Replication.Status; +import org.apache.commons.lang.StringUtils; import org.apache.hadoop.fs.Path; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -37,11 +38,18 @@ public class MockReplicaSystem implements ReplicaSystem { @Override public Status replicate(Path p, Status status, ReplicationTarget target) { - Status.Builder builder = Status.newBuilder(status); - if (status.getInfiniteEnd()) { - builder.setBegin(Long.MAX_VALUE); + Status newStatus; + if (status.getClosed() && status.getInfiniteEnd()) { + Status.Builder builder = Status.newBuilder(status); + if (status.getInfiniteEnd()) { + builder.setBegin(Long.MAX_VALUE); + } else { + builder.setBegin(status.getEnd()); + } + newStatus = builder.build(); } else { - builder.setBegin(status.getEnd()); + log.info("{} with status {} is not closed and with infinite length, ignoring"); + newStatus = status; } try { @@ -52,13 +60,18 @@ public class MockReplicaSystem implements ReplicaSystem { return status; } - Status newStatus = builder.build(); - log.info("Received {} returned {}", TextFormat.shortDebugString(status), TextFormat.shortDebugString(newStatus)); + log.info("Received {}, returned {}", TextFormat.shortDebugString(status), TextFormat.shortDebugString(newStatus)); + return newStatus; } @Override public void configure(String configuration) { + if (StringUtils.isBlank(configuration)) { + log.debug("No configuration, using default sleep of {}", sleep); + return; + } + try { sleep = Long.parseLong(configuration); } catch (NumberFormatException e) {