-
Notifications
You must be signed in to change notification settings - Fork 3.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[feat](docker)Add a BE ENV item 'SKIP_CHECK_ULIMIT' for Docker to start quickly #45267
Conversation
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
clang-tidy review says "All clean, LGTM! 👍" |
run buildall |
TPC-H: Total hot run time: 40068 ms
|
run buildall |
TPC-H: Total hot run time: 39724 ms
|
TeamCity be ut coverage result: |
TPC-DS: Total hot run time: 189468 ms
|
ClickBench: Total hot run time: 33.56 s
|
clang-tidy review says "All clean, LGTM! 👍" |
PR approved by at least one committer and no changes requested. |
…uirements for rapid Docker startup. (#45269) Related PR: #45267 Problem Summary: To meet the needs of rapid Docker startup, I have made adjustments to two related scripts in the Docker startup process. First, I added a env `SKIP_CHECK_ULIMIT` to the `start_be.sh` script, which will skip the size checks for `swap`, `ulimit`, and `max_map_count`. At the same time, I used `--console` to start the process and print logs. The reason why I did not use the `--daemon` daemon command to execute is that starting with a foreground log printing method in a Docker container is the correct and reliable approach. At the same time, I added a check logic for a `be.conf` configuration item in the `init_be.sh` script: if it is the first time starting, append the export `SKIP_CHECK_ULIMIT=true` to skip the `ulimit` value check in the BE process. In summary, these adjustments can meet the basic requirements for rapid Docker startup usage.
run buildall |
…uirements for rapid Docker startup. (#45269) Related PR: #45267 Problem Summary: To meet the needs of rapid Docker startup, I have made adjustments to two related scripts in the Docker startup process. First, I added a env `SKIP_CHECK_ULIMIT` to the `start_be.sh` script, which will skip the size checks for `swap`, `ulimit`, and `max_map_count`. At the same time, I used `--console` to start the process and print logs. The reason why I did not use the `--daemon` daemon command to execute is that starting with a foreground log printing method in a Docker container is the correct and reliable approach. At the same time, I added a check logic for a `be.conf` configuration item in the `init_be.sh` script: if it is the first time starting, append the export `SKIP_CHECK_ULIMIT=true` to skip the `ulimit` value check in the BE process. In summary, these adjustments can meet the basic requirements for rapid Docker startup usage.
TeamCity be ut coverage result: |
…rt quickly (#45267) In the storage_engine.cpp of the BE process, it is mandatory to check that the `ulimit` value must be greater than 60,000. When starting with Docker or Docker-Compose, it is necessary to preemptively change the corresponding value on the host machine. This change is very unfriendly to Docker, as it loses its unique advantage of being able to "build quickly and anywhere," and cannot become a fundamental capability for rapid startup. Therefore, a new environment variable has been added to control whether to skip this check value. The default value is false, which enforces the check of this value. When set to true, it skips the check and starts directly.
…rt quickly (#45267) In the storage_engine.cpp of the BE process, it is mandatory to check that the `ulimit` value must be greater than 60,000. When starting with Docker or Docker-Compose, it is necessary to preemptively change the corresponding value on the host machine. This change is very unfriendly to Docker, as it loses its unique advantage of being able to "build quickly and anywhere," and cannot become a fundamental capability for rapid startup. Therefore, a new environment variable has been added to control whether to skip this check value. The default value is false, which enforces the check of this value. When set to true, it skips the check and starts directly.
…ocker to start quickly #45267 (#45468) Cherry-picked from #45267 Co-authored-by: FreeOnePlus <[email protected]>
…ocker to start quickly #45267 (#45467) Cherry-picked from #45267 Co-authored-by: FreeOnePlus <[email protected]>
…uirements for rapid Docker startup(Merge 2.1). (#45858) ### What problem does this PR solve? Issue Number: close #xxx Related PR: #45267 Master PR: #45269 Problem Summary: To meet the needs of rapid Docker startup, I have made adjustments to two related scripts in the Docker startup process. First, I added a env `SKIP_CHECK_ULIMIT` to the `start_be.sh` script, which will skip the size checks for `swap`, `ulimit`, and `max_map_count`. At the same time, I used `--console` to start the process and print logs. The reason why I did not use the `--daemon` daemon command to execute is that starting with a foreground log printing method in a Docker container is the correct and reliable approach. At the same time, I added a check logic for a `be.conf` configuration item in the `init_be.sh` script: if it is the first time starting, append the export `SKIP_CHECK_ULIMIT=true` to skip the `ulimit` value check in the BE process. In summary, these adjustments can meet the basic requirements for rapid Docker startup usage.
What problem does this PR solve?
Issue Number: close #xxx
Related PR: #xxx
Problem Summary:
In the storage_engine.cpp of the BE process, it is mandatory to check that the
ulimit
value must be greater than 60,000. When starting with Docker or Docker-Compose, it is necessary to preemptively change the corresponding value on the host machine. This change is very unfriendly to Docker, as it loses its unique advantage of being able to "build quickly and anywhere," and cannot become a fundamental capability for rapid startup. Therefore, a new environment variable has been added to control whether to skip this check value. The default value is false, which enforces the check of this value. When set to true, it skips the check and starts directly.Release note
None
Check List (For Author)
ulimit -n 50000
to make it less than the BE check value of 60000.export SKIP_CHECK_ULIMIT = true
configuration item.export SKIP_CHECK_ULIMIT = false
configuration item.Behavior changed:
Does this need documentation?
Check List (For Reviewer who merge this PR)