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++
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:3mitigation: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++