-
Notifications
You must be signed in to change notification settings - Fork 106
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
bug: concurrent running of ElasticSearch tests may produce interferences due to same ports in use #2217
Comments
* Added randomizer class for ES ports * Used in SearchTestInfrastructure for both Allegro and REST client * Added some basic logging of ports * Cleaned up imports Signed-off-by: Menahem Julien Raccah Lisei <menahemjulien.raccahlisei@bosch-si.com>
PR here. |
Looks like this solved one problem, aka the socket timeouts, but still does not allow multiple non-isolated builds running the ElasticSearch tests concurrently - maybe it's just a limitation on Allegro's side... Not sure what could be an alternative solution should that fail, save for disabling those tests (which does not sound like a great idea). |
Hi @mena-bosch , from the docs: |
PR here. |
Signed-off-by: Tobias Gauss <tobias.gauss@bosch-si.com>
added config option to disable concurrent builds. Fixes #2217
* Added randomizer class for ES ports * Used in SearchTestInfrastructure for both Allegro and REST client * Added some basic logging of ports * Cleaned up imports Signed-off-by: Menahem Julien Raccah Lisei <menahemjulien.raccahlisei@bosch-si.com>
Signed-off-by: Tobias Gauss <tobias.gauss@bosch-si.com>
This is a speculative resolution for a problem we have noticed only recently.
One (or more) of the integration tests for ElasticSearch was failing to reindex a model when during the build on the Jenkins side, showing a socket timeout exception.
Given how those tests work (an ES runtime is launched by Allegro on specific ports), I suspect that multiple concurrent builds testing the ES integration tests at the same time might actually be stepping on each others' feet, when the build processes are not isolated.
I will try and randomize the ports used to spin the service with the following rules:
Hopefully this will limit the collisions well enough for the use case.
The text was updated successfully, but these errors were encountered: