[MCOL-1116] Crash in I_S.CS_FILES when dbroot is offline Created: 2017-12-15 Updated: 2018-01-30 Resolved: 2018-01-30 |
|
| Status: | Closed |
| Project: | MariaDB ColumnStore |
| Component/s: | MDB Plugin |
| Affects Version/s: | 1.0.12, 1.1.2 |
| Fix Version/s: | Icebox |
| Type: | Bug | Priority: | Major |
| Reporter: | Andrew Hutchings (Inactive) | Assignee: | Andrew Hutchings (Inactive) |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Sprint: | 2017-25, 2018-01, 2018-02, 2018-03 |
| Description |
|
information_schema.columnstore_files calls getDbrootPmConfig() which fires an exception if a dbroot is offline/missing. We need to catch that exception and handle it appropriately instead of crashing mysqld. |
| Comments |
| Comment by Andrew Hutchings (Inactive) [ 2017-12-15 ] |
|
Exception is now caught and that entry is skipped if the dbroot is missing/offline (since the file won't be accessible anyway). For QA: you need a multi-PM setup and need to remove a PM. Then run a select on information_schema.columnstore_files. |
| Comment by Daniel Lee (Inactive) [ 2018-01-25 ] |
|
Build tests: 1.1.3-1 Github source: [dlee@master centos7]$ cat mariadb-columnstore-1.1.3-1-centos7.x86_64.bin.tar.txt Merge pull request #84 from mariadb-corporation/ /root/columnstore/mariadb-columnstore-server/mariadb-columnstore-engine Merge pull request #375 from mariadb-corporation/dev-1.1-build-fix Fix missing compiler flag from 1.0 -> 1.1 merge mysqld is still crashing. The behavior is the same as in 1.1.2-1 1. started a 1um2pm stack ERROR 1053 (08S01): Server shutdown in progress 6. checked pid again. pid changed |
| Comment by Daniel Lee (Inactive) [ 2018-01-25 ] |
|
Build tested: 1.0.13-1 Github source /root/columnstore/mariadb-columnstore-server Merge pull request #85 from mariadb-corporation/ /root/columnstore/mariadb-columnstore-server/mariadb-columnstore-engine Merge pull request #378 from mariadb-corporation/RELEASE update version Performance the same test. I also got: MariaDB [information_schema]> select * from columnstore_files; mysqld is gone and never recovered [root@localhost ~]# ps -ef |grep mysqld |
| Comment by Andrew Hutchings (Inactive) [ 2018-01-30 ] |
|
That is testing for the wrong thing. ColumnStore restarts mysqld when you suspend one of the nodes that way and it takes a few minutes. I can't figure out a good way to make a dbroot offline any other way though. I haven't found a good way to reproduce this and can't remember where it originally came from. The patch does no harm so I'll just close it and remove the fixversion. If this comes up in searches in future the patch went into 1.0.13 and 1.1.3. |