Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
MessageSender doesn't recover from lost connection, violates LockDuration #639
When sending messages (transaction + send-via from message handler as a response to an incoming message) everything works great until there's a connection loss. Once connection is lost, it's re-established. Message receiver for the message handler recovers and picks up messages. But message sender does not. Instead, the incoming message is received and whenever a send operation is attempted, it immediately fails. Exception handler logs
Additional observation - when the exception is taking place, despite receiving mode
Steps to reproduce
Also, this is only happening with using transaction scope. W/o transaction scope
I am experiencing similar problem, although it seems to be related with MessageReceiver. I have two different stacktraces. It occurs after handler is successfully run and it tries to complete the process. I do not send any other messages from the handler.
We're having the same issue in our production environment. Here's an exception sample:
Once this exception comes up, the message receiver stops working and these exceptions keep bubbling up every time the sender tries to send a message.
As a workaround, we're going to dispose and re-instantiate message senders when this error comes up. Are there better ways to do it?