Commit ae8cd38
fix: add Docker healthcheck for Dremio in CI (#941)
* fix: add retry logic for transient Dremio connection errors in CI
Dremio OSS Docker intermittently drops TCP connections under concurrent
load from 8 pytest-xdist workers, producing RemoteDisconnected errors
during dbt seed and dbt run operations.
Changes:
- Add retry logic (3 attempts, 10s delay) to dbt seed in data_seeder.py
- Add retry logic (3 attempts, 15s delay) to dbt run in env.py init()
- Add Docker healthcheck to Dremio container in docker-compose-dremio.yml
- Use 'docker compose up -d --wait' to ensure Dremio is healthy before tests
- Make dremio-setup depend on Dremio health check passing
Co-Authored-By: Itamar Hartstein <haritamar@gmail.com>
* fix: replace --wait with manual Dremio health check wait
docker compose --wait fails when one-shot containers (minio-setup)
exit, even with exit code 0. Instead, poll the Dremio container's
health status directly with docker inspect.
Co-Authored-By: Itamar Hartstein <haritamar@gmail.com>
* fix: catch exceptions in retry loops for seed and init operations
Co-Authored-By: Itamar Hartstein <haritamar@gmail.com>
* fix: preserve exception chain in retry loops for better debugging
Co-Authored-By: Itamar Hartstein <haritamar@gmail.com>
* refactor: remove redundant retry wrappers from env.py and data_seeder.py
The generic retry logic in elementary PR #2125 (CommandLineDbtRunner)
now handles transient error detection and retries for all dbt commands,
including seed and run. The CI test harness no longer needs its own
retry wrappers since it calls dbt_runner.run() and dbt_runner.seed()
which go through the runner's retry logic.
This simplifies the PR to just the Docker healthcheck improvements
for Dremio.
Co-Authored-By: Itamar Hartstein <haritamar@gmail.com>
---------
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Itamar Hartstein <haritamar@gmail.com>1 parent fc5d873 commit ae8cd38
2 files changed
Lines changed: 15 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
91 | 91 | | |
92 | 92 | | |
93 | 93 | | |
94 | | - | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
95 | 101 | | |
96 | 102 | | |
97 | 103 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
65 | 65 | | |
66 | 66 | | |
67 | 67 | | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
68 | 74 | | |
69 | 75 | | |
70 | 76 | | |
71 | 77 | | |
72 | 78 | | |
73 | | - | |
| 79 | + | |
| 80 | + | |
74 | 81 | | |
75 | 82 | | |
76 | 83 | | |
| |||
0 commit comments