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;
}