GroupByOrderByCombineOperator does not bound the number of threads it uses
- Dominant language
- Java
- Stars
- 6.1k
- Forks
- 1.5k
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 195
Description
When the user does not specify the number of threads for a query, the CombinePlan* operators both use a minimum of 1 threads, maximum of 10 threads, and a default of num_cpus/2 threads for their tasks.
The GroupByOrderByCombineOperator on the other hand just sets the number of threads to the number of operators.
I haven't actually profiled this or logged how many operators there are in practice, but this feels like it could be a bug when comparing to how the CombinePlan code treats this flag. I'm curious if you feel this is of concern as well before we dig into it further.
Contributor guide
Research direction
Start by comparing GroupByOrderByCombineOperator with the CombinePlan* operators, focusing on how each selects the number of task threads when the query does not specify a value. Determine whether the operator count can exceed the intended bounds, then define the expected minimum, maximum, and default behavior and validate it with relevant query execution tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- databases
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100