Endpoint Stops Processing after Critical Error

Hello All,

We are using:
• NServiceBus 7.1.6
• NServiceBus.SqlServer 4.1

We took our SQL Server instance that we use for NServiceBus down for patching (planned), and an endpoint did not resume processing incoming messages as a result.

Two minutes after the server went down, I noted the following in the log: “The circuit breaker for SqlPeek is now disarmed.” That led me to read about the Circuit Breaker and Critical Errors:

The second link, Critical Errors for NServiceBus (7.x - 7.1) states that “The default behavior is to log the exception and keep retrying indefinitely.”

The version of the page for NServiceBus (6.x) states that “The default behavior is to stop the endpoint.”

As noted, we are using NSB 7.1.6, but it appears we are seeing the behavior documented for NSB 6.x. Is the documentation incorrect for version 7.1.x, or is something else causing the endpoint to stop processing? I just want to ensure I am taking the correct mitigation steps.

Thanks,

Phil

Hi Phil,

I configured a sample to your exact versions and then stopped my local SqlExpress instance. The endpoint freaked out but then after I restarted the service, it picked right back up.

However if you have an operation outside the message processing pipeline, an exception there can still bubble up and fail the process.

It would probably be a good idea to open a support case with the exact logs and stack trace that precede the endpoint failing, and we can help you figure out what the “other thing” is.

1 Like

Thanks David. I attempted to create a repro case and it worked as you suggested. I will see if I can reproduce in a non-prod environment with the real service–I’ll update this thread (or contact support) when I have more data.

Thanks,

Phil