Repository navigation
HDDS-16881. Fix intermittent failure in ozone-ha/test-haproxy-s3g.sh - #11475
Merged
Merged
Conversation
wait_for_s3g_ready checks for the s3g1 service with `docker-compose config --services | grep -q "^s3g1$"` under pipefail. grep -q exits on the first match, so docker-compose can get SIGPIPE while writing the remaining service names and the pipeline fails. The wait is then skipped and S3 tests start while all HAProxy backends are still DOWN (503). Let grep consume the whole output instead. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
Copilot wasn't able to review any files in this pull request. Check if the Files changed in this pull request are included in default exclusions.
cchung100m
approved these changes
Oct 11, 2026
cchung100m
left a comment
Contributor
There was a problem hiding this comment.
LGTM, thanks to @smengcl
smengcl
marked this pull request as ready for review
October 11, 2026 07:39
Russole
self-requested a review
October 11, 2026 22:41
Contributor
Author
|
Thanks @cchung100m @chungen0126 for the reviews. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Generated-by: Claude Code (Opus 5.5)
What changes were proposed in this pull request?
ozone-ha/test-haproxy-s3g.shintermittently fails inacceptance (HA-unsecure): the firstawss3.robottests fail with1 != 0because the aws cli gets 503 from HAProxy.HDDS-16360 made HAProxy gate S3 traffic on
/health/readyand addedwait_for_s3g_readyso tests start only afters3g1is ready. Its guard isdocker-compose config --services | grep -q "^s3g1$", andtestlib.shruns withpipefail.grep -qexits on the first match, sodocker-composecan get SIGPIPE writing the remaining service names, the pipeline returns 141, and the wait is skipped. Passing runs logWaiting for S3 Gateway (s3g1) to report ready...; the failing runs do not.This patch replaces
grep -qwithgrep ... > /dev/null, so grep reads the whole output.What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-16881
How was this patch tested?
set -o pipefail:grep -qreturns 141 when lines follow the match,grep > /dev/nullreturns 0 (and still 1 when the service is absent).hadoop-ozone/dev-support/checks/bats.shpasses.acceptance (HA-unsecure)logsWaiting for S3 Gateway (s3g1) to report ready...before the HAProxy tests. One green run cannot prove the race is gone, but the fix removes it by construction: grep no longer exits before docker-compose finishes writing.🤖 Generated with Claude Code