[C++][FS][Azure] Azurite tests can race service startup #50876
Description
AzuriteEnv::Make() returns immediately after spawning Azurite, without waiting for the Blob service to become ready. The first test setup request can therefore fail with:
Fail to get a new connection for: http://127.0.0.1:10000. Could not connect to server
Observed with Arrow 23.0.0 on aarch64 macOS:
https://hydra.nixos.org/log/gddq769pa1lyj3x3fnm9c0m13k26qsci-arrow-cpp-23.0.0.drv
The same log then contains "Azurite Blob service is starting..." followed by "Azurite Blob service is successfully listening...", and subsequent Azurite tests pass.
This likely surfaced as a package failure because nixpkgs runs CTest directly and does not use Arrow CI’s --repeat until-pass:3 mitigation:
https://github.com/apache/arrow/blob/apache-arrow-23.0.0/ci/scripts/cpp_test.sh#L115-L120
That retry was added in #40080 for #40121. The existing report concerns truncated HTTP responses rather than Azurite not yet listening, so this appears to be a different failure mode.
Expected behavior: the test environment should wait until Azurite is ready before starting filesystem tests.
This report was prepared with Codex. Every word was read and understood by a human before submission.
Component(s)
C++
Activity
apacheGH-50876: [C++][FS][Azure] Wait for Azurite to start
arrow-cpp: fix test racing on (not) waiting for azurite
kou commentedon Aug 15, 2026
I don't object posting a new issue via Codex but could you use our bug report form https://github.com/apache/arrow/issues/new?template=bug_report.yaml ? It sets labels and types automatically.
apacheGH-50876: [C++][FS][Azure] Wait for Azurite to start
GH-50876: [C++][FS][Azure] Wait for Azurite to start (#50878)
kou commentedon Aug 28, 2026
Issue resolved by pull request 50878
#50878
arrow-cpp: fix test racing on (not) waiting for azurite
arrow-cpp: fix test racing on (not) waiting for azurite