Author: stack Date: Wed Apr 28 22:39:56 2010 New Revision: 939121 URL: http://svn.apache.org/viewvc?rev=939121&view=rev Log: HBASE-2497 ProcessServerShutdown throws NullPointerException for offline regions
Modified: hadoop/hbase/branches/0.20_pre_durability/CHANGES.txt hadoop/hbase/branches/0.20_pre_durability/src/java/org/apache/hadoop/hbase/master/BaseScanner.java hadoop/hbase/branches/0.20_pre_durability/src/java/org/apache/hadoop/hbase/master/ProcessServerShutdown.java hadoop/hbase/branches/0.20_pre_durability/src/java/org/apache/hadoop/hbase/master/TableOperation.java Modified: hadoop/hbase/branches/0.20_pre_durability/CHANGES.txt URL: http://svn.apache.org/viewvc/hadoop/hbase/branches/0.20_pre_durability/CHANGES.txt?rev=939121&r1=939120&r2=939121&view=diff ============================================================================== --- hadoop/hbase/branches/0.20_pre_durability/CHANGES.txt (original) +++ hadoop/hbase/branches/0.20_pre_durability/CHANGES.txt Wed Apr 28 22:39:56 2010 @@ -62,6 +62,8 @@ Release 0.20.4 - Mon Apr 26 08:39:23 PDT HBASE-2378 Bulk insert with multiple reducers broken due to improper ImmutableBytesWritable comparator HBASE-2381 missing copyright headers (Andrew Purtell via Stack) + HBASE-2497 ProcessServerShutdown throws NullPointerException for offline + regions IMPROVEMENTS HBASE-2180 Bad read performance from synchronizing hfile.fddatainputstream Modified: hadoop/hbase/branches/0.20_pre_durability/src/java/org/apache/hadoop/hbase/master/BaseScanner.java URL: http://svn.apache.org/viewvc/hadoop/hbase/branches/0.20_pre_durability/src/java/org/apache/hadoop/hbase/master/BaseScanner.java?rev=939121&r1=939120&r2=939121&view=diff ============================================================================== --- hadoop/hbase/branches/0.20_pre_durability/src/java/org/apache/hadoop/hbase/master/BaseScanner.java (original) +++ hadoop/hbase/branches/0.20_pre_durability/src/java/org/apache/hadoop/hbase/master/BaseScanner.java Wed Apr 28 22:39:56 2010 @@ -247,7 +247,7 @@ abstract class BaseScanner extends Chore * @param r * @return Empty String or server address found in <code>r</code> */ - private String getServerAddress(final Result r) { + static String getServerAddress(final Result r) { byte [] val = r.getValue(CATALOG_FAMILY, SERVER_QUALIFIER); return val == null || val.length <= 0? "": Bytes.toString(val); } @@ -256,7 +256,7 @@ abstract class BaseScanner extends Chore * @param r * @return Return 0L or server startcode found in <code>r</code> */ - private long getStartCode(final Result r) { + static long getStartCode(final Result r) { byte [] val = r.getValue(CATALOG_FAMILY, STARTCODE_QUALIFIER); return val == null || val.length <= 0? 0L: Bytes.toLong(val); } Modified: hadoop/hbase/branches/0.20_pre_durability/src/java/org/apache/hadoop/hbase/master/ProcessServerShutdown.java URL: http://svn.apache.org/viewvc/hadoop/hbase/branches/0.20_pre_durability/src/java/org/apache/hadoop/hbase/master/ProcessServerShutdown.java?rev=939121&r1=939120&r2=939121&view=diff ============================================================================== --- hadoop/hbase/branches/0.20_pre_durability/src/java/org/apache/hadoop/hbase/master/ProcessServerShutdown.java (original) +++ hadoop/hbase/branches/0.20_pre_durability/src/java/org/apache/hadoop/hbase/master/ProcessServerShutdown.java Wed Apr 28 22:39:56 2010 @@ -26,19 +26,16 @@ import java.util.List; import java.util.Set; import org.apache.hadoop.fs.Path; -import org.apache.hadoop.hbase.HConstants; import org.apache.hadoop.hbase.HRegionInfo; +import org.apache.hadoop.hbase.HServerAddress; import org.apache.hadoop.hbase.HServerInfo; import org.apache.hadoop.hbase.RemoteExceptionHandler; -import org.apache.hadoop.hbase.HServerAddress; import org.apache.hadoop.hbase.client.Result; import org.apache.hadoop.hbase.client.Scan; import org.apache.hadoop.hbase.ipc.HRegionInterface; import org.apache.hadoop.hbase.regionserver.HLog; import org.apache.hadoop.hbase.regionserver.HRegion; -import org.apache.hadoop.hbase.util.Writables; import org.apache.hadoop.hbase.util.Bytes; -import org.apache.hadoop.hbase.io.RowResult; /** * Instantiated when a server's lease has expired, meaning it has crashed. @@ -143,10 +140,9 @@ class ProcessServerShutdown extends Regi // shutdown server but that would mean that we'd reassign regions that // were already out being assigned, ones that were product of a split // that happened while the shutdown was being processed. - String serverAddress = - Bytes.toString(values.getValue(CATALOG_FAMILY, SERVER_QUALIFIER)); - long startCode = - Bytes.toLong(values.getValue(CATALOG_FAMILY, STARTCODE_QUALIFIER)); + String serverAddress = BaseScanner.getServerAddress(values); + long startCode = BaseScanner.getStartCode(values); + String serverName = null; if (serverAddress != null && serverAddress.length() > 0) { serverName = HServerInfo.getServerName(serverAddress, startCode); Modified: hadoop/hbase/branches/0.20_pre_durability/src/java/org/apache/hadoop/hbase/master/TableOperation.java URL: http://svn.apache.org/viewvc/hadoop/hbase/branches/0.20_pre_durability/src/java/org/apache/hadoop/hbase/master/TableOperation.java?rev=939121&r1=939120&r2=939121&view=diff ============================================================================== --- hadoop/hbase/branches/0.20_pre_durability/src/java/org/apache/hadoop/hbase/master/TableOperation.java (original) +++ hadoop/hbase/branches/0.20_pre_durability/src/java/org/apache/hadoop/hbase/master/TableOperation.java Wed Apr 28 22:39:56 2010 @@ -101,10 +101,8 @@ abstract class TableOperation implements Bytes.toStringBinary(values.getRow())); continue; } - String serverAddress = - Bytes.toString(values.getValue(CATALOG_FAMILY, SERVER_QUALIFIER)); - long startCode = - Bytes.toLong(values.getValue(CATALOG_FAMILY, STARTCODE_QUALIFIER)); + String serverAddress = BaseScanner.getServerAddress(values); + long startCode = BaseScanner.getStartCode(values); String serverName = null; if (serverAddress != null && serverAddress.length() > 0) { serverName = HServerInfo.getServerName(serverAddress, startCode); @@ -177,4 +175,4 @@ abstract class TableOperation implements protected abstract void postProcessMeta(MetaRegion m, HRegionInterface server) throws IOException; -} \ No newline at end of file +}