// Token: 0x0600004D RID: 77 RVA: 0x00002C20 File Offset: 0x00000E20 protected AmMultiNodeMdbStatusFetcher StartMdbStatusFetcher() { AmMultiNodeMdbStatusFetcher amMultiNodeMdbStatusFetcher = new AmMultiNodeMdbStatusFetcher(); ThreadPoolThreadCountHelper.IncreaseForServerOperations(this.m_amConfig); amMultiNodeMdbStatusFetcher.Start(this.m_amConfig, new Func <List <AmServerName> >(this.GetServers)); return(amMultiNodeMdbStatusFetcher); }
// Token: 0x06000089 RID: 137 RVA: 0x00004658 File Offset: 0x00002858 protected void MoveDatabases(AmDbActionCode actionCode, IADDatabase[] dbList) { if (dbList == null || dbList.Length <= 0) { AmTrace.Info("Server '{0}' does not have any databases that need to be moved", new object[] { this.m_nodeName }); return; } if (!this.m_amConfig.DagConfig.IsThirdPartyReplEnabled) { ThreadPoolThreadCountHelper.IncreaseForDatabaseOperations(dbList.Length); this.MoveDatabasesNormally(actionCode, dbList); return; } this.SendThirdPartyNotifications(dbList); }
// Token: 0x06000063 RID: 99 RVA: 0x000036F4 File Offset: 0x000018F4 protected void EnqueueGeneratedOperations(Dictionary <Guid, DatabaseInfo> dbMap) { ThreadPoolThreadCountHelper.IncreaseForDatabaseOperations(this.GetCountOfGeneratedOperations(dbMap)); foreach (DatabaseInfo databaseInfo in dbMap.Values) { if (databaseInfo.OperationsQueued != null && databaseInfo.OperationsQueued.Count > 0) { base.EnqueueDatabaseOperationBatch(databaseInfo.Database.Guid, databaseInfo.OperationsQueued); } } foreach (DatabaseInfo databaseInfo2 in dbMap.Values) { if (databaseInfo2.OperationsQueued != null && databaseInfo2.OperationsQueued.Count > 0) { base.StartDatabaseOperationBatch(databaseInfo2.Database.Guid, databaseInfo2.OperationsQueued); } } }
// Token: 0x06000044 RID: 68 RVA: 0x000027CC File Offset: 0x000009CC internal void MarkAllDone() { lock (this.m_locker) { AmTrace.Debug("{0} finished processing all the databases", new object[] { base.GetType().Name }); if (!this.m_isAllDone) { this.m_isAllDone = true; this.LogCompletionInternal(); if (this.CompletionCallback != null) { this.CompletionCallback(new List <AmDbOperation>(this.m_opList)); } ThreadPoolThreadCountHelper.Reset(); } else { AmTrace.Debug("IsAllDone() is already marked and completionback was already called. Possibly custom status is reached already.", new object[0]); } } }
internal static void IncreaseForDatabaseOperations(int numDatabaseOps) { int numThreadsPerPamDbOperation = RegistryParameters.NumThreadsPerPamDbOperation; ThreadPoolThreadCountHelper.IncrementBy(numThreadsPerPamDbOperation * numDatabaseOps); }
internal static void IncreaseForServerOperations(AmConfig cfg) { int threadCount = cfg.IsPamOrSam ? cfg.DagConfig.MemberServers.Length : 1; ThreadPoolThreadCountHelper.IncrementBy(threadCount); }