HDFS-2626. BPOfferService.verifyAndSetNamespaceInfo needs to be synchronized. Contributed by Todd Lipcon.
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/HDFS-1623@1210340 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
74b1f069cc
commit
b3f28dbb3d
|
@ -39,3 +39,5 @@ HDFS-2622. Fix TestDFSUpgrade in HA branch. (todd)
|
||||||
HDFS-2612. Handle refreshNameNodes in federated HA clusters (todd)
|
HDFS-2612. Handle refreshNameNodes in federated HA clusters (todd)
|
||||||
|
|
||||||
HDFS-2623. Add test case for hot standby capability (todd)
|
HDFS-2623. Add test case for hot standby capability (todd)
|
||||||
|
|
||||||
|
HDFS-2626. BPOfferService.verifyAndSetNamespaceInfo needs to be synchronized (todd)
|
||||||
|
|
|
@ -262,7 +262,7 @@ class BPOfferService {
|
||||||
* verifies that this namespace matches (eg to prevent a misconfiguration
|
* verifies that this namespace matches (eg to prevent a misconfiguration
|
||||||
* where a StandbyNode from a different cluster is specified)
|
* where a StandbyNode from a different cluster is specified)
|
||||||
*/
|
*/
|
||||||
void verifyAndSetNamespaceInfo(NamespaceInfo nsInfo) throws IOException {
|
synchronized void verifyAndSetNamespaceInfo(NamespaceInfo nsInfo) throws IOException {
|
||||||
if (this.bpNSInfo == null) {
|
if (this.bpNSInfo == null) {
|
||||||
this.bpNSInfo = nsInfo;
|
this.bpNSInfo = nsInfo;
|
||||||
|
|
||||||
|
|
|
@ -336,8 +336,6 @@ class BPServiceActor implements Runnable {
|
||||||
|
|
||||||
HeartbeatResponse sendHeartBeat() throws IOException {
|
HeartbeatResponse sendHeartBeat() throws IOException {
|
||||||
LOG.info("heartbeat: " + this);
|
LOG.info("heartbeat: " + this);
|
||||||
// TODO: saw an NPE here - maybe if the two BPOS register at
|
|
||||||
// same time, this one won't block on the other one?
|
|
||||||
return bpNamenode.sendHeartbeat(bpRegistration,
|
return bpNamenode.sendHeartbeat(bpRegistration,
|
||||||
dn.getFSDataset().getCapacity(),
|
dn.getFSDataset().getCapacity(),
|
||||||
dn.getFSDataset().getDfsUsed(),
|
dn.getFSDataset().getDfsUsed(),
|
||||||
|
|
Loading…
Reference in New Issue