[MCOL-4790] LDIF & cache_inserts - table lock stuck - unstable - crashes aria table on restart Created: 2021-07-01 Updated: 2021-10-05 Resolved: 2021-10-05 |
|
| Status: | Closed |
| Project: | MariaDB ColumnStore |
| Component/s: | cache_insert |
| Affects Version/s: | None |
| Fix Version/s: | 6.1.1 |
| Type: | Bug | Priority: | Critical |
| Reporter: | Allen Herrera | Assignee: | Daniel Lee (Inactive) |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Attachments: |
|
||||||||
| Issue Links: |
|
||||||||
| Sprint: | 2021-9, 2021-10, 2021-11, 2021-12 | ||||||||
| Description |
|
When constantly loading data into CS with cache_inserts enabled via LDIF - The flush to CS freezes up, table locks and doesn't clear. Restarting Columnstore and MariaDB results in crashed aria tables. This is an unreliable process for clients needing to constantly load data. Desired Outcome: Table doesn't excessively lock and crash requiring mariadb restart and aria_chk. Steps to reproduce
|
| Comments |
| Comment by Gagan Goel (Inactive) [ 2021-09-28 ] |
|
This is fixed by using columnstore_cache_use_import system variable. When this variable is set to ON, cache flush into ColumnStore is performed using cpimport. This variable is set to OFF by default. By default, we perform batch inserts for the cache flush. |
| Comment by Gagan Goel (Inactive) [ 2021-09-29 ] |
|
For QA: Turn on the read-only system variable, columnstore_cache_inserts. This can only be set either in the .cnf file or on mysqld startup by passing --columnstore_cache_inserts as an argument. Test the solution: With a fresh DB install, in the mariadb client session, execute this statement: set global columnstore_cache_use_import=ON;. Make sure columnstore_cache_inserts is also enabled. Now re-run the above bash script. You should notice the loop executes to completion. Ensure the number of records inserted into the table is the same as: number of records in the csv file X loop count. To compare the performance of the LDI with the cache disabled, restart mariadb server but this time with columnstore_cache_inserts set to OFF. Compare the loop execution timings when the cache is disabled, with the scenario when the cache is enabled and columnstore_cache_use_import=ON. |
| Comment by Daniel Lee (Inactive) [ 2021-10-04 ] |
|
I don't see PRs associated with this ticket. Is this ticket for 6.1.2? |
| Comment by Gagan Goel (Inactive) [ 2021-10-04 ] |
|
dleeyh We did not create a dedicated PR for this issue. The variable columnstore_cache_use_import was added in 6.1.1 (it's just that we never assigned it for QA testing earlier). |
| Comment by Daniel Lee (Inactive) [ 2021-10-05 ] |
|
Build verified: 6.1.1-1 (MariaDB Enterprise 10.6.4-1 download from company website) Repeated LDI 700 times without any issues. |