HBASE-16409 Row key for bad row should be properly delimited in VerifyReplication

This commit is contained in:
tedyu 2016-08-20 17:16:39 -07:00
parent 7145e46b7a
commit d077219d3a
1 changed files with 11 additions and 2 deletions

View File

@ -80,6 +80,7 @@ public class VerifyReplication extends Configured implements Tool {
static int versions = -1; static int versions = -1;
static String tableName = null; static String tableName = null;
static String families = null; static String families = null;
static String delimiter = null;
static String peerId = null; static String peerId = null;
static String rowPrefixes = 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) { private void logFailRowAndIncreaseCounter(Context context, Counters counter, Result row) {
context.getCounter(counter).increment(1); context.getCounter(counter).increment(1);
context.getCounter(Counters.BADROWS).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 @Override
@ -400,6 +402,12 @@ public class VerifyReplication extends Configured implements Tool {
printUsage("Invalid argument '" + cmd + "'"); printUsage("Invalid argument '" + cmd + "'");
} }
final String delimiterArgKey = "--delimiter=";
if (cmd.startsWith(delimiterArgKey)) {
delimiter = cmd.substring(delimiterArgKey.length());
continue;
}
if (i == args.length-2) { if (i == args.length-2) {
peerId = cmd; peerId = cmd;
} }
@ -435,7 +443,7 @@ public class VerifyReplication extends Configured implements Tool {
System.err.println("ERROR: " + errorMsg); System.err.println("ERROR: " + errorMsg);
} }
System.err.println("Usage: verifyrep [--starttime=X]" + System.err.println("Usage: verifyrep [--starttime=X]" +
" [--endtime=Y] [--families=A] [--row-prefixes=B] <peerid> <tablename>"); " [--endtime=Y] [--families=A] [--row-prefixes=B] [--delimiter=] <peerid> <tablename>");
System.err.println(); System.err.println();
System.err.println("Options:"); System.err.println("Options:");
System.err.println(" starttime beginning of the time range"); 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(" versions number of cell versions to verify");
System.err.println(" families comma-separated list of families to copy"); 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(" 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();
System.err.println("Args:"); System.err.println("Args:");
System.err.println(" peerid Id of the peer used for verification, must match the one given for replication"); System.err.println(" peerid Id of the peer used for verification, must match the one given for replication");