private bool AreLogFilesDivergentFromSource(out bool e00IsEndOfLogStream, out LocalizedString errorString)
        {
            bool isDiverged = true;
            bool tempE00IsEndOfLogStream             = false;
            IncSeedDivergenceCheckFailedException ex = null;
            IncReseedPerformanceTracker           incReseedPerformanceTracker = new IncReseedPerformanceTracker(this.m_configuration);

            errorString         = LocalizedString.Empty;
            e00IsEndOfLogStream = false;
            try
            {
                IncrementalReseeder incReseeder = new IncrementalReseeder(this.m_perfmonCounters, incReseedPerformanceTracker, this.m_configuration, this.m_fileState, this.m_setBrokenForOther, this.m_setBrokenForOther, null, this.m_initialNetworkPath, true, null);
                long highestLogGenCompared;
                incReseedPerformanceTracker.RunTimedOperation(IncReseedOperation.IsIncrementalReseedRequiredOverall, delegate
                {
                    isDiverged = incReseeder.IsIncrementalReseedRequired(delegate
                    {
                    }, out highestLogGenCompared, out tempE00IsEndOfLogStream);
                });
                e00IsEndOfLogStream = tempE00IsEndOfLogStream;
            }
            catch (EsentErrorException ex2)
            {
                ex = new IncSeedDivergenceCheckFailedException(this.m_configuration.DatabaseName, this.m_configuration.SourceMachine, ex2.Message, ex2);
            }
            catch (IncrementalReseedFailedException ex3)
            {
                ex = new IncSeedDivergenceCheckFailedException(this.m_configuration.DatabaseName, this.m_configuration.SourceMachine, ex3.Message, ex3);
            }
            catch (IncSeedDivergenceCheckFailedException ex4)
            {
                ex = ex4;
            }
            catch (ReseedCheckMissingLogfileException ex5)
            {
                ex = new IncSeedDivergenceCheckFailedException(this.m_configuration.DatabaseName, this.m_configuration.SourceMachine, ex5.Message, ex5);
            }
            catch (IncrementalReseedRetryableException ex6)
            {
                ex = new IncSeedDivergenceCheckFailedException(this.m_configuration.DatabaseName, this.m_configuration.SourceMachine, ex6.Message, ex6);
            }
            catch (IOException ex7)
            {
                ex = new IncSeedDivergenceCheckFailedException(this.m_configuration.DatabaseName, this.m_configuration.SourceMachine, ex7.Message, ex7);
            }
            catch (UnauthorizedAccessException ex8)
            {
                ex = new IncSeedDivergenceCheckFailedException(this.m_configuration.DatabaseName, this.m_configuration.SourceMachine, ex8.Message, ex8);
            }
            catch (SecurityException ex9)
            {
                ex = new IncSeedDivergenceCheckFailedException(this.m_configuration.DatabaseName, this.m_configuration.SourceMachine, ex9.Message, ex9);
            }
            catch (NetworkRemoteException ex10)
            {
                ex = new IncSeedDivergenceCheckFailedException(this.m_configuration.DatabaseName, this.m_configuration.SourceMachine, ex10.Message, ex10);
            }
            catch (NetworkTransportException ex11)
            {
                ex = new IncSeedDivergenceCheckFailedException(this.m_configuration.DatabaseName, this.m_configuration.SourceMachine, ex11.Message, ex11);
            }
            catch (TransientException ex12)
            {
                ex = new IncSeedDivergenceCheckFailedException(this.m_configuration.DatabaseName, this.m_configuration.SourceMachine, ex12.Message, ex12);
            }
            finally
            {
                incReseedPerformanceTracker.IsIncReseedNeeded = isDiverged;
                incReseedPerformanceTracker.LogEvent();
            }
            if (ex != null)
            {
                ExTraceGlobals.ReplicaInstanceTracer.TraceError <string, IncSeedDivergenceCheckFailedException>((long)this.GetHashCode(), "AttemptCopyLastLogs.AreLogFilesDivergentFromSource(): {0}: IsIncrementalReseedRequired() threw exception: {1}", this.m_configuration.DisplayName, ex);
                errorString = new LocalizedString(ex.Message);
            }
            else if (isDiverged)
            {
                errorString = ReplayStrings.AcllFailedLogDivergenceDetected(this.m_configuration.DisplayName, this.m_configuration.SourceMachine);
            }
            ExTraceGlobals.ReplicaInstanceTracer.TraceDebug <string, bool>((long)this.GetHashCode(), "AttemptCopyLastLogs.AreLogFilesDivergentFromSource(): {0}: returning '{1}'.", this.m_configuration.DisplayName, isDiverged);
            return(isDiverged);
        }
 // Token: 0x06002952 RID: 10578 RVA: 0x000B9853 File Offset: 0x000B7A53
 public ReplayServiceResumeBlockedException(string previousError, Exception innerException) : base(ReplayStrings.ReplayServiceResumeBlockedException(previousError), innerException)
 {
     this.previousError = previousError;
 }
 // Token: 0x06002E4D RID: 11853 RVA: 0x000C328F File Offset: 0x000C148F
 public MonitoringCouldNotFindDatabasesException(string serverName, string adError, Exception innerException) : base(ReplayStrings.MonitoringCouldNotFindDatabasesException(serverName, adError), innerException)
 {
     this.serverName = serverName;
     this.adError    = adError;
 }
 // Token: 0x06002DB2 RID: 11698 RVA: 0x000C2000 File Offset: 0x000C0200
 public FailedToTruncateLocallyException(uint hresult, string optionalFriendlyError, Exception innerException) : base(ReplayStrings.FailedToTruncateLocallyException(hresult, optionalFriendlyError), innerException)
 {
     this.hresult = hresult;
     this.optionalFriendlyError = optionalFriendlyError;
 }
 public AmServiceMonitorSystemShutdownException(string serviceName, Exception innerException) : base(ReplayStrings.AmServiceMonitorSystemShutdownException(serviceName), innerException)
 {
     this.serviceName = serviceName;
 }
