This is an automated email from the ASF dual-hosted git repository.

sershe pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/master by this push:
     new 3641e7a  HBASE-22376 master can fail to start w/NPE if 
lastflushedseqids file is empty
3641e7a is described below

commit 3641e7a97d1d6f460a8264fb989c821caf70bad5
Author: Sergey Shelukhin <[email protected]>
AuthorDate: Fri May 10 15:36:07 2019 -0700

    HBASE-22376 master can fail to start w/NPE if lastflushedseqids file is 
empty
    
    Signed-off-by: Peter Somogyi <[email protected]>
---
 .../src/main/java/org/apache/hadoop/hbase/master/HMaster.java         | 2 +-
 .../src/main/java/org/apache/hadoop/hbase/master/ServerManager.java   | 4 ++++
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
index faa5c7d..8eb8a48 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
@@ -1007,7 +1007,7 @@ public class HMaster extends HRegionServer implements 
MasterServices {
     try {
       this.serverManager.loadLastFlushedSequenceIds();
     } catch (IOException e) {
-      LOG.debug("Failed to load last flushed sequence id of regions"
+      LOG.info("Failed to load last flushed sequence id of regions"
           + " from file system", e);
     }
     // Set ourselves as active Master now our claim has succeeded up in zk.
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java
index 0fb1551..88edb79 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java
@@ -1126,6 +1126,10 @@ public class ServerManager {
     try {
       FlushedSequenceId flushedSequenceId =
           FlushedSequenceId.parseDelimitedFrom(in);
+      if (flushedSequenceId == null) {
+        LOG.info(".lastflushedseqids found at {} is empty", 
lastFlushedSeqIdPath);
+        return;
+      }
       for (FlushedRegionSequenceId flushedRegionSequenceId : flushedSequenceId
           .getRegionSequenceIdList()) {
         byte[] encodedRegionName = flushedRegionSequenceId

Reply via email to