cjwmorgan-sol commented on issue #4: [WIP] Failover implementation URL: https://github.com/apache/activemq-nms-amqp/pull/4#issuecomment-508592224 @HavretGC It is not clear to me if the code for pausing message delivery is blocking from NmsConnection Stop. Connection Stop must be blocking on the return of all message delivery callbacks, see section 6.1.5 jms 2.0. Is Cancel on CancellationTokenSource blocking waiting for the ActionBlock to complete? (I think no as the document indicates its a signal) Is Dispose CancellationTokenSource blocking waiting for the ActionBlock to complete? (I'm not sure how dispose affect the ActionBlock processing) If neither are blocking on the action block to complete there is at least one race condition I can see in NmsMessageConsumer DeliverNextPending where the Listener could be nulled by the application thread after NmsConnection Stop. Although I imagine that would be very difficult for that to happen. Also orderly shutdown (Connection, Session, MessageConsumer Close) follows the same blocking idea so for now I think its possible to receive message deliveries on a closed connection, session, and Message Consumer. See Section 6.1.8 for the connection close.
---------------------------------------------------------------- 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: [email protected] With regards, Apache Git Services
