This is an automated email from the ASF dual-hosted git repository.
hello-stephen pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new 52cdeb6c4cf [fix](regression) Wait for show config output before
parsing (#65486)
52cdeb6c4cf is described below
commit 52cdeb6c4cf88a629ec38258e22fe7333f4c57a6
Author: shuke <[email protected]>
AuthorDate: Thu Jul 16 17:58:28 2026 +0800
[fix](regression) Wait for show config output before parsing (#65486)
Problem Summary:
`test_mow_table_with_format_v2` used `consumeProcessOutput` to start
asynchronous stdout and stderr reader threads, then called
`Process.waitFor()` and immediately parsed the stdout buffer.
`waitFor()` only waits for the curl process and does not join the reader
threads, so the case could intermittently parse an empty buffer even
though `/api/show_config` returned a complete response.
The same failure signature appeared in P0 build 992109 and Cloud P0
build 983996: curl exited with code 0 and reported receiving the
response, while the captured stdout was still empty at parse time.
This change uses `waitForProcessOutput` to wait for both reader threads
before reading the exit value and parsing the JSON response. The product
assertions and test intent are unchanged.
---
.../index_format_v2/test_mow_table_with_format_v2.groovy | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git
a/regression-test/suites/inverted_index_p0/index_format_v2/test_mow_table_with_format_v2.groovy
b/regression-test/suites/inverted_index_p0/index_format_v2/test_mow_table_with_format_v2.groovy
index 02aebbc3ecb..3dacfe71a65 100644
---
a/regression-test/suites/inverted_index_p0/index_format_v2/test_mow_table_with_format_v2.groovy
+++
b/regression-test/suites/inverted_index_p0/index_format_v2/test_mow_table_with_format_v2.groovy
@@ -93,8 +93,8 @@ suite("test_mow_table_with_format_v2",
"inverted_index_format_v2") {
def process = cmd.execute()
def output = new StringBuffer()
def errorOutput = new StringBuffer()
- process.consumeProcessOutput(output, errorOutput)
- int exitCode = process.waitFor()
+ process.waitForProcessOutput(output, errorOutput)
+ int exitCode = process.exitValue()
logger.info("Show config: code=" + exitCode + ", out=" + output + ",
err=" + errorOutput)
assertEquals(exitCode, 0)
def configList = parseJson(output.toString().trim())
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]