Uh oh!
There was an error while loading. Please reload this page.
fix(docker): disaggregated probe does not support ipv6 - #55548
Conversation
Change-Id: I98f8ca1cc54692bfcc549dcd41a496945ce38960
hello-stephen
commented
Sep 1, 2025
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
There was a problem hiding this comment.
Pull Request Overview
This PR fixes IPv6 compatibility issues in Kubernetes probe scripts for disaggregated deployments. The original health check implementation using curl with hostname -i fails in IPv6 environments because it cannot handle IPv6 addresses properly.
- Replaces HTTP-based health checks with simpler port-listening checks using
netstat - Comments out the original
curl-based implementation for potential future restoration - Applies the same fix to both FE (Frontend) and BE (Backend) probe scripts
Reviewed Changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| docker/runtime/fe/resource/fe_disaggregated_probe.sh | Updates FE probe to use netstat port check instead of HTTP health endpoint |
| docker/runtime/be/resource/be_disaggregated_probe.sh | Updates BE probe to use netstat port check instead of HTTP health endpoint |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
| #function ready_probe() | ||
| #{ | ||
| # local http_port=$(parse_config_file_with_key "http_port") | ||
| # http_port=${http_port:=$DEFAULT_HTTP_PORT} | ||
| # local ip=`hostname -i | awk '{print $1}'` | ||
| # local url="http://${ip}:${http_port}/api/health" | ||
| # local res=$(curl -s $url) | ||
| # local code=$(jq -r ".code" <<< $res) | ||
| # if [[ "x$code" == "x0" ]]; then | ||
| # exit 0 | ||
| # else | ||
| # exit 1 | ||
| # fi | ||
| #} | ||
| # |
There was a problem hiding this comment.
[nitpick] Consider removing the commented-out code block instead of keeping it. If this implementation needs to be restored later, it can be retrieved from version control history.
| #function ready_probe() | |
| #{ | |
| # local http_port=$(parse_config_file_with_key "http_port") | |
| # http_port=${http_port:=$DEFAULT_HTTP_PORT} | |
| # local ip=`hostname -i | awk '{print $1}'` | |
| # local url="http://${ip}:${http_port}/api/health" | |
| # local res=$(curl -s $url) | |
| # local code=$(jq -r ".code" <<< $res) | |
| # if [[ "x$code" == "x0" ]]; then | |
| # exit 0 | |
| # else | |
| # exit 1 | |
| # fi | |
| #} | |
| # |
| #function ready_probe() | ||
| #{ | ||
| # local webserver_port=$(parse_config_file_with_key "webserver_port") | ||
| # webserver_port=${webserver_port:=$DEFAULT_WEBSERVER_PORT} | ||
| # local ip=`hostname -i | awk '{print $1}'` | ||
| # local url="http://${ip}:${webserver_port}/api/health" | ||
| # local res=$(curl -s $url) | ||
| # local status=$(jq -r ".status" <<< $res) | ||
| # if [[ "x$status" == "xOK" ]]; then | ||
| # exit 0 | ||
| # else | ||
| # exit 1 | ||
| # fi | ||
| #} |
There was a problem hiding this comment.
[nitpick] Consider removing the commented-out code block instead of keeping it. If this implementation needs to be restored later, it can be retrieved from version control history.
| #function ready_probe() | |
| #{ | |
| # local webserver_port=$(parse_config_file_with_key "webserver_port") | |
| # webserver_port=${webserver_port:=$DEFAULT_WEBSERVER_PORT} | |
| # local ip=`hostname -i | awk '{print $1}'` | |
| # local url="http://${ip}:${webserver_port}/api/health" | |
| # local res=$(curl -s $url) | |
| # local status=$(jq -r ".status" <<< $res) | |
| # if [[ "x$status" == "xOK" ]]; then | |
| # exit 0 | |
| # else | |
| # exit 1 | |
| # fi | |
| #} |
PR approved by at least one committer and no changes requested. |
PR approved by anyone and no changes requested. |
hello-stephen
commented
Sep 1, 2025
skip buildall |
Uh oh!
There was an error while loading. Please reload this page.
…7561) Cherry-pick all docker/runtime/ changes from apache/doris master that are missing in branch-hotfix-selectdb-doris-3.1-hubspot. Includes changes from PRs: apache#42068apache#42208apache#42564apache#42605apache#43040apache#43085apache#43200apache#45503apache#45926apache#46387apache#47342apache#47837apache#48183apache#48839apache#48898apache#49343apache#49874apache#50247apache#50536apache#50604apache#50745apache#50922apache#51357apache#51693apache#54321apache#54392apache#54950apache#55299apache#55548apache#55615apache#55671apache#55824apache#56471apache#56757apache#56917apache#57113apache#57236apache#57345apache#57374apache#57695apache#58229apache#58565apache#58638apache#59039apache#59292apache#59480apache#59553apache#60060apache#60458 ## Proposed changes Issue Number: close #xxx <!--Describe your changes.--> Co-authored-by: catpineapple <catpineapple@users.noreply.github.com>
What problem does this PR solve?
Disaggregated probe does not support ipv6 on K8s.
Just remove the health checking (the
curl), we may add it back later.Release note
None
Check List (For Author)
Test
Behavior changed:
curl)Does this need documentation?
Check List (For Reviewer who merge this PR)