diff -ur hbase-0.98.3.orig/hbase-client/src/main/java/org/apache/hadoop/hbase/HRegionInfo.java hbase-0.98.3/hbase-client/src/main/java/org/apache/hadoop/hbase/HRegionInfo.java --- hbase-0.98.3.orig/hbase-client/src/main/java/org/apache/hadoop/hbase/HRegionInfo.java 2014-05-30 12:25:06.000000000 -0700 +++ hbase-0.98.3/hbase-client/src/main/java/org/apache/hadoop/hbase/HRegionInfo.java 2014-06-21 11:00:32.000000000 -0700 @@ -1056,8 +1056,13 @@ cell = r.getColumnLatestCell(HConstants.CATALOG_FAMILY, HConstants.STARTCODE_QUALIFIER); if (cell == null || cell.getValueLength() == 0) return null; - return ServerName.valueOf(hostAndPort, - Bytes.toLong(cell.getValueArray(), cell.getValueOffset(), cell.getValueLength())); + try { + return ServerName.valueOf(hostAndPort, + Bytes.toLong(cell.getValueArray(), cell.getValueOffset(), cell.getValueLength())); + } catch (IllegalArgumentException e) { + LOG.error("Ignoring invalid region for server " + hostAndPort + "; cell=" + cell, e); + return null; + } } /**