Repository: accumulo Updated Branches: refs/heads/1.7 81b6d5b94 -> 5947b4206 refs/heads/master 35cc52e94 -> 3521b35a1
ACCUMULO-4053 Enable better logging to debug ReplicationOperations.drain() Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/5947b420 Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/5947b420 Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/5947b420 Branch: refs/heads/1.7 Commit: 5947b420693baf52c55d2c2959faad922163e363 Parents: 81b6d5b Author: Josh Elser <els...@apache.org> Authored: Mon Nov 16 19:55:29 2015 -0500 Committer: Josh Elser <els...@apache.org> Committed: Mon Nov 16 19:55:29 2015 -0500 ---------------------------------------------------------------------- .../master/MasterClientServiceHandler.java | 21 +++++++++++--------- .../master/replication/FinishedWorkUpdater.java | 2 +- .../replication/MultiInstanceReplicationIT.java | 4 +++- test/src/test/resources/log4j.properties | 2 ++ 4 files changed, 18 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/accumulo/blob/5947b420/server/master/src/main/java/org/apache/accumulo/master/MasterClientServiceHandler.java ---------------------------------------------------------------------- diff --git a/server/master/src/main/java/org/apache/accumulo/master/MasterClientServiceHandler.java b/server/master/src/main/java/org/apache/accumulo/master/MasterClientServiceHandler.java index e65dcec..cff8b51 100644 --- a/server/master/src/main/java/org/apache/accumulo/master/MasterClientServiceHandler.java +++ b/server/master/src/main/java/org/apache/accumulo/master/MasterClientServiceHandler.java @@ -95,12 +95,14 @@ import org.apache.thrift.TException; import org.apache.zookeeper.KeeperException; import org.apache.zookeeper.KeeperException.NoNodeException; import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import com.google.protobuf.InvalidProtocolBufferException; class MasterClientServiceHandler extends FateServiceHandler implements MasterClientService.Iface { private static final Logger log = Master.log; + private static final Logger drainLog = LoggerFactory.getLogger("org.apache.accumulo.master.MasterDrainImpl"); private Instance instance; MasterClientServiceHandler(Master master) { @@ -503,9 +505,9 @@ class MasterClientServiceHandler extends FateServiceHandler implements MasterCli final Text tableId = new Text(getTableId(master.getInstance(), tableName)); - log.trace("Waiting for {} to be replicated for {}", logsToWatch, tableId); + drainLog.trace("Waiting for {} to be replicated for {}", logsToWatch, tableId); - log.trace("Reading from metadata table"); + drainLog.trace("Reading from metadata table"); final Set<Range> range = Collections.singleton(new Range(ReplicationSection.getRange())); BatchScanner bs; try { @@ -524,7 +526,7 @@ class MasterClientServiceHandler extends FateServiceHandler implements MasterCli bs.close(); } - log.trace("reading from replication table"); + drainLog.trace("reading from replication table"); try { bs = conn.createBatchScanner(ReplicationTable.NAME, Authorizations.EMPTY, 4); } catch (TableNotFoundException e) { @@ -549,7 +551,7 @@ class MasterClientServiceHandler extends FateServiceHandler implements MasterCli protected boolean allReferencesReplicated(BatchScanner bs, Text tableId, Set<String> relevantLogs) { Text rowHolder = new Text(), colfHolder = new Text(); for (Entry<Key,Value> entry : bs) { - log.trace("Got key {}", entry.getKey().toStringNoTruncate()); + drainLog.trace("Got key {}", entry.getKey().toStringNoTruncate()); entry.getKey().getColumnQualifier(rowHolder); if (tableId.equals(rowHolder)) { @@ -563,27 +565,28 @@ class MasterClientServiceHandler extends FateServiceHandler implements MasterCli } else if (colfHolder.equals(OrderSection.NAME)) { file = OrderSection.getFile(entry.getKey(), rowHolder); long timeClosed = OrderSection.getTimeClosed(entry.getKey(), rowHolder); - log.trace("Order section: {} and {}", timeClosed, file); + drainLog.trace("Order section: {} and {}", timeClosed, file); } else { file = rowHolder.toString(); } // Skip files that we didn't observe when we started (new files/data) if (!relevantLogs.contains(file)) { - log.trace("Found file that we didn't care about {}", file); + drainLog.trace("Found file that we didn't care about {}", file); continue; } else { - log.trace("Found file that we *do* care about {}", file); + drainLog.trace("Found file that we *do* care about {}", file); } try { Status stat = Status.parseFrom(entry.getValue().get()); if (!StatusUtil.isFullyReplicated(stat)) { - log.trace("{} and {} is not fully replicated", entry.getKey().getRow(), ProtobufUtil.toString(stat)); + drainLog.trace("{} and {} is not replicated", file, ProtobufUtil.toString(stat)); return false; } + drainLog.trace("{} and {} is replicated", file, ProtobufUtil.toString(stat)); } catch (InvalidProtocolBufferException e) { - log.trace("Could not parse protobuf for {}", entry.getKey(), e); + drainLog.trace("Could not parse protobuf for {}", entry.getKey(), e); } } } http://git-wip-us.apache.org/repos/asf/accumulo/blob/5947b420/server/master/src/main/java/org/apache/accumulo/master/replication/FinishedWorkUpdater.java ---------------------------------------------------------------------- diff --git a/server/master/src/main/java/org/apache/accumulo/master/replication/FinishedWorkUpdater.java b/server/master/src/main/java/org/apache/accumulo/master/replication/FinishedWorkUpdater.java index b20fdcc..c40743e 100644 --- a/server/master/src/main/java/org/apache/accumulo/master/replication/FinishedWorkUpdater.java +++ b/server/master/src/main/java/org/apache/accumulo/master/replication/FinishedWorkUpdater.java @@ -150,7 +150,7 @@ public class FinishedWorkUpdater implements Runnable { // Make the mutation StatusSection.add(replMutation, buffer, serializedUpdatedStatus); - log.debug("Updating replication status entry for {} with {}", serializedRow.getKey().getRow(), updatedStatus); + log.debug("Updating replication status entry for {} with {}", serializedRow.getKey().getRow(), ProtobufUtil.toString(updatedStatus)); try { replBw.addMutation(replMutation); http://git-wip-us.apache.org/repos/asf/accumulo/blob/5947b420/test/src/test/java/org/apache/accumulo/test/replication/MultiInstanceReplicationIT.java ---------------------------------------------------------------------- diff --git a/test/src/test/java/org/apache/accumulo/test/replication/MultiInstanceReplicationIT.java b/test/src/test/java/org/apache/accumulo/test/replication/MultiInstanceReplicationIT.java index 3dc029e..bd10f90 100644 --- a/test/src/test/java/org/apache/accumulo/test/replication/MultiInstanceReplicationIT.java +++ b/test/src/test/java/org/apache/accumulo/test/replication/MultiInstanceReplicationIT.java @@ -252,8 +252,10 @@ public class MultiInstanceReplicationIT extends ConfigurableMacIT { @Override public Boolean call() throws Exception { + long then = System.currentTimeMillis(); connMaster.replicationOperations().drain(masterTable, filesNeedingReplication); - log.info("Drain completed"); + long now = System.currentTimeMillis(); + log.info("Drain completed in " + (now - then) + "ms"); return true; } http://git-wip-us.apache.org/repos/asf/accumulo/blob/5947b420/test/src/test/resources/log4j.properties ---------------------------------------------------------------------- diff --git a/test/src/test/resources/log4j.properties b/test/src/test/resources/log4j.properties index 26ea762..8ab1d7b 100644 --- a/test/src/test/resources/log4j.properties +++ b/test/src/test/resources/log4j.properties @@ -53,3 +53,5 @@ log4j.logger.org.apache.thrift.transport.TSaslTransport=INFO log4j.logger.org.apache.mina=INFO log4j.logger.org.apache.accumulo.server.thrift.UGIAssumingProcessor=TRACE log4j.logger.org.apache.hadoop.security.UserGroupInformation=INFO +# For debugging replication tests. +log4j.logger.org.apache.accumulo.master.MasterDrainImpl=TRACE \ No newline at end of file