// Token: 0x0600005A RID: 90 RVA: 0x00002DD0 File Offset: 0x00000FD0 protected void RunInternalCommon() { AmMultiNodeMdbStatusFetcher amMultiNodeMdbStatusFetcher = base.StartMdbStatusFetcher(); Dictionary <Guid, DatabaseInfo> dbMap = this.GenerateDatabaseInfoMap(); amMultiNodeMdbStatusFetcher.WaitUntilStatusIsReady(); Dictionary <AmServerName, MdbStatus[]> mdbStatusMap = amMultiNodeMdbStatusFetcher.MdbStatusMap; if (mdbStatusMap == null) { ReplayEventLogConstants.Tuple_PeriodicOperationFailedRetrievingStatuses.LogEvent(null, new object[] { "AmStartupAutoMounter" }); return; } this.MergeDatabaseInfoWithMdbStatus(dbMap, mdbStatusMap, amMultiNodeMdbStatusFetcher.ServerInfoMap); this.PopulateWithDatabaseOperations(dbMap); this.EnqueueGeneratedOperations(dbMap); }
// Token: 0x06000093 RID: 147 RVA: 0x00004B2C File Offset: 0x00002D2C protected override void RunInternal() { IADDatabase[] dbList = null; if (!this.m_isForce) { AmMultiNodeMdbStatusFetcher amMultiNodeMdbStatusFetcher = base.StartMdbStatusFetcher(); IADDatabase[] databases = base.GetDatabases(); amMultiNodeMdbStatusFetcher.WaitUntilStatusIsReady(); Dictionary <AmServerName, MdbStatus[]> mdbStatusMap = amMultiNodeMdbStatusFetcher.MdbStatusMap; AmMdbStatusServerInfo amMdbStatusServerInfo = amMultiNodeMdbStatusFetcher.ServerInfoMap[this.m_nodeName]; MdbStatus[] mdbStatuses = mdbStatusMap[this.m_nodeName]; if (amMdbStatusServerInfo.IsReplayRunning) { if (!this.skipIfReplayRunning) { if (RegistryParameters.TransientFailoverSuppressionDelayInSec > 0) { dbList = this.GetDatabasesToBeMoved(databases, mdbStatuses); base.AddDelayedFailoverEntryAsync(this.m_nodeName, this.m_reasonCode); } } else { ReplayCrimsonEvents.FailoverOnReplDownSkipped.Log <AmServerName, string, string>(this.m_nodeName, "ReplRunning", "MoveAll"); } } else { dbList = databases; } } else { dbList = base.GetDatabases(); } AmDbActionCode actionCode = new AmDbActionCode(AmDbActionInitiator.Automatic, this.m_reasonCode, AmDbActionCategory.Move); base.MoveDatabases(actionCode, dbList); }
protected override void RunInternal() { AmMultiNodeMdbStatusFetcher amMultiNodeMdbStatusFetcher = base.StartMdbStatusFetcher(); Dictionary <Guid, DatabaseInfo> dbMap = base.GenerateDatabaseInfoMap(); amMultiNodeMdbStatusFetcher.WaitUntilStatusIsReady(); Dictionary <AmServerName, MdbStatus[]> mdbStatusMap = amMultiNodeMdbStatusFetcher.MdbStatusMap; if (mdbStatusMap == null) { ReplayEventLogConstants.Tuple_PeriodicOperationFailedRetrievingStatuses.LogEvent(null, new object[] { "AmPeriodicDatabaseStateAnalyzer" }); return; } base.MergeDatabaseInfoWithMdbStatus(dbMap, mdbStatusMap, amMultiNodeMdbStatusFetcher.ServerInfoMap); Dictionary <Guid, DatabaseInfo> filteredMap = this.FilterDatabasesNeedingAction(dbMap); this.DeferDatabaseActionsIfRequired(filteredMap); this.InitiateSystemFailoverIfReplayUnreachable(amMultiNodeMdbStatusFetcher, dbMap); }