From 2cc15f20bf47b2455ebe236ee93e4d1929c02d5e Mon Sep 17 00:00:00 2001 From: Xu Cang Date: Tue, 30 Jul 2019 15:06:06 -0700 Subject: [PATCH] HBASE-22762 Print the delta between phases in the split/merge/compact/flush transaction journals --- .../hbase/regionserver/SplitRequest.java | 2 +- .../regionserver/SplitTransactionImpl.java | 23 +++++++++++++++++-- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SplitRequest.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SplitRequest.java index de80e5dc76..5a62495e2f 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SplitRequest.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SplitRequest.java @@ -140,7 +140,7 @@ class SplitRequest implements Runnable { + StringUtils.formatTimeDiff(EnvironmentEdgeManager.currentTime(), startTime)); } // Always log the split transaction journal - LOG.info("Split transaction journal:\n\t" + StringUtils.join("\n\t", st.getJournal())); + LOG.info("Split transaction journal:\n" + st.toString()); } } diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SplitTransactionImpl.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SplitTransactionImpl.java index a588c999d5..55a5b38173 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SplitTransactionImpl.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SplitTransactionImpl.java @@ -578,7 +578,7 @@ public class SplitTransactionImpl implements SplitTransaction { Put putParent = MetaTableAccessor.makePutFromRegionInfo(copyOfParent); MetaTableAccessor.addDaughtersToPut(putParent, splitA, splitB); mutations.add(putParent); - + //Puts for daughters Put putA = MetaTableAccessor.makePutFromRegionInfo(splitA); Put putB = MetaTableAccessor.makePutFromRegionInfo(splitB); @@ -827,7 +827,7 @@ public class SplitTransactionImpl implements SplitTransaction { return splitStoreFile(family, sf); } } - + @Override public boolean rollback(final Server server, final RegionServerServices services) throws IOException { @@ -965,4 +965,23 @@ public class SplitTransactionImpl implements SplitTransaction { public RegionServerServices getRegionServerServices() { return rsServices; } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < journal.size(); i++) { + JournalEntry je = journal.get(i); + sb.append( je.toString()); + if (i != 0) { + JournalEntry jep = journal.get(i-1); + long delta = je.getTimeStamp() - jep.getTimeStamp(); + if (delta != 0) { + sb.append(" ( +" + delta + " ms)\n"); + } else { + sb.append("\n"); + } + } + } + return sb.toString(); + } } -- 2.17.2 (Apple Git-113)