Future improvement possibilities for storage-manager (MCOL-3449)

[MCOL-3357] Configuration change listeners Created: 2019-06-04  Updated: 2019-10-14  Resolved: 2019-10-14

Status: Closed
Project: MariaDB ColumnStore
Component/s: Storage Manager
Affects Version/s: None
Fix Version/s: 1.4.1

Type: Sub-Task Priority: Major
Reporter: Patrick LeBlanc (Inactive) Assignee: Patrick LeBlanc (Inactive)
Resolution: Fixed Votes: 0
Labels: None


 Description   

Storagemanager components need to be able to change behavior on the fly to some extent. When the config file changes, the Config instance needs to notify the other components to update the config params that make sense. ex, it makes sense to be able to change the # of threads processing X on the fly, but it doesn't make sense to change the s3 bucket on the fly.

This ticket includes changes to Config, and changes to other classes to pick up & adapt to the new values.



 Comments   
Comment by Ben Thompson (Inactive) [ 2019-08-23 ]

Should note that currently the objectSize configuration cannot be changed once columnstore is started. This needs to be fixed by changing how metadata creates and fills objects with data.

Comment by Patrick LeBlanc (Inactive) [ 2019-10-08 ]

Sorry, should have been more explicit. This should follow the observer/listener pattern. That is, objects that can be reconfigured implement a listener interface. On construction an instance registers with Config, on destruction it deregisters. When the config file is changed, Config notices and calls the listener interface of each registered object, which reconfigures the object.

This way, Config doesn't have to know anything about other classes or instances, and the fcn that reconfigures the object has access to the whole object not just what is available through the public interface.

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