Index: src/main/java/org/apache/hadoop/hbase/util/Bytes.java
===================================================================
--- src/main/java/org/apache/hadoop/hbase/util/Bytes.java (revision 1333239)
+++ src/main/java/org/apache/hadoop/hbase/util/Bytes.java (working copy)
@@ -343,8 +343,10 @@
*/
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...
+ int length = Math.min(len, b.length);
try {
- String first = new String(b, off, len, "ISO-8859-1");
+ String first = new String(b, off, length, "ISO-8859-1");
for (int i = 0; i < first.length() ; ++i ) {
int ch = first.charAt(i) & 0xFF;
if ( (ch >= '0' && ch <= '9')
Index: src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLog.java
===================================================================
--- src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLog.java (revision 1333239)
+++ 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 1333239)
+++ 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;
}