Pablo Muñiz created KARAF-2477:
----------------------------------
Summary: Configuration changes not persisted to file when
cluster:config-propset is executed in a cluster of nodes
Key: KARAF-2477
URL: https://issues.apache.org/jira/browse/KARAF-2477
Project: Karaf
Issue Type: Bug
Components: cellar-config
Affects Versions: cellar-3.0.0
Reporter: Pablo Muñiz
Let's suppose a cluster with two nodes: a producer and a consumer, both in
default group.
>From producer node _cluster:config-propset_ command is executed to change a
>property value in _org.apache.karaf.features_ PID.
Example:
{code}
$ cluster:config-propset default org.apache.karaf.features featuresBoot
config,cellar
{code}
_featuresBoot_ value is changed on both nodes, but is not updated on
_etc/org.apache.karaf.features.cfg_ file.
In karaf.log file a message like follows is written :
{code}
CELLAR CONFIG: retrieved event ClusterConfigurationEvent [type=0,
id=org.apache.karaf.features, sourceNode=HazelcastNode [id=localhost:5701,
host=localhost, port=5701],
sourceGroup=org.apache.karaf.cellar.core.Group@5c13d641, destination=null,
force=false, postPublish=false] while groupManager is not available yet
{code}
After debugging code I have found that _groupManager_ attribute is not
initialized in class _org.apache.karaf.cellar.config.ConfigurationEventHandler_
_eventHandler_ bean definition in file
_config/src/main/resources/OSGI-INF/blueprint/blueprint.xml_ has no dependency
injection for _groupManager_.
Comparing this definition with other branches looks like a regression, because
on branch cellar-2.2.x or cellar-2.3.x this bean definition is
{code}
<!-- Cluster Event Handler -->
<bean id="eventHandler"
class="org.apache.karaf.cellar.config.ConfigurationEventHandler"
init-method="init" destroy-method="destroy">
<property name="clusterManager" ref="clusterManager"/>
<property name="groupManager" ref="groupManager"/>
<property name="configurationAdmin" ref="configurationAdmin"/>
<property name="storage" value="${storage}"/>
</bean>
{code}
Injecting _groupManager_ definition will solve the issue.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira