// Token: 0x060019A1 RID: 6561 RVA: 0x0006B1F0 File Offset: 0x000693F0
        private ISetGeneration GetSetGenerationCallback()
        {
            IReplicaInstanceManager replicaInstanceManager = this.ConfigArgs.ReplicaInstanceManager;

            if (replicaInstanceManager == null)
            {
                return(null);
            }
            ISetGeneration setGeneration = null;

            try
            {
                setGeneration = replicaInstanceManager.GetSetGenerationCallback(this.SeederArgs.InstanceGuid);
            }
            catch (TaskServerTransientException ex)
            {
                ExTraceGlobals.SeederServerTracer.TraceError <Guid, TaskServerTransientException>((long)this.GetHashCode(), "GetSetGenerationCallback ({0}): ReplicaInstanceManager threw exception: {1}", this.SeederArgs.InstanceGuid, ex);
                this.LogError(ex);
            }
            catch (TaskServerException ex2)
            {
                ExTraceGlobals.SeederServerTracer.TraceError <Guid, TaskServerException>((long)this.GetHashCode(), "GetSetGenerationCallback ({0}): ReplicaInstanceManager threw exception: {1}", this.SeederArgs.InstanceGuid, ex2);
                this.LogError(ex2);
            }
            if (setGeneration == null)
            {
                ExTraceGlobals.SeederServerTracer.TraceDebug <Guid>((long)this.GetHashCode(), "GetSetGenerationCallback ({0}): The RI is not running even after re-running ConfigUpdater. The configuration must have gone away.", this.SeederArgs.InstanceGuid);
                throw new SeederOperationAbortedException();
            }
            return(setGeneration);
        }
示例#2
0
 // Token: 0x06001D3E RID: 7486 RVA: 0x00083E24 File Offset: 0x00082024
 public LogInspector(IPerfmonCounters perfmonCounters, IReplayConfiguration replayConfig, string logfileBaseName, string logfileSuffix, string replayDir, FileState fileState, ILogTruncater logTruncater, ISetBroken setBroken, ISetGeneration setGeneration, IReplicaProgress replicaProgress, NetworkPath netPath, bool runningAcll) : base(replayConfig.LogInspectorPath, logfileBaseName, 0L, logfileSuffix, setBroken, replicaProgress)
 {
     this.Config          = replayConfig;
     this.m_logTruncater  = logTruncater;
     this.m_replayDir     = replayDir;
     this.m_fileState     = fileState;
     this.m_setGeneration = setGeneration;
     this.m_logVerifier   = new LogVerifier(logfileBaseName);
     ExTraceGlobals.LogInspectorTracer.TraceDebug((long)this.GetHashCode(), "LogInspector initialized - inspectDir = {0}, logfileBaseName = {1}, replayDir = {2}, fileState = {3}", new object[]
     {
         replayConfig.LogInspectorPath,
         logfileBaseName,
         replayDir,
         fileState
     });
     ExTraceGlobals.PFDTracer.TracePfd((long)this.GetHashCode(), "LogInspector initialized - inspectDir = {0}, logfileBaseName = {1}, replayDir = {2}, fileState = {3}", new object[]
     {
         replayConfig.LogInspectorPath,
         logfileBaseName,
         replayDir,
         fileState
     });
     this.Config.ReplayState.InspectorGenerationNumber = this.m_fileState.HighestGenerationPresent;
     this.m_logSource = LogSource.Construct(replayConfig, perfmonCounters, netPath, LogSource.GetLogShipTimeoutInMsec(runningAcll));
     if (0L != this.m_fileState.HighestGenerationPresent)
     {
         this.m_logContinuityChecker.Initialize(this.m_fileState.HighestGenerationPresent, this.Config.DestinationLogPath, this.Config.LogFilePrefix, logfileSuffix);
     }
 }
        // Token: 0x06001BA1 RID: 7073 RVA: 0x00075F7C File Offset: 0x0007417C
        public AttemptCopyLastLogs(IPerfmonCounters perfmonCounters, ReplayConfiguration configuration, FileChecker fileChecker, bool performDivergenceCheck, ISetGeneration setGeneration, ISetViable setViable, bool fSkipHealthChecks, DatabaseMountDialOverride mountDialOverride, AcllPerformanceTracker acllPerf, string uniqueOperationId, int subactionAttemptNumber)
        {
            this.m_uniqueOperationId      = uniqueOperationId;
            this.m_subactionAttemptNumber = subactionAttemptNumber;
            this.m_acllPerf = acllPerf;
            this.m_fPerformDivergenceCheck = performDivergenceCheck;
            this.m_fSkipHealthChecks       = fSkipHealthChecks;
            this.m_mountDialOverride       = mountDialOverride;
            this.m_perfmonCounters         = perfmonCounters;
            this.m_configuration           = configuration;
            string displayName = this.m_configuration.DisplayName;

            this.m_setBrokenForCopier    = new SimpleSetBroken(displayName);
            this.m_setBrokenForInspector = new SimpleSetBroken(displayName);
            this.m_setBrokenForReplayer  = new SimpleSetBroken(displayName);
            this.m_setBrokenForOther     = new SimpleSetBroken(displayName);
            this.m_setGeneration         = setGeneration;
            this.m_setViable             = setViable;
            this.m_state          = this.m_configuration.ReplayState;
            this.m_fileChecker    = fileChecker;
            this.m_fileState      = fileChecker.FileState;
            this.m_logCopier      = null;
            this.m_logInspector   = null;
            this.m_remoteConfig   = (this.m_configuration as RemoteReplayConfiguration);
            this.NumberOfLogsLost = -1L;
            DiagCore.RetailAssert(this.m_remoteConfig != null, "ACLL is only supported for HA replicated databases", new object[0]);
        }
示例#4
0
 // Token: 0x06001D3D RID: 7485 RVA: 0x00083DFC File Offset: 0x00081FFC
 public LogInspector(IPerfmonCounters perfmonCounters, IReplayConfiguration replayConfig, string logfileBaseName, string logfileSuffix, string replayDir, FileState fileState, ILogTruncater logTruncater, ISetBroken setBroken, ISetGeneration setGeneration, IReplicaProgress replicaProgress, NetworkPath netPath) : this(perfmonCounters, replayConfig, logfileBaseName, logfileSuffix, replayDir, fileState, logTruncater, setBroken, setGeneration, replicaProgress, netPath, false)
 {
 }
        // Token: 0x06001BB1 RID: 7089 RVA: 0x00076118 File Offset: 0x00074318
        public static AmAcllReturnStatus AttemptCopyLastLogsOnceRcr(IPerfmonCounters perfmonCounters, ReplayConfiguration configuration, FileChecker fileChecker, ISetGeneration setGeneration, ISetViable setViable, LogCopier logCopier, LogInspector logInspector, LogReplayer logReplayer, bool performDivergenceCheck, bool fSkipHealthChecks, DatabaseMountDialOverride mountDialOverride, AcllPerformanceTracker acllPerf, string uniqueOperationId, int subactionAttemptNumber, bool mountPending)
        {
            AttemptCopyLastLogs attemptCopyLastLogs = new AttemptCopyLastLogs(perfmonCounters, configuration, fileChecker, performDivergenceCheck, setGeneration, setViable, fSkipHealthChecks, mountDialOverride, acllPerf, uniqueOperationId, subactionAttemptNumber);

            attemptCopyLastLogs.MakeAttempt(logCopier, logInspector, logReplayer);
            return(attemptCopyLastLogs.GetReturnStatus());
        }