[CBRD-26013] Allow using available workers even when requested parallelism exceeds available capacity#6778
Open
youngjinj wants to merge 12 commits intoCUBRID:developfrom
Open
[CBRD-26013] Allow using available workers even when requested parallelism exceeds available capacity#6778youngjinj wants to merge 12 commits intoCUBRID:developfrom
youngjinj wants to merge 12 commits intoCUBRID:developfrom
Conversation
Contributor
Author
|
/run sql medium |
youngjinj
commented
Jan 20, 2026
youngjinj
commented
Jan 20, 2026
Contributor
Author
|
/run sql medium |
Contributor
Author
|
/run shell |
Contributor
Author
|
/run sql medium |
Contributor
Author
|
/run shell |
Contributor
Author
|
/run sql medium |
shparkcubrid
approved these changes
Jan 23, 2026
Contributor
Author
|
/run sql medium |
Contributor
Author
|
/run shell |
Contributor
Author
|
sql 테스트 중 core가 발생해서 잠시 리뷰를 중단(draft) 했었습니다.
|
xmilex-git
approved these changes
Feb 2, 2026
beyondykk9
approved these changes
Feb 4, 2026
Hamkua
approved these changes
Feb 5, 2026
HyunukLee
reviewed
Feb 6, 2026
HyunukLee
approved these changes
Feb 6, 2026
hornetmj
approved these changes
Feb 9, 2026
sohee-dgist
approved these changes
Feb 11, 2026
Contributor
Author
|
/run sql medium |
Contributor
Author
|
/run shell |
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.
http://jira.cubrid.org/browse/CBRD-26013
Purpose
병렬 워커 풀이 완전히 고갈되지 않은 경우, 요청한 병렬 수준을 모두 확보하지 못하더라도 가용 스레드 범위 내에서 부분 병렬 실행을 허용하여 전체 처리량과 응답 시간을 개선합니다.
Implementation
parallel_query::worker_manager_globaltry_reserve_workers()가 요청 개수 전부가 아닌, 실제로 가용한 개수만큼 반환하도록 변경parallel_query::worker_managerrelease_workers()가 해제할 개수를 인자로 받지 않도록 변경worker_manager생성 시 저장해둔 reserved 개수만큼 자동 해제하도록 동작 변경HASHJOIN_MANAGERcubthread::entry_workpool *에서parallel_query::worker_manager *로 변경parallel_query::hash_join::task_manager4-1. 변경
cubthread::entry_workpool *에서parallel_query::worker_manager *로 변경4-2. 추가
cubthread::entry &멤버 추가 (메인 스레드 참조 유지)4-3. 제거
stop_execution()멤버 함수 제거parallel_query::hash_join::task_execution_guardparallel_query::hash_join::entry_manager역할을 대체split_task::execute,join_task::execute시작 시 guard를 생성하고, 스코프 종료 시 정리 코드가 실행되도록 구성 (RAII)thread_get_main_thread()추가미사용 코드 제거
cubthread::entry_manager:m_skip_end_resource_tracks_in_recycleparallel_query::callable_task:worker_manager_with_dedicated_pool관련 코드parallel_query::worker_manager_with_dedicated_poolparallel_query::worker_manager_reserverparallel_query::hash_join::worker_pool_managerparallel_query::hash_join::entry_managerRemarks
N/A