Index: src/contrib/hbase/src/java/org/apache/hadoop/hbase/HMemcache.java =================================================================== --- src/contrib/hbase/src/java/org/apache/hadoop/hbase/HMemcache.java (revision 570659) +++ src/contrib/hbase/src/java/org/apache/hadoop/hbase/HMemcache.java (working copy) @@ -320,6 +320,24 @@ // Generate list of iterators HStoreKey firstKey = new HStoreKey(firstRow); for(int i = 0; i < backingMaps.length; i++) { + if (firstRow == null) { + LOG.error("firstRow is null"); + } + if (backingMaps[i] == null) { + LOG.error("backingMaps[" + i + "] is null"); + } + if (firstRow.getLength() != 0) { + if (backingMaps[i].tailMap(firstKey) == null) { + LOG.error("backingMaps[" + i + "].tailMap(firstKey) is null"); + } + if (backingMaps[i].tailMap(firstKey).keySet() == null) { + LOG.error("backingMaps[" + i + ".tailMap(firstKey).keySet() is null"); + } + } else { + if (backingMaps[i].keySet() == null) { + LOG.error("backingMaps[" + i + "].keySet() is null"); + } + } keyIterators[i] = (firstRow.getLength() != 0)? backingMaps[i].tailMap(firstKey).keySet().iterator(): backingMaps[i].keySet().iterator(); @@ -332,6 +350,10 @@ } } } + } catch (RuntimeException ex) { + ex.printStackTrace(); + close(); + throw ex; } catch(IOException ex) { LOG.error(ex); close(); Index: src/contrib/hbase/src/test/org/apache/hadoop/hbase/TestCleanRegionServerExit.java =================================================================== --- src/contrib/hbase/src/test/org/apache/hadoop/hbase/TestCleanRegionServerExit.java (revision 570659) +++ src/contrib/hbase/src/test/org/apache/hadoop/hbase/TestCleanRegionServerExit.java (working copy) @@ -37,7 +37,7 @@ super(2); conf.setInt("ipc.client.timeout", 5000); // reduce ipc client timeout conf.setInt("ipc.client.connect.max.retries", 5); // and number of retries - conf.setInt("hbase.client.retries.number", 3); // reduce HBase retries + conf.setInt("hbase.client.retries.number", 5); // reduce HBase retries Logger.getRootLogger().setLevel(Level.WARN); Logger.getLogger(this.getClass().getPackage().getName()).setLevel(Level.DEBUG); }