[fix](docker) Fix doris-compose up without env argument - #65142
Merged
Conversation
Contributor
|
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
Collaborator
Author
|
run buildall |
Collaborator
Author
|
/review |
Contributor
|
PR approved by at least one committer and no changes requested. |
Contributor
|
PR approved by anyone and no changes requested. |
Contributor
There was a problem hiding this comment.
Static review completed for PR 65142.
Scope: one Docker runtime helper change in docker/runtime/doris-compose/command.py. The patch fixes up callers whose argparse Namespace lacks env by reading it through getattr once and reusing the same value for storage-vault detection and Cluster.new().
Checkpoint conclusions:
- Goal/test proof: The code addresses the
Namespacecompatibility failure. I verified the changed Python files compile withpython3 -m py_compile docker/runtime/doris-compose/command.py docker/runtime/doris-compose/cluster.py docker/runtime/doris-compose/doris-compose.py; full docker runtime/regression tests were not run because this checkout lacks.worktree_initialized,thirdparty/installed, and local runtime imports are missingfilelock/jsonpickle. - Scope/focus: The change is small and limited to optional env propagation in new-cluster creation.
- Concurrency/lifecycle/transactions/persistence/protocol: Not applicable; this does not add concurrency, lifecycle ownership, transaction behavior, persistent format changes, or FE/BE protocol changes.
- Config/session compatibility:
Cluster.get_env_value()already toleratesNone,Node.docker_env()ignores missing/empty env lists, and user envs still override generated node envs when present. - Parallel paths/coverage: Existing-cluster
updoes not consumeargs.env, and no optimizer/rewrite paths are touched. - Observability/performance: No new observable behavior or hot-path work.
User focus: no additional user-provided review focus.
Subagent conclusions:
optimizer-rewrite: no optimizer/rewrite candidates; the change does not touch planner, join, aggregate, or semantic rewrite paths.tests-session-config: no tests/session/config candidates; static syntax validation passed, with runtime validation limited by missing local dependencies noted above.
No inline review comments are needed.
16 tasks
liaoxin01
approved these changes
Jul 8, 2026
yiguolei
pushed a commit
that referenced
this pull request
Jul 13, 2026
) ### What problem does this PR solve? Issue Number: N/A Related PR: #64995 Problem Summary: Pick master commit `73c481f65848ed5f449fad2ac9e7c59cf54bcf9e` to `branch-4.1` to support file cache write index only in cloud mode. Adaptations for `branch-4.1`: - Keep the existing `IndexFileWriter` constructor shape on `branch-4.1`. - Drop the unused master-only `row_binlog_segment_writer.h` include. Validation note: - The docker regression was run with an uncommitted local workaround following #65142, because `branch-4.1` does not have that docker-compose fix yet. ### Release note Support file cache write index only in cloud mode. ### Check List (For Author) - Test <!-- At least one of them must be included. --> - [x] Regression test - [x] Unit Test - [x] Manual test (add detailed scripts or steps below) - [ ] No need to test or manual test. Explain why: - [ ] This is a refactor/code format and no logic has been changed. - [ ] Previous test can cover this change. - [ ] No code files have been changed. - [ ] Other reason <!-- Add your reason? --> Manual test: - `git diff --check upstream/branch-4.1...HEAD` - `./run-be-ut.sh --run --filter=CloudFileCacheWriteIndexOnly* -j100` - `./build.sh --be --fe --cloud -j100` - `docker build -f docker/runtime/doris-compose/Dockerfile -t bh-cluster-2 .` - `./run-regression-test.sh --run -d regression-test/suites/cloud_p0/cache/write_index_only -g docker -runMode=cloud -dockerSuiteParallel 1` - Behavior changed: - [ ] No. - [x] Yes. Support file cache write index only in cloud mode. - Does this need documentation? - [x] No. - [ ] Yes. <!-- Add document PR link here. eg: apache/doris-website#1214 --> ### Check List (For Reviewer who merge this PR) - [ ] Confirm the release note - [ ] Confirm test cases - [ ] Confirm document - [ ] Add branch pick label <!-- Add branch pick label that this PR should merge into -->
wyxxxcat
added a commit
to wyxxxcat/doris
that referenced
this pull request
Jul 13, 2026
Problem Summary: In 4.1.2-tmp-rc03 release regression, Docker Case and S3 Docker Case failed broadly during docker-compose cluster startup. The storage vault snapshot change reads `args.env` in `doris-compose.py up` to check `ENABLE_STORAGE_VAULT`, but the affected release branch can run with an argparse `Namespace` that does not define `env`. This causes `AttributeError: 'Namespace' object has no attribute 'env'` before the test cluster is created, blocking docker-based regression suites. This change reads the optional `env` argument with `getattr(args, 'env', None)` once and reuses that value for both `ENABLE_STORAGE_VAULT` parsing and `Cluster.new()`. When the argument is absent, the default behavior is unchanged: no extra environment variables are passed and storage vault remains disabled.
wyxxxcat
added a commit
to wyxxxcat/doris
that referenced
this pull request
Jul 14, 2026
Problem Summary: In 4.1.2-tmp-rc03 release regression, Docker Case and S3 Docker Case failed broadly during docker-compose cluster startup. The storage vault snapshot change reads `args.env` in `doris-compose.py up` to check `ENABLE_STORAGE_VAULT`, but the affected release branch can run with an argparse `Namespace` that does not define `env`. This causes `AttributeError: 'Namespace' object has no attribute 'env'` before the test cluster is created, blocking docker-based regression suites. This change reads the optional `env` argument with `getattr(args, 'env', None)` once and reuses that value for both `ENABLE_STORAGE_VAULT` parsing and `Cluster.new()`. When the argument is absent, the default behavior is unchanged: no extra environment variables are passed and storage vault remains disabled.
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.
What problem does this PR solve?
Issue Number: close #xxx
Related PR: #xxx
Problem Summary: In 4.1.2-tmp-rc03 release regression, Docker Case and S3 Docker Case failed broadly during docker-compose cluster startup. The storage vault snapshot change reads
args.envindoris-compose.py upto checkENABLE_STORAGE_VAULT, but the affected release branch can run with an argparseNamespacethat does not defineenv. This causesAttributeError: 'Namespace' object has no attribute 'env'before the test cluster is created, blocking docker-based regression suites.This change reads the optional
envargument withgetattr(args, 'env', None)once and reuses that value for bothENABLE_STORAGE_VAULTparsing andCluster.new(). When the argument is absent, the default behavior is unchanged: no extra environment variables are passed and storage vault remains disabled.Release note
None
Check List (For Author)
Test
Behavior changed:
Does this need documentation?
Check List (For Reviewer who merge this PR)