[ 
https://issues.apache.org/jira/browse/HBASE-24713?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17165445#comment-17165445
 ] 

ramkrishna.s.vasudevan commented on HBASE-24713:
------------------------------------------------

I had commented the similar thing in the PR. IMO adding null check in the sync 
runner is also fine. We try to create and publish a seq Id to the ring buffer 
based on the roll writer that we call. 
Hence it tries to sync it. Adding null check will be sufficient there as we 
don't break anything and also it is during the startup. 


> RS startup with FSHLog throws NPE after HBASE-21751
> ---------------------------------------------------
>
>                 Key: HBASE-24713
>                 URL: https://issues.apache.org/jira/browse/HBASE-24713
>             Project: HBase
>          Issue Type: Bug
>          Components: wal
>    Affects Versions: 2.1.6
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: Gaurav Kanade
>            Priority: Minor
>
> Every RS startup creates this NPE
> {code}
> [sync.1] wal.FSHLog: UNEXPECTED
> java.lang.NullPointerException
>         at 
> org.apache.hadoop.hbase.regionserver.wal.FSHLog$SyncRunner.run(FSHLog.java:582)
>         at java.lang.Thread.run(Thread.java:748)
> 2020-07-07 10:51:23,208 WARN  [regionserver/xxxxx:16020] wal.FSHLog: Failed 
> sync-before-close but no outstanding appends; closing 
> WALjava.lang.NullPointerException
> {code}
> the reason is that the Disruptor frameworks starts the Syncrunner thread but 
> the init of the writer happens after that. A simple null check in the 
> Syncrunner will help here .
> No major damage happens though since we handle Throwable Exception. It will 
> good to solve this. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to