usaguerrilla opened a new issue #56: URL: https://github.com/apache/pulsar-dotpulsar/issues/56
If I add the following exceptions cases into default handler then consumer and producer can reconnect. IMHO handler is a dangerous things as if implementation or underlying .net changes and new exceptions are thrown we might end up with server applications which hang from time to time for no apparent reason. ``` PersistenceException _ => FaultAction.Retry, IOException _ => FaultAction.Retry, ``` These exception are throw if channel was sending data to the server at the time server went down. Full code: ``` private FaultAction DetermineFaultAction(Exception exception, CancellationToken cancellationToken) => exception switch { PersistenceException _ => FaultAction.Retry, IOException _ => FaultAction.Retry, TooManyRequestsException _ => FaultAction.Retry, ChannelNotReadyException _ => FaultAction.Retry, ServiceNotReadyException _ => FaultAction.Retry, ConnectionDisposedException _ => FaultAction.Retry, AsyncLockDisposedException _ => FaultAction.Retry, PulsarStreamDisposedException _ => FaultAction.Retry, AsyncQueueDisposedException _ => FaultAction.Retry, OperationCanceledException _ => cancellationToken.IsCancellationRequested ? FaultAction.Rethrow : FaultAction.Retry, DotPulsarException _ => FaultAction.Rethrow, SocketException socketException => socketException.SocketErrorCode switch { SocketError.HostNotFound => FaultAction.Rethrow, SocketError.HostUnreachable => FaultAction.Rethrow, SocketError.NetworkUnreachable => FaultAction.Rethrow, _ => FaultAction.Retry }, _ => FaultAction.Rethrow }; ``` ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org