[MCOL-4912] MCS bulk insertion is slow Created: 2021-11-03 Updated: 2023-11-17 Resolved: 2022-05-16 |
|
| Status: | Closed |
| Project: | MariaDB ColumnStore |
| Component/s: | cpimport |
| Affects Version/s: | 5.6.4, 6.3.1 |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Blocker |
| Reporter: | Roman | Assignee: | Roman |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Attachments: |
|
||||||||||||||||||||||||||||||||||||||||||||
| Issue Links: |
|
||||||||||||||||||||||||||||||||||||||||||||
| Sprint: | 2021-14, 2021-15, 2021-16, 2021-17 | ||||||||||||||||||||||||||||||||||||||||||||
| Description |
|
The client faced bulk insertion operation(and presumably INSERT operations) slowdown. The system has no obvious hardware bottlenecks and despite the fact that the storage is remote (FCoE) there is no evidence FCoE contributes a lot to the overall timings of bulk ingestion operations. |
| Comments |
| Comment by Roman [ 2022-01-21 ] | |||||||||||
|
4QA There are number of environmental changes:
The patch introduces index to navigate through Extent Map to speed up bulk insertion operations. The index has tree layers: dbroot, oid, partition. The last layer contains Extent Map indices to directly access extent map entries that belongs to <dbroot, oid, partition> tuple. To see the benefit of the index one needs to generate EM >= 100 MB. | |||||||||||
| Comment by Roman [ 2022-01-21 ] | |||||||||||
|
I have attached the generated Extent Map image(around 320992 EM entries) that can be used to perf test the patch. It must replace /var/lib/columnstore/data1/systemFiles/dbrm/BRM_saves_em with MCS shut down. | |||||||||||
| Comment by Daniel Lee (Inactive) [ 2022-01-31 ] | |||||||||||
|
Build tested: develop-5 build (3719) Timing test #1 Timeing test #2 Timing comparison between releases 5.6.2-1 and 6.2.2 can be found here: During testing, I the following errors occurred sometimes, randomly.
cpimport test MTR tests Autopilot tests 3-node installation tests, with cmapi-1.6 | |||||||||||
| Comment by Daniel Lee (Inactive) [ 2022-02-02 ] | |||||||||||
|
Build tested: 5.6.1-1 I retested release 5.6.1-1, a release before this patch, with MTR Autopilo test suites. The same window functions also failed. If memory serves me well, the MTR Autopilot test suites was being migrated from the stand alone Autopilot tool. Therefore, the failed window functions in this path is expected. There were fixes to window functions since the 5.x.x release and corresponding test cases also have been updated. The same window functions also passed in 6.2.2-1. Therefore, the "MTR tests" issues in the my last comment were non issues. | |||||||||||
| Comment by Daniel Lee (Inactive) [ 2022-02-06 ] | |||||||||||
|
Build tested: develop-5 (Jenkins bb-10.5-cs-5.6.4-2) Centos 8 VM, 40gb memory Did another round tests on this new build. The same errors reported in my test last are still occurring. This build seems to have a new problem, version buffer overflow error. There is a update1bRow test in the Autopilot test tool (non MTR). It updates 1 an integer column in a billion-row table. The version buffer size was at 4GB. This update test failed due to version buffer overflow error, even after I changed the buffer size to 8gb and 16gb. The 4gb buffer size worked for the same test in 5.6.1 and 6.2.2. | |||||||||||
| Comment by Daniel Lee (Inactive) [ 2022-02-06 ] | |||||||||||
|
reopened due to reported errors | |||||||||||
| Comment by Daniel Lee (Inactive) [ 2022-02-10 ] | |||||||||||
|
Did few more update1bRows test again and did not see the issue I reported earlier. It seems like it was an user error on my sides, forgetting to restart Columnstore after setting the new version buffer file size. | |||||||||||
| Comment by Roman [ 2022-02-11 ] | |||||||||||
|
Fixed. | |||||||||||
| Comment by Roman [ 2022-05-16 ] | |||||||||||
|
This patch has never available yet neither to Todd, nor to the public. |