Details
-
Task
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
5.5.2
-
None
-
None
-
2021-7, 2021-8, 2021-9
Description
As of now the meta primitive messages:
- BATCH_PRIMITIVE_DESTROY
- BATCH_PRIMITIVE_ADD_JOINER
- BATCH_PRIMITIVE_END_JOINER
- BATCH_PRIMITIVE_ABORT
- DICT_CREATE_EQUALITY_FILTER
- DICT_DESTROY_EQUALITY_FILTER
are always sent of over the first DEC connections to PMs. This fact results in a contention given that BATCH_PRIMITIVE_ADD_JOINER streams a lot of small side table data with it.
Low level scanning/filtering primitives: - BATCH_PRIMITIVE_RUN
- DICT_TOKEN_BY_SCAN_COMPARE
Are effectively distributed b/w first min(N, M) connections where N is a number of connections to every PP and M is a number of primitive jobs sent(effectively produced by TupleBPS::makeJobs)
MCS needs to distribute workload b/w connections using round-robin algorithm.
Future investigation might point to a finer-grained distribution algo.
Attachments
Issue Links
- is part of
-
MCOL-4593 Multiple concurrent queries with aggregates are bottlenecked, result in lack of user scalability
- Stalled