diff --git a/CHANGES.txt b/CHANGES.txt index 1f8735f95e7..1bb7b55fd0d 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -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 diff --git a/src/main/java/org/apache/hadoop/hbase/catalog/MetaReader.java b/src/main/java/org/apache/hadoop/hbase/catalog/MetaReader.java index bab471ef946..21a075ac5e5 100644 --- a/src/main/java/org/apache/hadoop/hbase/catalog/MetaReader.java +++ b/src/main/java/org/apache/hadoop/hbase/catalog/MetaReader.java @@ -232,7 +232,8 @@ public class MetaReader { /** * @param data A .META. table row. - * @return A pair of the regioninfo and the server address from data. + * @return A pair of the regioninfo and the server address from data + * (or null for server address if no address set in .META.). * @throws IOException */ public static Pair metaRowToRegionPair( @@ -410,7 +411,10 @@ public class MetaReader { while((result = metaServer.next(scannerid)) != null) { if (result != null && result.size() > 0) { Pair 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); } } diff --git a/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java b/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java index 60a159aa4a5..ab3516790df 100644 --- a/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java +++ b/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java @@ -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): "")); } }