private void SetDisconnectedInternal(FailureTag failureTag, ExEventLog.EventTuple setDisconnectedEventTuple, params string[] setDisconnectedArgs) { string[] argumentsWithDb = ReplicaInstanceContext.GetArgumentsWithDb(setDisconnectedArgs, this.m_displayName); int num; string text = setDisconnectedEventTuple.EventLogToString(out num, argumentsWithDb); lock (this.m_instance) { if (!this.FailureInfo.IsFailed) { this.LogCrimsonEventOnStateChange <bool>("Disconnected", this.FailureInfo.IsDisconnected, true); this.FailureInfo.SetDisconnected(setDisconnectedEventTuple, new LocalizedString(text)); if (this.m_perfmonCounters != null) { this.m_perfmonCounters.Disconnected = 1L; } } else { ExTraceGlobals.ReplicaInstanceTracer.TraceDebug <string>((long)this.GetHashCode(), "{0} SetDisconnected ignored because RI is already marked Failed.", this.m_displayName); } this.ExternalStatus.Refresh(); } bool flag2; setDisconnectedEventTuple.LogEvent(this.m_identity, out flag2, argumentsWithDb); ExTraceGlobals.ReplicaInstanceTracer.TraceDebug <string, string>((long)this.GetHashCode(), "{0} SetDisconnected because {1}", this.m_displayName, text); }
private void SetSeedingStartedErrorMessage(RpcSeederArgs rpcSeederArgs) { string[] argumentsWithDb = ReplicaInstanceContext.GetArgumentsWithDb(new string[] { rpcSeederArgs.ToString() }, this.m_displayName); ExEventLog.EventTuple tuple_SeedInstanceStartedSetBroken = ReplayEventLogConstants.Tuple_SeedInstanceStartedSetBroken; int num; string value = tuple_SeedInstanceStartedSetBroken.EventLogToString(out num, argumentsWithDb); this.FailureInfo.SetBroken(tuple_SeedInstanceStartedSetBroken, new LocalizedString(value), null); this.FailureInfo.PersistFailure(this.m_replayState); }
// Token: 0x06000C85 RID: 3205 RVA: 0x00037214 File Offset: 0x00035414 public ExternalReplicaInstanceStatus(ReplicaInstanceContext currentContext, ReplicaInstanceContextMinimal previousContext, ReplayConfigType configurationType, IPerfmonCounters perfmonCounters, ReplayState replayState) { this.CurrentContext = currentContext; this.PreviousContext = previousContext; this.ConfigType = configurationType; this.PerfmonCounters = perfmonCounters; this.ReplayState = replayState; if (ThirdPartyManager.IsThirdPartyReplicationEnabled && this.ConfigType == ReplayConfigType.RemoteCopyTarget) { this.LastCopyStatus = CopyStatusEnum.NonExchangeReplication; } else { this.LastCopyStatus = CopyStatusEnum.Unknown; } this.m_displayName = currentContext.DisplayName; this.m_identity = currentContext.Identity; this.DatabaseName = currentContext.DatabaseName; }
public ReplicaInstanceContextMinimal(ReplicaInstanceContext previousContext) { this.Suspended = previousContext.Suspended; this.LastCopyStatus = previousContext.GetStatus(); this.FailureInfo = new FailureInfo(previousContext.FailureInfo); }
public void SetBrokenAndThrow(FailureTag failureTag, ExEventLog.EventTuple setBrokenEventTuple, Exception exception, params string[] setBrokenArgs) { string[] argumentsWithDb = ReplicaInstanceContext.GetArgumentsWithDb(setBrokenArgs, this.m_displayName); this.SetBrokenInternal(failureTag, setBrokenEventTuple, new ExtendedErrorInfo(exception), argumentsWithDb); throw new SetBrokenControlTransferException(); }