diff --git a/server/src/com/cloud/cluster/ClusterManagerImpl.java b/server/src/com/cloud/cluster/ClusterManagerImpl.java index 9f77b1f8d84..f68366dda0e 100644 --- a/server/src/com/cloud/cluster/ClusterManagerImpl.java +++ b/server/src/com/cloud/cluster/ClusterManagerImpl.java @@ -69,7 +69,6 @@ import com.cloud.utils.component.ComponentLocator; import com.cloud.utils.component.Inject; import com.cloud.utils.concurrency.NamedThreadFactory; import com.cloud.utils.db.DB; -import com.cloud.utils.db.Merovingian2; import com.cloud.utils.db.Transaction; import com.cloud.utils.events.SubscriptionMgr; import com.cloud.utils.exception.CloudRuntimeException; @@ -1031,9 +1030,8 @@ public class ClusterManagerImpl implements ClusterManager { _agentLBEnabled = Boolean.valueOf(configDao.getValue(Config.AgentLbEnable.key())); - - Merovingian2 m = Merovingian2.createLockMaster(this._msId); - m.clear(); + + this.registerListener(new LockMasterListener(_msId)); checkConflicts(); diff --git a/server/src/com/cloud/cluster/LockTableListener.java b/server/src/com/cloud/cluster/LockMasterListener.java similarity index 85% rename from server/src/com/cloud/cluster/LockTableListener.java rename to server/src/com/cloud/cluster/LockMasterListener.java index 7f25cf874fd..bc901abaa36 100644 --- a/server/src/com/cloud/cluster/LockTableListener.java +++ b/server/src/com/cloud/cluster/LockMasterListener.java @@ -21,11 +21,11 @@ import java.util.List; import com.cloud.utils.db.Merovingian2; -public class LockTableListener implements ClusterManagerListener { +public class LockMasterListener implements ClusterManagerListener { Merovingian2 _lockMaster; - public LockTableListener() { - _lockMaster = Merovingian2.createLockMaster(ManagementServerNode.getManagementServerId()); + public LockMasterListener(long msId) { + _lockMaster = Merovingian2.createLockMaster(msId); _lockMaster.clear(); } @@ -36,7 +36,7 @@ public class LockTableListener implements ClusterManagerListener { @Override public void onManagementNodeLeft(List nodeList, long selfNodeId) { for (ManagementServerHostVO node : nodeList) { - + _lockMaster.clear(node.getMsid()); } }