示例#6
0
 // Token: 0x06002E7C RID: 11900 RVA: 0x000C37D0 File Offset: 0x000C19D0
 public RlmDatabaseCopyInvalidException(string databaseName, string serverName, Exception innerException) : base(ReplayStrings.RlmDatabaseCopyInvalidException(databaseName, serverName), innerException)
 {
     this.databaseName = databaseName;
     this.serverName   = serverName;
 }
示例#7
0
 public DatabaseValidationException(string errorMsg, Exception innerException) : base(ReplayStrings.DatabaseValidationException(errorMsg), innerException)
 {
     this.errorMsg = errorMsg;
 }
示例#8
0
 // Token: 0x06002FC6 RID: 12230 RVA: 0x000C6333 File Offset: 0x000C4533
 public FailedToDeserializeStrException(string stringToDeserialize, string typeName, Exception innerException) : base(ReplayStrings.FailedToDeserializeStr(stringToDeserialize, typeName), innerException)
 {
     this.stringToDeserialize = stringToDeserialize;
     this.typeName            = typeName;
 }
 public DagTaskServerException(string errorMessage, Exception innerException) : base(ReplayStrings.DagTaskServerException(errorMessage), innerException)
 {
     this.m_exceptionInfo.ErrorMessage = errorMessage;
 }
 public CiSeederGenericException(string sourceServer, string destServer, string specificError, Exception innerException) : base(ReplayStrings.CiSeederGenericException(sourceServer, destServer, specificError), innerException)
 {
     this.sourceServer  = sourceServer;
     this.destServer    = destServer;
     this.specificError = specificError;
 }
 public SafeDeleteExistingFilesDataRedundancyNoResultException(string db, Exception innerException) : base(ReplayStrings.SafeDeleteExistingFilesDataRedundancyNoResultException(db), innerException)
 {
     this.db = db;
 }
示例#12
0
 public MonitoredDatabaseInitException(string dbName, string error, Exception innerException) : base(ReplayStrings.MonitoredDatabaseInitFailure(dbName, error), innerException)
 {
     this.dbName = dbName;
     this.error  = error;
 }
示例#13
0
 // Token: 0x060021A6 RID: 8614 RVA: 0x0009C3D6 File Offset: 0x0009A5D6
 private void ThrowUnexpectedMessage(string msgContext)
 {
     throw new GranularReplicationTerminatedException(ReplayStrings.GranularReplicationMsgSequenceError(msgContext));
 }
示例#14
0
 public LogCopierInitFailedActiveTruncatingException(string srcServer, long startingLogGen, long srcLowestGen, Exception innerException) : base(ReplayStrings.LogCopierInitFailedActiveTruncatingException(srcServer, startingLogGen, srcLowestGen), innerException)
 {
     this.srcServer      = srcServer;
     this.startingLogGen = startingLogGen;
     this.srcLowestGen   = srcLowestGen;
 }
示例#15
0
 public AmBcsGetCopyStatusRpcException(string server, string database, string rpcError, Exception innerException) : base(ReplayStrings.AmBcsGetCopyStatusRpcException(server, database, rpcError), innerException)
 {
     this.server   = server;
     this.database = database;
     this.rpcError = rpcError;
 }
