[ https://issues.apache.org/jira/browse/IGNITE-16263?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kirill Tkalenko updated IGNITE-16263: ------------------------------------- Description: In some cases, a node required to start over not empty configuration: it is a scenario of recovery (a node restart after shutdown) or scenario when a node joins to the cluster with a long history (the cluster does not have full history for Metastorage). In these cases, a cluster state cannot restore itself by configuration updates (because it has only final state in Vault). But if all components listeners are invoked, the component can restore in-memory state. Need to propagate the restored configuration to all configuration listeners (invoke them after all properties loaded from a storage ConfigurationStorage#readAll). After discussion with [~ibessonov], [~v.pyatkov] and [~alapin] decided: * call all listeners + *any()* for local and distributed configurations; * call methods *ConfigurationListener#onUpdate* and *ConfigurationNamedListListener#onCreate*. was: In some cases, a node required to start over not empty configuration: it is a scenario of recovery (a node restart after shutdown) or scenario when a node joins to the cluster with a long history (the cluster does not have full history for Metastorage). In these cases, a cluster state cannot restore itself by configuration updates (because it has only final state in Vault). But if all components listeners are invoked, the component can restore in-memory state. Need to propagate the restored configuration to all configuration listeners (invoke them after all properties loaded from a storage ConfigurationStorage#readAll). After discussion with [~ibessonov], [~v.pyatkov] and Sasha decided: > Invoke configuration listeners when components were restored > ------------------------------------------------------------ > > Key: IGNITE-16263 > URL: https://issues.apache.org/jira/browse/IGNITE-16263 > Project: Ignite > Issue Type: Improvement > Reporter: Vladislav Pyatkov > Assignee: Kirill Tkalenko > Priority: Major > Labels: ignite-3 > Fix For: 3.0.0-alpha5 > > > In some cases, a node required to start over not empty configuration: it is a > scenario of recovery (a node restart after shutdown) or scenario when a node > joins to the cluster with a long history (the cluster does not have full > history for Metastorage). > In these cases, a cluster state cannot restore itself by configuration > updates (because it has only final state in Vault). But if all components > listeners are invoked, the component can restore in-memory state. > Need to propagate the restored configuration to all configuration listeners > (invoke them after all properties loaded from a storage > ConfigurationStorage#readAll). > After discussion with [~ibessonov], [~v.pyatkov] and [~alapin] decided: > * call all listeners + *any()* for local and distributed configurations; > * call methods *ConfigurationListener#onUpdate* and > *ConfigurationNamedListListener#onCreate*. -- This message was sent by Atlassian Jira (v8.20.1#820001)