This repository acts as a central hub for handling issues, collecting feedback, and facilitating discussions related to the Azure Service Bus Emulator.
Similar to the issue with the event hub emulator https://github.com/Azure/azure-event-hubs-emulator-installer/issues/38 except here it's even more prominent since there seems to be a hard coded 15 seconds wait for Sql to become ready (instead of a Sql health check that could determine that)
Copy pasting here:
We're using docker compose to run the emulator. Sometimes after the docker image is up, it may take a few seconds for it to become available to accept requests. In other emulators we usually circumvent this by using health checks. For example, in Azurite we can do something like this the workaround suggested here https://github.com/Azure/Azurite/issues/1666#issue-1361671796. However, this is not possible with the emulator as the image doesn't seem to contain an actual shell (sh / bash)
Describe the solution you'd like
Ideally a health check in the image itself, or some other best practice to follow
Describe alternatives you've considered
Thread sleep arbitrarily from the consuming side - not great since we have to copy paste this solution everywhere and the time to wait may vary
Retry from the consuming side until the image becomes ready - not great because it's harder to isolate image startup times and possible errors from the tests'
Similar to the issue with the event hub emulator https://github.com/Azure/azure-event-hubs-emulator-installer/issues/38 except here it's even more prominent since there seems to be a hard coded 15 seconds wait for Sql to become ready (instead of a Sql health check that could determine that)
Copy pasting here:
We're using docker compose to run the emulator. Sometimes after the docker image is up, it may take a few seconds for it to become available to accept requests. In other emulators we usually circumvent this by using health checks. For example, in Azurite we can do something like this the workaround suggested here https://github.com/Azure/Azurite/issues/1666#issue-1361671796. However, this is not possible with the emulator as the image doesn't seem to contain an actual shell (sh / bash)
Describe the solution you'd like Ideally a health check in the image itself, or some other best practice to follow
Describe alternatives you've considered
Thread sleep arbitrarily from the consuming side - not great since we have to copy paste this solution everywhere and the time to wait may vary Retry from the consuming side until the image becomes ready - not great because it's harder to isolate image startup times and possible errors from the tests'