From d077219d3a5f6f9393b1ae66a3db75503632e02a Mon Sep 17 00:00:00 2001 From: tedyu Date: Sat, 20 Aug 2016 17:16:39 -0700 Subject: [PATCH] HBASE-16409 Row key for bad row should be properly delimited in VerifyReplication --- .../mapreduce/replication/VerifyReplication.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/replication/VerifyReplication.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/replication/VerifyReplication.java index 16ff6fa85ca..c0aa7459766 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/replication/VerifyReplication.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/replication/VerifyReplication.java @@ -80,6 +80,7 @@ public class VerifyReplication extends Configured implements Tool { static int versions = -1; static String tableName = null; static String families = null; + static String delimiter = null; static String peerId = null; static String rowPrefixes = null; @@ -185,7 +186,8 @@ public class VerifyReplication extends Configured implements Tool { private void logFailRowAndIncreaseCounter(Context context, Counters counter, Result row) { context.getCounter(counter).increment(1); context.getCounter(Counters.BADROWS).increment(1); - LOG.error(counter.toString() + ", rowkey=" + Bytes.toString(row.getRow())); + LOG.error(counter.toString() + ", rowkey=" + delimiter + Bytes.toString(row.getRow()) + + delimiter); } @Override @@ -400,6 +402,12 @@ public class VerifyReplication extends Configured implements Tool { printUsage("Invalid argument '" + cmd + "'"); } + final String delimiterArgKey = "--delimiter="; + if (cmd.startsWith(delimiterArgKey)) { + delimiter = cmd.substring(delimiterArgKey.length()); + continue; + } + if (i == args.length-2) { peerId = cmd; } @@ -435,7 +443,7 @@ public class VerifyReplication extends Configured implements Tool { System.err.println("ERROR: " + errorMsg); } System.err.println("Usage: verifyrep [--starttime=X]" + - " [--endtime=Y] [--families=A] [--row-prefixes=B] "); + " [--endtime=Y] [--families=A] [--row-prefixes=B] [--delimiter=] "); System.err.println(); System.err.println("Options:"); System.err.println(" starttime beginning of the time range"); @@ -444,6 +452,7 @@ public class VerifyReplication extends Configured implements Tool { System.err.println(" versions number of cell versions to verify"); System.err.println(" families comma-separated list of families to copy"); System.err.println(" row-prefixes comma-separated list of row key prefixes to filter on "); + System.err.println(" delimiter the delimiter used in display around rowkey"); System.err.println(); System.err.println("Args:"); System.err.println(" peerid Id of the peer used for verification, must match the one given for replication");