[MCOL-1229] IS.columnstore_columns crashes when DDL is simultaneously executing Created: 2018-02-22 Updated: 2018-05-22 Resolved: 2018-05-22 |
|
| Status: | Closed |
| Project: | MariaDB ColumnStore |
| Component/s: | None |
| Affects Version/s: | 1.1.1 |
| Fix Version/s: | 1.1.5 |
| Type: | Bug | Priority: | Major |
| Reporter: | VAROQUI Stephane | Assignee: | Daniel Lee (Inactive) |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Attachments: |
|
| Sprint: | 2018-08, 2018-09, 2018-10, 2018-11 |
| Description |
|
8275 | root | localhost | vo | Query | 15 | Unlocking tables | DROP TABLE starpdv_vo_2013_05_08 | 0.000 |
I don't unfortunatly done show processlit but the crash just happen on that Note that the schema table size requested by UDF was not the one beeing created or dropped . 180222 15:49:05 [ERROR] mysqld got signal 6 ; To report this bug, see https://mariadb.com/kb/en/reporting-bugs We will try our best to scrape up some info that will hopefully help Server version: 10.2.10-MariaDB-log Thread pointer: 0x7fbc800009a8 |
| Comments |
| Comment by Andrew Hutchings (Inactive) [ 2018-02-22 ] |
|
Interesting. I think it will be the DROP TABLE whilst i_s.columnstore_columns is getting the table name for the table being dropped that is the trigger. |
| Comment by VAROQUI Stephane [ 2018-02-22 ] |
|
call columnstore_info.table_usage('voat', 'starvo_at_2017_11'); was the command not touching the drop at all |
| Comment by VAROQUI Stephane [ 2018-02-22 ] |
|
Some cpimport was ingesting at the same time but not on such db... |
| Comment by Andrew Hutchings (Inactive) [ 2018-02-22 ] |
|
I think you misunderstand. table_usage() was being executed the same time as the DROP and was trying to get info on the table when it was no longer there, causing the crash. |
| Comment by VAROQUI Stephane [ 2018-02-22 ] |
|
Ok thanks , table_usage was a request on a specific table not overlapping other tasks can't get why the dropped table was read in first time , but the internals may work on it's own way that exceed my understanding ! |
| Comment by Andrew Hutchings (Inactive) [ 2018-02-22 ] |
|
Yes, sorry. The I_S tables don't (yet) support pushdown so get info on all tables and then filter. |
| Comment by Ravi Prakash (Inactive) [ 2018-04-30 ] |
|
Replaced the re-throw of exception by a return of error status (value 1). |
| Comment by Ravi Prakash (Inactive) [ 2018-04-30 ] |
|
This issue is a concurrency issue involving two clients where one client is fetching from fetching from information_schema.columnstore_columns as in "select * from information_schema.columnstore_columns" and other client is dropping an existing table at the same time. The select query crashes the server when it trips over a non-existing table that it thinks, exists since it started executing the query. I reproduced the problem manually by running two queries as follows: |
| Comment by Daniel Lee (Inactive) [ 2018-05-22 ] |
|
Build verified: 1.1.5-1 source [root@localhost ~]# cat mariadb-columnstore-1.1.5-1-centos7.x86_64.bin.tar.gz.txt Merge pull request #112 from mariadb-corporation/davidhilldallas-patch-3 update to 1.1.5 /root/columnstore/mariadb-columnstore-server/mariadb-columnstore-engine Merge pull request #475 from drrtuy/ Added -f switch for mcsmysql in the loop.sh. Reproduced the "MySQL server has gone away" issue in 1.1.4-1 and verified the fix. |