blankensteiner commented on issue #56: URL: https://github.com/apache/pulsar-dotpulsar/issues/56#issuecomment-691012175
Hi @usaguerrilla Bailing all the time will mean that every user needs to handle retry/reconnect, which in turn means that it will make sense for DotPulsar to handle it, and then we are back at looking for a strategy for doing this. Never bailing (always retrying/reconnecting) is maybe an option, but then we should remove the 'Faulted' state. This leaves us with the question if retrying on exceptions like "Topic terminated", "Topic not found", "Authentication/Authorization exception", "Checksum exception", "Incompatible schema exception", "Invalid topic name exception", "Metadata exception", "Unsupported version exception" and "Subscription not found exception" is a good idea? Some of these we can safely say can't be fixed and thereby it's pointless to keep retrying. This forces us to keep the 'Faulted' state and use our judgment to make some sane defaults. We could change the default to retry/reconnect on more exceptions and/or change the default action for unknown exceptions to be 'Retry' but the user still needs to provide a handler to log the exceptions (and to create alerts is needed) and possibly also to change some default behavior. Then we are back at what you are objecting to. So, I would love to have a discussion about this, I am open to ideas, but I need a concrete change description before I can evaluate the pros and cons of this compared to the current implementation. ---------------------------------------------------------------- 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