Index: D:/workspace/hbase-0.90.5/src/main/java/org/apache/hadoop/hbase/client/HTable.java =================================================================== --- D:/workspace/hbase-0.90.5/src/main/java/org/apache/hadoop/hbase/client/HTable.java (revision 48566) +++ D:/workspace/hbase-0.90.5/src/main/java/org/apache/hadoop/hbase/client/HTable.java (working copy) @@ -423,24 +423,25 @@ MetaScannerVisitor visitor = new MetaScannerVisitor() { public boolean processRow(Result rowResult) throws IOException { - HRegionInfo info = Writables.getHRegionInfo( - rowResult.getValue(HConstants.CATALOG_FAMILY, - HConstants.REGIONINFO_QUALIFIER)); + HRegionInfo info = Writables.getHRegionInfoOrNull(rowResult.getValue( + HConstants.CATALOG_FAMILY, HConstants.REGIONINFO_QUALIFIER)); - if (!(Bytes.equals(info.getTableDesc().getName(), getTableName()))) { - return false; - } + if (info != null) { + if (!(Bytes.equals(info.getTableDesc().getName(), getTableName()))) { + return false; + } - HServerAddress server = new HServerAddress(); - byte [] value = rowResult.getValue(HConstants.CATALOG_FAMILY, - HConstants.SERVER_QUALIFIER); - if (value != null && value.length > 0) { - String address = Bytes.toString(value); - server = new HServerAddress(address); - } + HServerAddress server = new HServerAddress(); + byte[] value = rowResult.getValue(HConstants.CATALOG_FAMILY, + HConstants.SERVER_QUALIFIER); + if (value != null && value.length > 0) { + String address = Bytes.toString(value); + server = new HServerAddress(address); + } - if (!(info.isOffline() || info.isSplit())) { - regionMap.put(new UnmodifyableHRegionInfo(info), server); + if (!(info.isOffline() || info.isSplit())) { + regionMap.put(new UnmodifyableHRegionInfo(info), server); + } } return true; }