示例#16
0
 public LogCopierFailsBecauseLogGapException(string srcServer, string missingFileName, Exception innerException) : base(ReplayStrings.LogCopierFailsBecauseLogGap(srcServer, missingFileName), innerException)
 {
     this.srcServer       = srcServer;
     this.missingFileName = missingFileName;
 }
示例#17
0
 // Token: 0x06002AEF RID: 10991 RVA: 0x000BC838 File Offset: 0x000BAA38
 public ServiceNotRunningOnNodeException(string serviceName, string nodeName, Exception innerException) : base(ReplayStrings.ServiceNotRunningOnNodeException(serviceName, nodeName), innerException)
 {
     this.serviceName = serviceName;
     this.nodeName    = nodeName;
 }
示例#18
0
 public FailedToConfigureMountPointException(string volumeName, string reason, Exception innerException) : base(ReplayStrings.FailedToConfigureMountPointException(volumeName, reason), innerException)
 {
     this.volumeName = volumeName;
     this.reason     = reason;
 }
示例#19
0
 public DatabaseValidationException(string errorMsg) : base(ReplayStrings.DatabaseValidationException(errorMsg))
 {
     this.errorMsg = errorMsg;
 }
示例#20
0
 public VolumeFormatFailedException(string volumeName, string mountPoint, string err, Exception innerException) : base(ReplayStrings.VolumeFormatFailedException(volumeName, mountPoint, err), innerException)
 {
     this.volumeName = volumeName;
     this.mountPoint = mountPoint;
     this.err        = err;
 }
示例#21
0
 public DagTaskFileShareWitnessResourceIsStillNotOnlineException(string fswResource, string currentState, Exception innerException) : base(ReplayStrings.DagTaskFileShareWitnessResourceIsStillNotOnlineException(fswResource, currentState), innerException)
 {
     this.fswResource  = fswResource;
     this.currentState = currentState;
 }
示例#22
0
 public ManagementApiException(string api) : base(ReplayStrings.ManagementApiError(api))
 {
     this.api = api;
 }
示例#23
0
 protected override string GetValidationRollupErrorMessage(int healthyCopiesCount, int expectedHealthyCopiesCount, int totalPassiveCopiesCount, int healthyPassiveCopiesCount, string rollupMessage)
 {
     return(ReplayStrings.DbAvailabilityValidationErrorsOccurred(base.Database.Name, healthyCopiesCount, expectedHealthyCopiesCount, rollupMessage));
 }
示例#24
0
 public ManagementApiException(string api, Exception innerException) : base(ReplayStrings.ManagementApiError(api), innerException)
 {
     this.api = api;
 }
 public FileCheckCorruptFileException(string file, string errorMessage, Exception innerException) : base(ReplayStrings.FileCheckCorruptFile(file, errorMessage), innerException)
 {
     this.file         = file;
     this.errorMessage = errorMessage;
 }
 // Token: 0x06002863 RID: 10339 RVA: 0x000B7CD3 File Offset: 0x000B5ED3
 public FileCheckJustCreatedEDBException(string file, Exception innerException) : base(ReplayStrings.FileCheckJustCreatedEDB(file), innerException)
 {
     this.file = file;
 }
 public ReplayServiceUnknownReplicaInstanceException(string operationName, string db, Exception innerException) : base(ReplayStrings.ReplayServiceUnknownReplicaInstanceException(operationName, db), innerException)
 {
     this.operationName = operationName;
     this.db            = db;
 }
 // Token: 0x060027C4 RID: 10180 RVA: 0x000B68AB File Offset: 0x000B4AAB
 public NetworkTimeoutException(string remoteNodeName, string errorText, Exception innerException) : base(ReplayStrings.NetworkTimeoutError(remoteNodeName, errorText), innerException)
 {
     this.remoteNodeName = remoteNodeName;
     this.errorText      = errorText;
 }
示例#29
0
 // Token: 0x06002868 RID: 10344 RVA: 0x000B7D55 File Offset: 0x000B5F55
 public FileCheckEseutilErrorException(string errorMessage, Exception innerException) : base(ReplayStrings.FileCheckEseutilError(errorMessage), innerException)
 {
     this.errorMessage = errorMessage;
 }
 // Token: 0x06000983 RID: 2435 RVA: 0x0002D70C File Offset: 0x0002B90C
 protected override LocalizedString GetIOExceptionMessage(string directoryName, string apiName, string ioErrorMessage, int win32ErrorCode)
 {
     return(ReplayStrings.EseLogEnumeratorIOError(apiName, ioErrorMessage, win32ErrorCode, directoryName));
 }