Author: tedyu
Date: Tue Jul 19 03:42:06 2011
New Revision: 1148141
URL: http://svn.apache.org/viewvc?rev=1148141&view=rev
Log:
HBASE-4112 Creating table may throw NullPointerException (Jinchao via Ted Yu)
Modified:
hbase/branches/0.90/CHANGES.txt
hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
Modified: hbase/branches/0.90/CHANGES.txt
URL:
http://svn.apache.org/viewvc/hbase/branches/0.90/CHANGES.txt?rev=1148141&r1=1148140&r2=1148141&view=diff
==============================================================================
--- hbase/branches/0.90/CHANGES.txt (original)
+++ hbase/branches/0.90/CHANGES.txt Tue Jul 19 03:42:06 2011
@@ -70,6 +70,7 @@ Release 0.90.4 - Unreleased
HBASE-4075 A bug in TestZKBasedOpenCloseRegion (Jieshan Bean)
HBASE-4052 Enabling a table after master switch does not allow table scan,
throwing NotServingRegionException (ramkrishna via Ted Yu)
+ HBASE-4112 Creating table may throw NullPointerException (Jinchao via Ted
Yu)
IMPROVEMENT
HBASE-3882 hbase-config.sh needs to be updated so it can auto-detects the
Modified:
hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
URL:
http://svn.apache.org/viewvc/hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java?rev=1148141&r1=1148140&r2=1148141&view=diff
==============================================================================
---
hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
(original)
+++
hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
Tue Jul 19 03:42:06 2011
@@ -303,9 +303,13 @@ public class HBaseAdmin implements Abort
MetaScannerVisitor visitor = new MetaScannerVisitor() {
@Override
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 regioninfo is null, skip this row
+ if (null == info) {
+ return true;
+ }
if (!(Bytes.equals(info.getTableDesc().getName(), desc.getName()))) {
return false;
}