Files
datastore/tests/integration/compose/docker_compose_arrowflight.yml
zeekayandYakov Olkhovskiy cbe7463ec2 Fix ArrowFlight integration test port conflict under pytest-xdist
The ArrowFlight docker compose file used hardcoded host port mappings
(5005:5005 and 5006:5006). When pytest-xdist runs multiple workers
(e.g. in targeted or flaky CI checks with --dist=each), each worker
starts its own ArrowFlight container trying to bind the same host
ports, causing 'port is already allocated' failures.

This was observed failing consistently in PR #91170's targeted
integration test check:
https://s3.amazonaws.com/clickhouse-test-reports/json.html?PR=91170&sha=1e7eaf8dc3ae5fb55097ee49170c1e5e3a83191b&name_0=PR&name_1=Integration%20tests%20%28amd_asan_ubsan%2C%20targeted%29

Fix: use dynamic port allocation from the port pool, following the
same pattern as every other external service (Mongo, Redis, Kafka,
etc.). The internal container ports (5005/5006) remain unchanged —
only the host-side mapping becomes dynamic. Tests connect via Docker
networking (`arrowflight1:5005`) and are unaffected.

Co-authored-by: Yakov Olkhovskiy <[email protected]>
2026-03-31 23:03:56 +00:00

10 lines
291 B
YAML

services:
arrowflight1:
image: clickhouse/arrowflight-server-test:${DOCKER_ARROWFLIGHT_SERVER_TAG:-latest}
ports:
- "${ARROWFLIGHT_EXTERNAL_PORT:-5005}:5005"
- "${ARROWFLIGHT_AUTH_EXTERNAL_PORT:-5006}:5006"
stop_signal: SIGINT
stop_grace_period: 5s
cpus: 3