public void Dispose() { if (_heartbeatManager != null) { _heartbeatManager.Dispose(); } _heartbeatManager = null; if (_takeOverElectionTask != null) { _takeOverElectionTask.Stop(); } _takeOverElectionTask = null; if (_retryTask != null) { _retryTask.Stop(); } _retryTask = null; }
internal bool AbortTakeoverMechanismTask(MembershipChangeArgs args) { if (args != null && args.ChangeType == MembershipChangeArgs.MembershipChangeType.TimeoutOnRestrictedPrimary) { if (LoggerManager.Instance.ShardLogger != null && LoggerManager.Instance.ShardLogger.IsInfoEnabled) { LoggerManager.Instance.ShardLogger.Info("MembershipMgr.AbortTakeoverMechanismTask()", "Takeover unsuccessful. Beginning takeover retry task."); } if (_retryTask == null) { _retryTask = new TakeoverRetryTask(this); } _retryTask.Start(); if (_takeOverElectionTask != null && _takeOverElectionTask.IsStarted()) { _takeOverElectionTask.Stop(); } return(true); } return(false); }