// Token: 0x060023BC RID: 9148 RVA: 0x000A77E8 File Offset: 0x000A59E8 internal void SetReportingCallbacksForAcll(ISetBroken setBroken, ISetDisconnected setDisconnected) { lock (this) { this.m_setBrokenForAcll = setBroken; this.m_setDisconnectedForAcll = setDisconnected; } }
public PassiveBlockMode(LogCopier copier, ISetBroken setBroken, int maxConsumerDepthInBytes) { this.Copier = copier; this.Configuration = copier.Configuration; this.m_maxConsumerDepthInBytes = maxConsumerDepthInBytes; this.m_maxBuffersInUse = PassiveBlockMode.GetMaxBuffersPerDatabase(this.m_maxConsumerDepthInBytes); this.m_consumer = new GranularWriter(copier, copier.PerfmonCounters, copier.Configuration, setBroken); this.m_timer = new Timer(new TimerCallback(this.WakeUpCallback)); }
public void UseSetBrokenForIOFailures(ISetBroken setBroken) { this.m_setBroken = setBroken; }
// Token: 0x06001D0B RID: 7435 RVA: 0x00082924 File Offset: 0x00080B24 protected ShipControl(string fromDir, string fromPrefix, long fromNumber, string fromSuffix, ISetBroken setBroken, IReplicaProgress replicaProgress) { this.m_className = base.GetType().Name; this.m_fromDir = fromDir; this.m_fromPrefix = fromPrefix; this.m_fromNumber = fromNumber; this.m_fromSuffix = fromSuffix; this.m_shipLogsSetBroken = new ShipLogsSetBroken(setBroken, null); this.m_setBroken = this.m_shipLogsSetBroken; this.m_replicaProgress = replicaProgress; this.m_countdownToGapTest = 6L; }
// 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: 0x060023BB RID: 9147 RVA: 0x000A77D0 File Offset: 0x000A59D0 public ShipLogsSetBroken(ISetBroken setBroken, ISetDisconnected setDisconnected) { this.m_setBroken = setBroken; this.m_setDisconnected = setDisconnected; }
// 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: 0x06001D4C RID: 7500 RVA: 0x000844ED File Offset: 0x000826ED internal void SetReportingCallback(ISetBroken setBroken) { this.m_shipLogsSetBroken.SetReportingCallbacksForAcll(setBroken, null); }
// Token: 0x06000A21 RID: 2593 RVA: 0x0002F2C0 File Offset: 0x0002D4C0 public static void MoveLogFiles(ReplayConfiguration config, FileState fileState, ISetBroken setBroken, long corruptLogGen) { string text = Path.Combine(config.E00LogBackupPath, "SkippedLogs"); Exception ex = DirectoryOperations.TryCreateDirectory(text); if (ex != null) { setBroken.SetBroken(FailureTag.Configuration, ReplayEventLogConstants.Tuple_FailedToCreateDirectory, ex, new string[] { text, ex.ToString() }); return; } string currentDateString = FileOperations.GetCurrentDateString(); string text2 = Path.Combine(text, currentDateString); ex = DirectoryOperations.TryCreateDirectory(text2); if (ex != null) { setBroken.SetBroken(FailureTag.Configuration, ReplayEventLogConstants.Tuple_FailedToCreateDirectory, ex, new string[] { text2, ex.ToString() }); return; } string destinationLogPath = config.DestinationLogPath; string text3 = string.Empty; string path = string.Empty; try { ReplayEventLogConstants.Tuple_MovingFilesToRestartLogStream.LogEvent(null, new object[] { config.DatabaseName, EseHelper.MakeLogfileName(config.LogFilePrefix, config.LogFileSuffix, corruptLogGen), text2 }); foreach (string text4 in Directory.GetFiles(destinationLogPath, "*." + config.LogExtension)) { text3 = text4; path = Path.GetFileName(text4); long logfileGenerationFromFilePath = EseHelper.GetLogfileGenerationFromFilePath(text4, config.LogFilePrefix); if (logfileGenerationFromFilePath >= fileState.LowestGenerationRequired) { ExTraceGlobals.ReplicaInstanceTracer.TraceError <string>(0L, "MoveLogFiles(): Cannot move logfile '{0}' because it is required by the database.", text4); } else { File.Move(text4, Path.Combine(text2, path)); } } foreach (string text5 in Directory.GetFiles(destinationLogPath, "*.jsl")) { text3 = text5; path = Path.GetFileName(text5); File.Move(text5, Path.Combine(text2, path)); } ExTraceGlobals.ReplicaInstanceTracer.TraceError <string>(0L, "Moved log files successfully from '{0}'", config.DestinationLogPath); } catch (IOException ex2) { ExTraceGlobals.ReplicaInstanceTracer.TraceError <string, string, IOException>(0L, "Moving file '{0}' to '{1}' failed with exception: {2}", text3, text2, ex2); setBroken.SetBroken(ReplicaInstance.IOExceptionToFailureTag(ex2), ReplayEventLogConstants.Tuple_CouldNotDeleteLogFile, ex2, new string[] { text3, ex2.ToString() }); } catch (UnauthorizedAccessException ex3) { ExTraceGlobals.ReplicaInstanceTracer.TraceError <string, string, UnauthorizedAccessException>(0L, "Moving file '{0}' to '{1}' failed with exception: {2}", text3, text2, ex3); setBroken.SetBroken(FailureTag.AlertOnly, ReplayEventLogConstants.Tuple_CouldNotDeleteLogFile, ex3, new string[] { text3, ex3.ToString() }); } }
public LogTruncater(IPerfmonCounters perfmonCounters, IFileChecker fileChecker, ISetBroken setBroken, IReplayConfiguration configuration, ITruncationConfiguration truncationConfig, IReplicaInstanceContext replicaInstanceContext, ManualOneShotEvent shuttingDownEvent) : base(TimeSpan.Zero, TimeSpan.FromMilliseconds((double)RegistryParameters.LogTruncationTimerDuration), "LogTruncater") { this.m_perfmonCounters = perfmonCounters; this.m_fileChecker = fileChecker; this.m_configuration = configuration; this.m_truncationConfig = truncationConfig; this.m_replicaInstanceContext = replicaInstanceContext; this.m_shuttingDownEvent = shuttingDownEvent; this.m_localInspectorGen = this.m_configuration.ReplayState.InspectorGenerationNumber; this.m_localReplayerGen = this.m_configuration.ReplayState.ReplayGenerationNumber; this.m_perfmonCounters.TruncatedGenerationNumber = this.m_genTruncatedLocally; LogTruncater.Tracer.TraceDebug <IReplayConfiguration>((long)this.GetHashCode(), "LogTruncater initialized - configuration = {0}", configuration); }
public GranularWriter(LogCopier logCopier, IPerfmonCounters perfmonCounters, IReplayConfiguration replayConfiguration, ISetBroken setBroken) { this.m_logCopier = logCopier; this.m_setBroken = setBroken; this.m_perfmonCounters = perfmonCounters; this.m_config = replayConfiguration; this.m_perfmonCounters.GranularReplication = 0L; }