[MCOL-560] Disk based join - We need to revisit how memory utilization is being detected and handled Created: 2017-02-09 Updated: 2023-07-02 Resolved: 2023-07-02 |
|
| Status: | Closed |
| Project: | MariaDB ColumnStore |
| Component/s: | N/A |
| Affects Version/s: | 1.0.7 |
| Fix Version/s: | Icebox |
| Type: | New Feature | Priority: | Minor |
| Reporter: | Daniel Lee (Inactive) | Assignee: | Todd Stoffel (Inactive) |
| Resolution: | Won't Do | Votes: | 0 |
| Labels: | None | ||
| Epic Link: | ColumnStore Performance Improvements |
| Description |
|
Build tested: 1.0.7-1 This issue was identified when running a 1TB DBT3 on AWS and it is related to tickets MCOL558 and For this test, I enabled disk based join. Here is my understanding of how disk based works. There is a pool of memory being controlled by the TotalUMMemory parameter and it is being shared by all queries that needs this memory for hash join. When disk based join is enabled, ExeMgr would still attempt to do hash join using the memory pool. The pro is that if there is enough memory for such operation, no disk based join is need, and therefore better performance. The con is that when memory failed to completed, disk based join will start from all over. The memory join that failed would be an over head. As described in It seems to me that it would be frequent that we could run out of system memory before disk based join gets a chance to be used, unless the totalUMMemory is set very low. I am not sure what we can or should do for this. I just want present the scenario, which I ran into during testing, for brainstorming. Should have have multi-state parameter for disk based join? disabled, soft-enabled (use memory join first), hard-enabled (always use disk) |
| Comments |
| Comment by Todd Stoffel (Inactive) [ 2023-07-02 ] |
|
The "create date" on this ticket is pre-convergence with MariaDB server. If the issue still exists in a modern version of the engine/plugin please submit a new ticket. |