hello-stephen opened a new pull request, #70413:
URL: https://github.com/apache/doris/pull/70413

   ### Background
   
   Performance pipeline helpers provision Java and host limits before starting 
the original FE/BE launchers. They post benchmark reports to GitHub and upload 
logs through an OSS helper with a fixed legacy destination.
   
   ### What problem does this PR solve?
   
   Issue Number: None
   Related PR: #70411 (separate load-schema correction; no dependency or shared 
edits)
   PR Type: Build/CI/Chore
   
   Problem Summary:
   
   Preconfigured unprivileged containers cannot install system packages, write 
host sysctls or disable host swap. Explicitly configured report destinations 
also need to avoid inheriting a legacy storage account. Add an opt-in 
preconfigured runtime with strict prerequisite validation, explicit report 
routing and environment-only STS log upload; keep managed-host defaults and FE 
JaCoCo enabled.
   
   ### Details
   
   - **Change map:** Three common shell helpers contain the runtime and report 
configuration changes; a shell behavior test and an operator note document and 
check the new paths.
   - **Affected:** `doris-utils.sh`, `github-utils.sh`, and `oss-utils.sh`, 
called by Performance pipeline scripts. Preconfigured mode checks the actual 
JAVA_HOME Java specification version, host max_map_count, container nofile/core 
limits, and disabled host swap. It still calls the original launchers and 
propagates their failures. FE requires a preinstalled local JaCoCo agent and 
mysql client.
   - **Developer and release impact:** No engine, SQL, benchmark input, 
row-count assertion or performance threshold changes. Default mode remains 
managed; operators explicitly select preconfigured mode and the expected Java 
version. Reports default to GitHub and still require a separate GitHub token. 
Artifact reports require an explicit destination; missing credentials do not 
trigger a fallback. Preconfigured OSS log upload requires an operator-installed 
validated ossutil 2.4.1, HTTPS endpoint, region, authorized prefix and 
short-lived environment credentials.
   - **Behavior change:** Prerequisite and launcher errors now return failure 
immediately. GitHub HTTP errors also fail instead of being treated as 
successful comments. Existing FE JaCoCo exclusions, append mode and destination 
remain unchanged.
   - **License and third-party:** No new runtime dependency installation or 
bundled third-party binaries. Tests use local mocks and the repository's 
existing shell tool conventions.
   - **Rollback:** Revert this PR. Do not switch an unprivileged host to 
managed mode as a workaround for unmet preconditions.
   
   ### Testing
   
   - Local `bash -n` for the three helpers and behavior test; `git diff 
--check`.
   - `bash regression-test/pipeline/common/tests/test-preconfigured-runtime.sh` 
passed locally with mock JDK/kernel interfaces/launchers/uploader. Covers Java 
mismatch/missing JDK, invalid mode, low/invalid map count, low nofile, finite 
core limit, active/unreadable swap, failed and successful original BE startup, 
FE JaCoCo argument preservation/missing local agent, explicit artifact reports, 
missing GitHub token, invalid report routing, environment-only STS arguments, 
missing session token, non-HTTPS endpoint and upload failure.
   - No live FE/BE startup, GitHub comment, OSS write or benchmark was 
performed by these tests. This is a draft configuration candidate, not deployed 
runtime validation.
   
   ### Notes for Reviewers
   
   The existing Performance startup path explicitly exports a JaCoCo javaagent 
before starting FE. Native GCC coverage flags do not establish a different FE 
runtime baseline. This PR deliberately preserves that contract. OSS `stat` 
confirms existence only; it is not a full-object integrity or backup 
attestation. Destination authorization, redaction, retention and CI artifact 
publication remain operator responsibilities.
   
   ### Release note
   
   None
   
   ### Check List (For Author)
   
   - Behavior changed: Yes (see Details)
   - Does this need documentation: No public product documentation; operator 
configuration note is included.
   - Pre-submission status: Partially verified: local behavior tests passed; 
live unprivileged runtime, authorized report backend and benchmark validation 
pending. Draft.
   
   ### AI Disclosure
   
   - Tool: Codex
   - Generated: Shell changes, tests, operator note and this description.
   - Human review: Pending.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to