Author: stack
Date: Tue Sep 21 22:00:12 2010
New Revision: 999664
URL: http://svn.apache.org/viewvc?rev=999664&view=rev
Log:
HBASE-3023 NPE processing server crash in MetaReader. getServerUserRegions
Modified:
hbase/trunk/CHANGES.txt
hbase/trunk/src/main/java/org/apache/hadoop/hbase/catalog/MetaReader.java
hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java
Modified: hbase/trunk/CHANGES.txt
URL:
http://svn.apache.org/viewvc/hbase/trunk/CHANGES.txt?rev=999664&r1=999663&r2=999664&view=diff
==============================================================================
--- hbase/trunk/CHANGES.txt (original)
+++ hbase/trunk/CHANGES.txt Tue Sep 21 22:00:12 2010
@@ -532,6 +532,7 @@ Release 0.21.0 - Unreleased
the region
HBASE-3018 Bulk assignment on startup runs serially through the cluster
servers assigning in bulk to one at a time
+ HBASE-3023 NPE processing server crash in MetaReader. getServerUserRegions
IMPROVEMENTS
HBASE-1760 Cleanup TODOs in HTable
Modified:
hbase/trunk/src/main/java/org/apache/hadoop/hbase/catalog/MetaReader.java
URL:
http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/catalog/MetaReader.java?rev=999664&r1=999663&r2=999664&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/catalog/MetaReader.java
(original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/catalog/MetaReader.java
Tue Sep 21 22:00:12 2010
@@ -232,7 +232,8 @@ public class MetaReader {
/**
* @param data A .META. table row.
- * @return A pair of the regioninfo and the server address from
<code>data</code>.
+ * @return A pair of the regioninfo and the server address from
<code>data</code>
+ * (or null for server address if no address set in .META.).
* @throws IOException
*/
public static Pair<HRegionInfo, HServerAddress> metaRowToRegionPair(
@@ -410,7 +411,10 @@ public class MetaReader {
while((result = metaServer.next(scannerid)) != null) {
if (result != null && result.size() > 0) {
Pair<HRegionInfo, HServerAddress> pair = metaRowToRegionPair(result);
- if (!pair.getSecond().equals(hsi.getServerAddress())) continue;
+ if (pair.getSecond() == null ||
+ !pair.getSecond().equals(hsi.getServerAddress())) {
+ continue;
+ }
hris.put(pair.getFirst(), result);
}
}
Modified:
hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java
URL:
http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java?rev=999664&r1=999663&r2=999664&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java
(original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java
Tue Sep 21 22:00:12 2010
@@ -111,7 +111,7 @@ public class ServerManager {
String deadServersList = deadservers.toString();
LOG.info("regionservers=" + numServers +
", averageload=" + StringUtils.limitDecimalTo2(averageLoad) +
- ((numDeadServers > 0)? ("deadservers=" + deadServersList): ""));
+ ((numDeadServers > 0)? (", deadservers=" + deadServersList): ""));
}
}