From 5882fd599cc12bbfb669f959caf27c0c6ae14389 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 fix typo --- .../hbase/regionserver/SplitRequest.java | 2 +- .../hbase/regionserver/SplitTransaction.java | 2 +- .../regionserver/SplitTransactionImpl.java | 18 ++++++++++++++++-- 3 files changed, 18 insertions(+), 4 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/SplitTransaction.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SplitTransaction.java index 6be881c115..40982ddabf 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SplitTransaction.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SplitTransaction.java @@ -145,7 +145,7 @@ public interface SplitTransaction { /** @return the completed phase marked by this journal entry */ SplitTransactionPhase getPhase(); - /** @return the time of phase completion */ + /** @return the time of phase start */ long getTimeStamp(); } 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..ada145bc43 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,18 @@ 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); + if (i != 0) { + JournalEntry jep = journal.get(i-1); + sb.append (" (" + (je.getTimeStamp() - jep.getTimeStamp()) + "ms)\n"); + } + sb.append( je.toString()); + } + return sb.toString(); + } } -- 2.17.2 (Apple Git-113)