diff --git a/src/Marten/Events/Daemon/Coordination/ProjectionCoordinator.cs b/src/Marten/Events/Daemon/Coordination/ProjectionCoordinator.cs index 7d7effab15..b7b7104b64 100644 --- a/src/Marten/Events/Daemon/Coordination/ProjectionCoordinator.cs +++ b/src/Marten/Events/Daemon/Coordination/ProjectionCoordinator.cs @@ -29,7 +29,7 @@ public class ProjectionCoordinator: IProjectionCoordinator private readonly ResiliencePipeline _resilience; private readonly TimeProvider _timeProvider; - private CancellationTokenSource _cancellation; + private CancellationTokenSource? _cancellation; private ImHashMap _daemons = ImHashMap.Empty; private Task? _runner; @@ -102,7 +102,10 @@ public Task StartAsync(CancellationToken cancellationToken) public async Task PauseAsync() { _logger.LogInformation("Pausing ProjectionCoordinator"); - await _cancellation.CancelAsync().ConfigureAwait(false); + if (_cancellation != null) + { + await _cancellation.CancelAsync().ConfigureAwait(false); + } await pauseDistributor().ConfigureAwait(false);