[MCOL-4920] The plugin code doesn't fetch the updates from Columnstore.xml in case of a failover situation w/o restart Created: 2021-11-10  Updated: 2021-11-29  Resolved: 2021-11-13

Status: Closed
Project: MariaDB ColumnStore
Component/s: MDB Plugin
Affects Version/s: 5.6.2, 6.1.1
Fix Version/s: 6.2.2

Type: Bug Priority: Blocker
Reporter: Roman Assignee: Roman
Resolution: Fixed Votes: 1
Labels: None

Issue Links:
Problem/Incident
is caused by MCOL-4692 Remove global mutex lock in OAMCache ... Closed
Relates
relates to MCOL-4918 No MCS config reloading while CMAPI s... Closed

 Description   

The MCOL-4692 change eliminates a global mutex symbol that protects access to Columnstore.xml file crit section in OAMCache. This mutex allows to fetch the updated Columnstore.xml from disk on every operation. The current cluster configuration has two important parts: mariadb runtime and MCS runtime that in its turn includes a number of processes. Whilst CMAPI restarts MCS runtime processes every time when the cluster topology changes, e.g. failover case there is nobody to restart mariadb so the plugin code that resides in mariadb runtime doesn't fetch the updated Columnstore.xml so it doesn't know where DBRM controller or ExeMgr1 now are so clientrotator code fails to connect to ExeMgr1 until mariadb is restarted.
The suggested solution is to either:

  • return the global mutex but use it in the plugin code only
  • introduce service thread to watch and read Columnstore.xml


 Comments   
Comment by David Hall (Inactive) [ 2021-11-12 ]

We originally thought the problem was in cmapi, but it turns out the real problem is in engine here.

Generated at Thu Feb 08 02:54:00 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.