/// <inheritdoc /> public override async Task <ReprocessEventsFromResponse> ReprocessEventsFrom(ReprocessEventsFromRequest request, ServerCallContext context) { var response = new ReprocessEventsFromResponse(); var getIds = GetEventHandlerId(request.ScopeId, request.EventHandlerId, out var eventHandler); if (!getIds.Success) { response.Failure = _exceptionToFailureConverter.ToFailure(getIds.Exception); return(response); } TenantId tenant = request.TenantId.ToGuid(); Log.ReprocessEventsFrom(_logger, eventHandler.EventHandler, eventHandler.Scope, tenant, request.StreamPosition); var reprocessing = await _eventHandlers.ReprocessEventsFrom(eventHandler, tenant, request.StreamPosition).ConfigureAwait(false); if (!reprocessing.Success) { Log.FailedDuringReprocessing(_logger, reprocessing.Exception); response.Failure = _exceptionToFailureConverter.ToFailure(reprocessing.Exception); } return(response); }