Details
-
Bug
-
Status: Open (View Workflow)
-
Major
-
Resolution: Unresolved
-
6.1.1, 6.2.2
-
None
-
None
Description
Summary:
The database is unusable and mariadbd needs to be kill -9 + aria_check and more to recover. Unacceptable for a select to "crash" the database.
Background
Cache inserts is being used to non-stop insert data as its being generated, group it up then ship to columnstore. Different databases of the same schema plus extra columns to maintain different versions of the data being inserted. The view is updated over time to select common fields across the three versions.
The bug is that while using cache-inserts when running a select on a view that unions three+ tables including columnstore tables, it triggers a cache flush. However, the table at the same time is constantly getting inserted into round-robin. A critical failure happens somewhere around here where the table becomes locked and all existing and future queries stay queuing up in the processlist never completing.
Simplified Reproduction Steps:
Find the setup.sql, loader.bash, test1.csv, test2.csv,test3.csv all attached
# standup a two node+ cluster using cache-inserts
|
mariadb < setup.sql
|
bash loader.bash &
|
mariadb -e "select * from test3.v1;" |
Expected:
The expected outcome is that the existing cache is flushed to columnstore, the union queries complete giving the result from that moment and that loader continues after the select on the view table is complete.
Actual:
What happens today when this is ran is that the select on the view errors out with the following below and the loader stops and doesnt continue. The cluster becomes useless until you kill -9 mariadbd then us aria_check to repair all the cache tables after cycling columnstore off and on.
ERROR 1178 (42000): The storage engine for the table doesn't support MCS-1011: Insert on VIEW is currently not supported. |