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]
