You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by st...@apache.org on 2010/04/29 00:37:21 UTC
svn commit: r939120 - in /hadoop/hbase/branches/0.20: CHANGES.txt
src/java/org/apache/hadoop/hbase/master/BaseScanner.java
src/java/org/apache/hadoop/hbase/master/ProcessServerShutdown.java
src/java/org/apache/hadoop/hbase/master/TableOperation.java
Author: stack
Date: Wed Apr 28 22:37:21 2010
New Revision: 939120
URL: http://svn.apache.org/viewvc?rev=939120&view=rev
Log:
HBASE-2497 ProcessServerShutdown throws NullPointerException for offline regions
Modified:
hadoop/hbase/branches/0.20/CHANGES.txt
hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/master/BaseScanner.java
hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/master/ProcessServerShutdown.java
hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/master/TableOperation.java
Modified: hadoop/hbase/branches/0.20/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/hbase/branches/0.20/CHANGES.txt?rev=939120&r1=939119&r2=939120&view=diff
==============================================================================
--- hadoop/hbase/branches/0.20/CHANGES.txt (original)
+++ hadoop/hbase/branches/0.20/CHANGES.txt Wed Apr 28 22:37:21 2010
@@ -105,6 +105,8 @@ Release 0.20.4 - Unreleased
(Todd Lipcon via Stack)
HBASE-2442 Log lease recovery catches IOException too widely
(Todd Lipcon 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/src/java/org/apache/hadoop/hbase/master/BaseScanner.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/master/BaseScanner.java?rev=939120&r1=939119&r2=939120&view=diff
==============================================================================
--- hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/master/BaseScanner.java (original)
+++ hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/master/BaseScanner.java Wed Apr 28 22:37:21 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/src/java/org/apache/hadoop/hbase/master/ProcessServerShutdown.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/master/ProcessServerShutdown.java?rev=939120&r1=939119&r2=939120&view=diff
==============================================================================
--- hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/master/ProcessServerShutdown.java (original)
+++ hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/master/ProcessServerShutdown.java Wed Apr 28 22:37:21 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/src/java/org/apache/hadoop/hbase/master/TableOperation.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/master/TableOperation.java?rev=939120&r1=939119&r2=939120&view=diff
==============================================================================
--- hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/master/TableOperation.java (original)
+++ hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/master/TableOperation.java Wed Apr 28 22:37:21 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
+}