-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Multi broker setup hardening #1627
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
base: main
Are you sure you want to change the base?
Conversation
…t.waitFor for transport connector readiness
…idgeTest to prevent port conflicts during parallel test execution
|
Since I wrote this test initially if I recall I think the main thing to wait for is not that the broker can accept connections, but that the network bridges were created by the connector and are online. I can look more at it and see what would make sense but maybe we can just check activeBridges() on the network connector for the status to verify we are online. The NetworkBridge interface may need to be enhanced. |
|
I can rework the condition, the error was initially more that the network connections were connecting before the port would be open. So I thought it was the right condition but you are correct, we could harden it a bit more by checking that all network connection are active. |
Yeah you can give it a shot to see if there is a good way to detect the bridges are started and online |
|
Looking at this test again, it could actually be the brokers not coming online fast enough as we are creating client connections as well. @jeanouii - do you have the failed test output for where the test failed and the line number? I was thinking it was the network bridges starting but I peaked again and we already have a bunch of waits in the code for waiting for the network durables to come online, so I think you may actually be right it's the client connections that are the issue and not the bridges after all. |
|
@cshannon It took me a while to move back enough to find the test failures again. Here they are You can find the complete logs at https://github.com/apache/activemq/actions/runs/21259419563/job/61182838770 |
|
I'm happy to poke at it. Fine for me because I'm all hands on, but when I'm done having failures published would be better |
The restart sometimes does not happen fast enough and we try to create connections
Also using ephemeral ports because client uses VM connector and the NOB is already using
transportConnectors.get(0).getConnectUri()so there is really no reason not to