-
Notifications
You must be signed in to change notification settings - Fork 57
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ChannelProvider Publish reconnection attempts continue forever after IEndpointInstance had been stopped #1268
Comments
@mstavrev Am I correct in interpreting that the endpoint Stop does complete but remains active in the background or does the Stop throw an error? |
The Stop call completes without an exception. |
@mstavrev I'll try and repro this Today and triage this. How is this affecting you at the moment besides the excessive logging behavior? |
It isn't critical. |
@mstavrev I've been able to reproduce this and updated the "Steps to reproduce" with an additional observation. |
Thanks for the update. |
Any estimation when the fix shall be released? |
The bug is currently in queue to be fixed, but there is no estimated time frame for when it will be released. Continue to subscribe to the issue to receive future updates. |
@mstavrev fix is here if you are severely affected but we didn't reach consensus yet on this fix |
Describe the bug
Description
Our application manages endpoints on the runtime, e.g. creates and terminates various endpoints depending on application logic. Due to the dynamic nature of this process, it is possible that an endpoint need to be terminated, while the RabbitMQ broker it used to be connected to isn't available, for example had been shutdown.
Note: A precondition is to have the bus endpoint successfully be created and connected to the broker in the first place.
Expected behavior
When IEndpointInstance.Stop() had completed without an error (Task await completed without an exception), the RabbitMQ transport that backed up this bus must had been shutdown as well.
Actual behavior
When endpoint is stopped while it is in an error state (RabbitMQ broker had been shutdown for example), NServiceBus continues to periodically log entries such as:
This means, the transport had not been completely shutdown and cleaned up. This creates needless load on our application as this may occur for multiple bus entries. Additionally it creates error logging (yes, we know we can suppress it for the time being) that's cluttering our application log.
Versions
8.0.2
Steps to reproduce
await Task.Delay(-1)
)☝🏼 Observe that the console and log indicate that the transport is still reconnecting.
☝🏼 Observe that the console and log indicate that the transport reconnects and that a connection to the broker remains active.
Relevant log output
No response
Additional Information
Workarounds
I have not found a way to mitigate it with application-level code.
Possible solutions
Additional information
The text was updated successfully, but these errors were encountered: