private void UpdateAdProperties(bool isOperationSuccess, AmServerName initialActiveServer) { if (!AmServerName.IsNullOrEmpty(base.State.ActiveServer)) { bool isForceUpdate = !AmServerName.IsEqual(initialActiveServer, base.State.ActiveServer); if (isOperationSuccess || isForceUpdate) { base.DbTrace.Debug("Issuing async SetDatabaseLegacyDnAndOwningServer", new object[0]); ThreadPool.QueueUserWorkItem(delegate(object param0) { Exception ex = SharedHelper.RunADOperationEx(delegate(object param0, EventArgs param1) { SharedDependencies.WritableADHelper.SetDatabaseLegacyDnAndOwningServer(this.DatabaseGuid, initialActiveServer, this.State.ActiveServer, isForceUpdate); }); if (ex != null) { this.DbTrace.Error("SetDatabaseLegacyDnAndOwningServer failed: {0}", new object[] { ex }); } }); return; } } else { AmTrace.Error("Skipped updating ad properties for database {0} since active server is empty", new object[] { base.DatabaseName }); } }
// Token: 0x060001E4 RID: 484 RVA: 0x0000C620 File Offset: 0x0000A820 private void InternalInitialize() { if (this.isInitSuccess || this.isInitInProgress) { return; } lock (this.locker) { if (!this.isInitSuccess && !this.isInitInProgress) { this.isInitInProgress = true; AmDatabaseStateTracker.Tracer.TraceInformation(0, 0L, "InternalInitialize() in started"); Exception ex = null; try { ex = SharedHelper.RunADOperationEx(delegate(object param0, EventArgs param1) { this.serverInfoMap = this.GenerateServerInfoMapFromClusdb(); }); if (ex == null) { this.isInitSuccess = true; this.initializationCompleteEvent.Set(); } } catch (ClusterException ex2) { ex = ex2; } catch (AmCommonException ex3) { ex = ex3; } finally { this.isInitInProgress = false; AmDatabaseStateTracker.Tracer.TraceInformation <bool>(0, 0L, "InternalInitialize() completed (isInitComplete={0})", this.isInitSuccess); } if (ex != null) { AmDatabaseStateTracker.Tracer.TraceError <Exception>(0L, "InternalInitialize() failed with {0}", ex); ReplayCrimsonEvents.DbStateTrackerInitializationFailed.LogPeriodic <string, Exception>(Environment.MachineName, DiagCore.DefaultEventSuppressionInterval, ex.Message, ex); } } } }