[MCOL-1173] insert failed Created: 2018-01-20 Updated: 2021-01-15 |
|
| Status: | Closed |
| Project: | MariaDB ColumnStore |
| Component/s: | None |
| Affects Version/s: | 1.0.11 |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major |
| Reporter: | JuneHu | Assignee: | Unassigned |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Environment: |
CentOS release 6.9 x86_64 |
||
| Attachments: |
|
| Description |
|
General error: 1815 Internal error: CAL0001: Insert Failed: IDB-2009: Unable to perform the batch insert operation because DMLProc batchinsert with PID 1333049 is currently holding the table lock for session 84816. |
| Comments |
| Comment by Andrew Hutchings (Inactive) [ 2018-01-20 ] | ||||||||||||||
|
Hi, Your DMLProc currently has three locks on tables at the moment. There is not enough information here to explain why but DMLProc believes they are all mid-transaction, we would need to see a full support report output for that. But it looks like your mysqld may have been restarted at some point and this could have caused these transactions to hang. You should be able to roll them back with:
The lockIDs you want to clear are 719605, 720407 and 721181. You can also view them using:
| ||||||||||||||
| Comment by JuneHu [ 2018-01-22 ] | ||||||||||||||
|
First thank you for your reply. I export a log file with the command:
But it's too big, so I upload some little file. When I try to stop the MCS system, I see the process id which lock the table, so I kill the process with the process id, and then it works. Here is stop command's output:
| ||||||||||||||
| Comment by Andrew Hutchings (Inactive) [ 2018-01-22 ] | ||||||||||||||
|
Hi, Large files can be uploaded to ftp://ftp.mariadb.com/uploads if needed. Killing DMLProc (the process ID) would also work because ColumnStore's internal monitoring system would restart DMLProc and during the start of the processes it will rollback previous transactions. | ||||||||||||||
| Comment by JuneHu [ 2018-01-24 ] | ||||||||||||||
|
Hi, I upload the file columnstoreSupportReport.columnstore-1.tar.gz to ftp://ftp.mariadb.com/uploads. But when it finished, the file does not exist under the directory /uploads. Here is the screenshot: When I wget it, it failed with the error message:
So, I upload the gz file to a site, here is url: columnstoreSupportReport.columnstore-1.tar.gz | ||||||||||||||
| Comment by Andrew Hutchings (Inactive) [ 2018-01-27 ] | ||||||||||||||
|
Hi, The uploads directory is write-only for security reasons. Many thanks for the upload. We will look into it ASAP. | ||||||||||||||
| Comment by JuneHu [ 2018-03-17 ] | ||||||||||||||
|
Hi, how's the progress coming along? | ||||||||||||||
| Comment by Andrew Hutchings (Inactive) [ 2018-03-19 ] | ||||||||||||||
|
So, the logs appear to show WriteEngineServer restarting during DML queries causing the locks to be held open as the DML never finishes. This is likely to be due to a crash. There are two options to help us find out why: 1. Upgrade to 1.0.13 or 1.1.3 which has a crash handler built in that will log crashes as can be seen here and send us the crash traces: https://mariadb.com/kb/en/library/system-troubleshooting-mariadb-columnstore/#crash-trace-files 2. Enable core files and send us one of these when it happens: |