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


Reply via email to