This is an automated email from the ASF dual-hosted git repository.
CritasWang pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iotdb-client-rust.git
The following commit(s) were added to refs/heads/main by this push:
new 6445ccd CI: wait for DataNode startup banner in container logs
instead of a TCP probe (docker port proxy accepts before DataNode listens,
causing connection resets on slower startups)
6445ccd is described below
commit 6445ccdd24d8fa46927a667c4e64842a11ccd205
Author: CritasWang <[email protected]>
AuthorDate: Mon Jul 20 11:12:48 2026 +0800
CI: wait for DataNode startup banner in container logs instead of a TCP
probe (docker port proxy accepts before DataNode listens, causing connection
resets on slower startups)
---
.github/workflows/ci.yml | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 0a034e0..f731269 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -85,17 +85,20 @@ jobs:
- uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
+ # A bare TCP probe is unreliable: docker's port proxy accepts connections
+ # before the DataNode listens (then resets them), so wait for the
+ # startup banner in the container log instead.
- name: Wait for IoTDB
run: |
- for i in $(seq 1 60); do
- if (exec 3<>/dev/tcp/127.0.0.1/6667) 2>/dev/null; then
- exec 3>&- 3<&-
+ for i in $(seq 1 120); do
+ if docker logs "${{ job.services.iotdb.id }}" 2>&1 | grep -q "set
up successfully"; then
echo "IoTDB is up after ${i}s"
exit 0
fi
sleep 1
done
- echo "IoTDB did not become ready in 60s" >&2
+ echo "IoTDB did not become ready in 120s" >&2
+ docker logs "${{ job.services.iotdb.id }}" 2>&1 | tail -50
exit 1
# Includes the live-server tests now that IoTDB is reachable.