private void SyncEnvironment(EnvSyncReq req) { var storageEnvironment = req.Env; if (storageEnvironment == null || storageEnvironment.Disposed) { return; } if (storageEnvironment.LastSyncCounter > req.LastKnownSyncCounter) { return; // we already a sync after this was scheduled } try { using (var operation = new WriteAheadJournal.JournalApplicator.SyncOperation(storageEnvironment.Journal.Applicator)) { operation.SyncDataFile(); } } catch (Exception e) { if (_log.IsOperationsEnabled) { _log.Operations($"Failed to sync data file for {storageEnvironment.Options.BasePath}", e); } storageEnvironment.Options.SetCatastrophicFailure(ExceptionDispatchInfo.Capture(e)); } }
private void SyncEnvironment(EnvSyncReq req) { var storageEnvironment = req.Env; if (storageEnvironment == null || storageEnvironment.Disposed || storageEnvironment.Options.ManualSyncing) { return; } try { using (var operation = new WriteAheadJournal.JournalApplicator.SyncOperation(storageEnvironment.Journal.Applicator)) { operation.SyncDataFile(); } } catch (Exception e) { if (_log.IsOperationsEnabled) { _log.Operations($"Failed to sync data file for {storageEnvironment.Options.BasePath}", e); } storageEnvironment.Options.SetCatastrophicFailure(ExceptionDispatchInfo.Capture(e)); } }