HA: BPOfferService.verifyAndSetNamespaceInfo needs to be synchronized
---------------------------------------------------------------------
Key: HDFS-2626
URL: https://issues.apache.org/jira/browse/HDFS-2626
Project: Hadoop HDFS
Issue Type: Sub-task
Reporter: Todd Lipcon
Attachments: hdfs-2626.txt
When starting an HA blockpool with both namenodes up, I often see an NPE, referenced by one
of the TODOs. The issue is the following interleaving:
- first BPActor registers, and sets bpNSInfo in BPOfferService. It then proceeds to initFsDataset
which takes a little bit of time
- second BPActor registers, and sees bpNSInfo is non-null, then proceeds to heartbeat loop.
Meanwhile BPActor 1 is still initting FSDataset
- second BPActor gets an NPE on first heartbeat since fsdataset is still null.
We just need to synchronize that function to fix the NPE.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
|