Index: src/main/java/org/apache/hadoop/hbase/util/Bytes.java =================================================================== --- src/main/java/org/apache/hadoop/hbase/util/Bytes.java (revision 1333283) +++ src/main/java/org/apache/hadoop/hbase/util/Bytes.java (working copy) @@ -343,6 +343,9 @@ */ public static String toStringBinary(final byte [] b, int off, int len) { StringBuilder result = new StringBuilder(); + // Just in case we are passed a 'len' that is > buffer length... + if (off >= b.length) return result.toString(); + if (off + len > b.length) len = b.length - off; try { String first = new String(b, off, len, "ISO-8859-1"); for (int i = 0; i < first.length() ; ++i ) { Index: src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLog.java =================================================================== --- src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLog.java (revision 1333283) +++ src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLog.java (working copy) @@ -1715,7 +1715,7 @@ * Construct the HLog directory name * * @param serverName Server name formatted as described in {@link ServerName} - * @return the relative HLog directory name, e.g. .logs/1.example.org,6030,12345 + * @return the relative HLog directory name, e.g. .logs/1.example.org,60030,12345 * if serverName passed is 1.example.org,60030,12345 */ public static String getHLogDirectoryName(final String serverName) { Index: src/main/java/org/apache/hadoop/hbase/master/SplitLogManager.java =================================================================== --- src/main/java/org/apache/hadoop/hbase/master/SplitLogManager.java (revision 1333283) +++ src/main/java/org/apache/hadoop/hbase/master/SplitLogManager.java (working copy) @@ -538,7 +538,7 @@ try { getDataSetWatchSuccess(path, null, Integer.MIN_VALUE); } catch (DeserializationException e1) { - LOG.debug("failed to re-resubmit task " + path + " because of deserialization issue"); + LOG.debug("Failed to re-resubmit task " + path + " because of deserialization issue", e1); task.heartbeatNoDetails(EnvironmentEdgeManager.currentTimeMillis()); return false; }