Index: src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java =================================================================== --- src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java (revision 1221595) +++ src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java (working copy) @@ -79,6 +79,7 @@ import org.apache.hadoop.hbase.YouAreDeadException; import org.apache.hadoop.hbase.catalog.CatalogTracker; import org.apache.hadoop.hbase.catalog.MetaEditor; +import org.apache.hadoop.hbase.catalog.MetaReader; import org.apache.hadoop.hbase.catalog.RootLocationEditor; import org.apache.hadoop.hbase.client.Action; import org.apache.hadoop.hbase.client.Append; @@ -2260,15 +2261,22 @@ r.checkRow(scan.getStartRow(), "Scan"); r.prepareScanner(scan); RegionScanner s = null; + RegionScanner temp = null; if (r.getCoprocessorHost() != null) { s = r.getCoprocessorHost().preScannerOpen(scan); } if (s == null) { s = r.getScanner(scan); + temp = s; } if (r.getCoprocessorHost() != null) { s = r.getCoprocessorHost().postScannerOpen(scan, s); } + if(s == null){ + LOG + .warn("PostScannerOpen impl returning null. Check the RegionObserver implementation."); + s = temp; + } return addScanner(s); } catch (Throwable t) { throw convertThrowableToIOE(cleanup(t, "Failed openScanner"));