Skip to content

[C++][FS][Azure] Azurite tests can race service startup #50876

Description

@booxter

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++

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions