You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by el...@apache.org on 2014/05/28 02:40:46 UTC
[06/13] git commit: ACCUMULO-2582 Just use the Work status instead of
data in ZK
ACCUMULO-2582 Just use the Work status instead of data in ZK
Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/be780974
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/be780974
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/be780974
Branch: refs/heads/ACCUMULO-378
Commit: be7809748aab6eb296018a5c60846df7d5dac6d1
Parents: 80a1688
Author: Josh Elser <el...@apache.org>
Authored: Tue May 27 17:09:42 2014 -0400
Committer: Josh Elser <el...@apache.org>
Committed: Tue May 27 17:09:42 2014 -0400
----------------------------------------------------------------------
.../monitor/servlets/ReplicationServlet.java | 55 ++++++++++----------
1 file changed, 28 insertions(+), 27 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/accumulo/blob/be780974/server/monitor/src/main/java/org/apache/accumulo/monitor/servlets/ReplicationServlet.java
----------------------------------------------------------------------
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/servlets/ReplicationServlet.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/servlets/ReplicationServlet.java
index 9c6a1ea..234c7b4 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/servlets/ReplicationServlet.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/servlets/ReplicationServlet.java
@@ -44,6 +44,7 @@ import org.apache.accumulo.core.metadata.MetadataTable;
import org.apache.accumulo.core.metadata.RootTable;
import org.apache.accumulo.core.replication.ReplicationSchema.WorkSection;
import org.apache.accumulo.core.replication.ReplicationTarget;
+import org.apache.accumulo.core.replication.StatusUtil;
import org.apache.accumulo.core.replication.proto.Replication.Status;
import org.apache.accumulo.core.security.Authorizations;
import org.apache.accumulo.core.security.Credentials;
@@ -213,43 +214,43 @@ public class ReplicationServlet extends BasicServlet {
String filename = queueKeyPair.getKey();
ReplicationTarget target = queueKeyPair.getValue();
- byte[] data = zooCache.get(workQueuePath + "/" + queueKey);
-
- if (null != data) {
- Scanner s = ReplicationTable.getScanner(conn);
- s.setRange(Range.exact(filename));
- s.fetchColumn(WorkSection.NAME, target.toText());
+ Scanner s = ReplicationTable.getScanner(conn);
+ s.setRange(Range.exact(filename));
+ s.fetchColumn(WorkSection.NAME, target.toText());
+
+ // Fetch the work entry for this item
+ String status = "Unknown";
+ Entry<Key,Value> kv = null;
+ try {
+ kv = Iterables.getOnlyElement(s);
+ } catch (NoSuchElementException e) {
+ log.trace("Could not find status of {} replicating to {}", filename, target);
+ status = "Unknown";
+ } finally {
+ s.close();
+ }
- // Fetch the work entry for this item
- String status = "Unknown";
- Entry<Key,Value> kv = null;
+ // If we found the work entry for it, try to compute some progress
+ if (null != kv) {
try {
- kv = Iterables.getOnlyElement(s);
- } catch (NoSuchElementException e) {
- log.trace("Could not find status of {} replicating to {}", filename, target);
- status = "Unknown";
- } finally {
- s.close();
- }
-
- // If we found the work entry for it, try to compute some progress
- if (null != kv) {
- try {
- Status stat = Status.parseFrom(kv.getValue().get());
+ Status stat = Status.parseFrom(kv.getValue().get());
+ if (StatusUtil.isFullyReplicated(stat)) {
+ status = "Finished";
+ } else {
if (stat.getInfiniteEnd()) {
status = stat.getBegin() + "/∞";
} else {
status = stat.getBegin() + "/" + stat.getEnd();
}
- } catch (InvalidProtocolBufferException e) {
- log.warn("Could not deserialize protobuf for {}", kv.getKey(), e);
- status = "Unknown";
}
+ } catch (InvalidProtocolBufferException e) {
+ log.warn("Could not deserialize protobuf for {}", kv.getKey(), e);
+ status = "Unknown";
}
-
- // Add a row in the table
- replicationInProgress.addRow(filename, target.getPeerName(), target.getSourceTableId(), target.getRemoteIdentifier(), status);
}
+
+ // Add a row in the table
+ replicationInProgress.addRow(filename, target.getPeerName(), target.getSourceTableId(), target.getRemoteIdentifier(), status);
}
replicationInProgress.generate(req, sb);