You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2015/03/16 02:03:32 UTC
karaf-cellar git commit: [KARAF-3617] Fix config sync pulling
behavior Avoid the synchronizers to broadcast cluster events. Fix log message
in the synchronizers.
Repository: karaf-cellar
Updated Branches:
refs/heads/cellar-3.0.x dfbd13f74 -> 952b657a2
[KARAF-3617] Fix config sync pulling behavior
Avoid the synchronizers to broadcast cluster events.
Fix log message in the synchronizers.
Project: http://git-wip-us.apache.org/repos/asf/karaf-cellar/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf-cellar/commit/952b657a
Tree: http://git-wip-us.apache.org/repos/asf/karaf-cellar/tree/952b657a
Diff: http://git-wip-us.apache.org/repos/asf/karaf-cellar/diff/952b657a
Branch: refs/heads/cellar-3.0.x
Commit: 952b657a27eaff1e34f24a1b90b494890d521169
Parents: dfbd13f
Author: Jean-Baptiste Onofré <jb...@apache.org>
Authored: Mon Mar 16 02:03:01 2015 +0100
Committer: Jean-Baptiste Onofré <jb...@apache.org>
Committed: Mon Mar 16 02:03:01 2015 +0100
----------------------------------------------------------------------
.../karaf/cellar/bundle/BundleSynchronizer.java | 23 +-----------
.../resources/OSGI-INF/blueprint/blueprint.xml | 1 -
.../config/ConfigurationSynchronizer.java | 38 +++++---------------
.../resources/OSGI-INF/blueprint/blueprint.xml | 1 -
.../cellar/features/FeaturesSynchronizer.java | 2 +-
.../karaf/cellar/obr/ObrUrlSynchronizer.java | 4 +--
6 files changed, 12 insertions(+), 57 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/952b657a/bundle/src/main/java/org/apache/karaf/cellar/bundle/BundleSynchronizer.java
----------------------------------------------------------------------
diff --git a/bundle/src/main/java/org/apache/karaf/cellar/bundle/BundleSynchronizer.java b/bundle/src/main/java/org/apache/karaf/cellar/bundle/BundleSynchronizer.java
index 68b586d..851ded0 100644
--- a/bundle/src/main/java/org/apache/karaf/cellar/bundle/BundleSynchronizer.java
+++ b/bundle/src/main/java/org/apache/karaf/cellar/bundle/BundleSynchronizer.java
@@ -41,8 +41,6 @@ public class BundleSynchronizer extends BundleSupport implements Synchronizer {
private static final transient Logger LOGGER = LoggerFactory.getLogger(BundleSynchronizer.class);
- private EventProducer eventProducer;
-
public void init() {
Set<Group> groups = groupManager.listLocalGroups();
if (groups != null && !groups.isEmpty()) {
@@ -75,7 +73,7 @@ public class BundleSynchronizer extends BundleSupport implements Synchronizer {
}
}
if (policy != null && policy.equalsIgnoreCase("node")) {
- LOGGER.debug("CELLAR BUNDLE: sync policy is set as 'cluster' for cluster group " + group.getName());
+ LOGGER.debug("CELLAR BUNDLE: sync policy is set as 'node' for cluster group " + group.getName());
push(group);
}
}
@@ -135,12 +133,6 @@ public class BundleSynchronizer extends BundleSupport implements Synchronizer {
@Override
public void push(Group group) {
- // check if the producer is ON
- if (eventProducer.getSwitch().getStatus().equals(SwitchStatus.OFF)) {
- LOGGER.debug("CELLAR BUNDLE: cluster event producer is OFF");
- return;
- }
-
if (group != null) {
String groupName = group.getName();
LOGGER.debug("CELLAR BUNDLE: pushing bundles to cluster group {}", groupName);
@@ -195,11 +187,6 @@ public class BundleSynchronizer extends BundleSupport implements Synchronizer {
existingState.getStatus() != bundleState.getStatus()) {
// update the distributed map
clusterBundles.put(id, bundleState);
-
- // broadcast the event
- ClusterBundleEvent event = new ClusterBundleEvent(symbolicName, version, bundleLocation, status);
- event.setSourceGroup(group);
- eventProducer.produce(event);
}
} else LOGGER.trace("CELLAR BUNDLE: bundle {} is marked BLOCKED OUTBOUND for cluster group {}", bundleLocation, groupName);
@@ -233,12 +220,4 @@ public class BundleSynchronizer extends BundleSupport implements Synchronizer {
return "disabled";
}
- public EventProducer getEventProducer() {
- return eventProducer;
- }
-
- public void setEventProducer(EventProducer eventProducer) {
- this.eventProducer = eventProducer;
- }
-
}
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/952b657a/bundle/src/main/resources/OSGI-INF/blueprint/blueprint.xml
----------------------------------------------------------------------
diff --git a/bundle/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/bundle/src/main/resources/OSGI-INF/blueprint/blueprint.xml
index 0742ab5..ec986e7 100644
--- a/bundle/src/main/resources/OSGI-INF/blueprint/blueprint.xml
+++ b/bundle/src/main/resources/OSGI-INF/blueprint/blueprint.xml
@@ -35,7 +35,6 @@
<property name="groupManager" ref="groupManager"/>
<property name="clusterManager" ref="clusterManager"/>
<property name="bundleContext" ref="blueprintBundleContext"/>
- <property name="eventProducer" ref="eventProducer"/>
</bean>
<service ref="synchronizer" interface="org.apache.karaf.cellar.core.Synchronizer">
<service-properties>
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/952b657a/config/src/main/java/org/apache/karaf/cellar/config/ConfigurationSynchronizer.java
----------------------------------------------------------------------
diff --git a/config/src/main/java/org/apache/karaf/cellar/config/ConfigurationSynchronizer.java b/config/src/main/java/org/apache/karaf/cellar/config/ConfigurationSynchronizer.java
index 9b4c0f2..307ae19 100644
--- a/config/src/main/java/org/apache/karaf/cellar/config/ConfigurationSynchronizer.java
+++ b/config/src/main/java/org/apache/karaf/cellar/config/ConfigurationSynchronizer.java
@@ -38,8 +38,6 @@ public class ConfigurationSynchronizer extends ConfigurationSupport implements S
private static final transient Logger LOGGER = LoggerFactory.getLogger(ConfigurationSynchronizer.class);
- private EventProducer eventProducer;
-
public ConfigurationSynchronizer() {
// nothing to do
}
@@ -76,7 +74,7 @@ public class ConfigurationSynchronizer extends ConfigurationSupport implements S
}
}
if (policy != null && policy.equalsIgnoreCase("node")) {
- LOGGER.debug("CELLAR CONFIG: sync policy is set as 'cluster' for cluster group " + group.getName());
+ LOGGER.debug("CELLAR CONFIG: sync policy is set as 'node' for cluster group " + group.getName());
push(group);
}
}
@@ -97,25 +95,25 @@ public class ConfigurationSynchronizer extends ConfigurationSupport implements S
try {
Thread.currentThread().setContextClassLoader(getClass().getClassLoader());
- for (String clusterConfiguration : clusterConfigurations.keySet()) {
- if (isAllowed(group, Constants.CATEGORY, clusterConfiguration, EventType.INBOUND)) {
- Dictionary clusterDictionary = clusterConfigurations.get(clusterConfiguration);
+ for (String pid : clusterConfigurations.keySet()) {
+ if (isAllowed(group, Constants.CATEGORY, pid, EventType.INBOUND)) {
+ Dictionary clusterDictionary = clusterConfigurations.get(pid);
try {
// update the local configuration if needed
- Configuration localConfiguration = configurationAdmin.getConfiguration(clusterConfiguration, null);
+ Configuration localConfiguration = configurationAdmin.getConfiguration(pid, null);
Dictionary localDictionary = localConfiguration.getProperties();
if (localDictionary == null)
localDictionary = new Properties();
localDictionary = filter(localDictionary);
- if (!equals(localDictionary, clusterDictionary)) {
- localConfiguration.update(localDictionary);
- persistConfiguration(configurationAdmin, clusterConfiguration, localDictionary);
+ if (!equals(clusterDictionary, localDictionary)) {
+ localConfiguration.update((Dictionary) clusterDictionary);
+ persistConfiguration(configurationAdmin, pid, clusterDictionary);
}
} catch (IOException ex) {
LOGGER.error("CELLAR CONFIG: failed to read local configuration", ex);
}
- } else LOGGER.trace("CELLAR CONFIG: configuration with PID {} is marked BLOCKED INBOUND for cluster group {}", clusterConfiguration, groupName);
+ } else LOGGER.trace("CELLAR CONFIG: configuration with PID {} is marked BLOCKED INBOUND for cluster group {}", pid, groupName);
}
} finally {
Thread.currentThread().setContextClassLoader(originalClassLoader);
@@ -130,12 +128,6 @@ public class ConfigurationSynchronizer extends ConfigurationSupport implements S
*/
public void push(Group group) {
- // check if the producer is ON
- if (eventProducer.getSwitch().getStatus().equals(SwitchStatus.OFF)) {
- LOGGER.debug("CELLAR CONFIG: cluster event producer is OFF");
- return;
- }
-
if (group != null) {
String groupName = group.getName();
LOGGER.debug("CELLAR CONFIG: pushing configurations to cluster group {}", groupName);
@@ -155,10 +147,6 @@ public class ConfigurationSynchronizer extends ConfigurationSupport implements S
localDictionary = filter(localDictionary);
// update the configurations in the cluster group
clusterConfigurations.put(pid, dictionaryToProperties(localDictionary));
- // broadcast the cluster event
- ClusterConfigurationEvent event = new ClusterConfigurationEvent(pid);
- event.setSourceGroup(group);
- eventProducer.produce(event);
} else
LOGGER.trace("CELLAR CONFIG: configuration with PID {} is marked BLOCKED OUTBOUND for cluster group {}", pid, groupName);
}
@@ -196,12 +184,4 @@ public class ConfigurationSynchronizer extends ConfigurationSupport implements S
return "disabled";
}
- public EventProducer getEventProducer() {
- return eventProducer;
- }
-
- public void setEventProducer(EventProducer eventProducer) {
- this.eventProducer = eventProducer;
- }
-
}
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/952b657a/config/src/main/resources/OSGI-INF/blueprint/blueprint.xml
----------------------------------------------------------------------
diff --git a/config/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/config/src/main/resources/OSGI-INF/blueprint/blueprint.xml
index de653da..1baf760 100644
--- a/config/src/main/resources/OSGI-INF/blueprint/blueprint.xml
+++ b/config/src/main/resources/OSGI-INF/blueprint/blueprint.xml
@@ -43,7 +43,6 @@
<property name="configurationAdmin" ref="configurationAdmin"/>
<property name="groupManager" ref="groupManager"/>
<property name="clusterManager" ref="clusterManager"/>
- <property name="eventProducer" ref="eventProducer"/>
<property name="storage" value="${storage}"/>
</bean>
<service ref="synchronizer" interface="org.apache.karaf.cellar.core.Synchronizer">
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/952b657a/features/src/main/java/org/apache/karaf/cellar/features/FeaturesSynchronizer.java
----------------------------------------------------------------------
diff --git a/features/src/main/java/org/apache/karaf/cellar/features/FeaturesSynchronizer.java b/features/src/main/java/org/apache/karaf/cellar/features/FeaturesSynchronizer.java
index c772ff9..bdf901b 100644
--- a/features/src/main/java/org/apache/karaf/cellar/features/FeaturesSynchronizer.java
+++ b/features/src/main/java/org/apache/karaf/cellar/features/FeaturesSynchronizer.java
@@ -72,7 +72,7 @@ public class FeaturesSynchronizer extends FeaturesSupport implements Synchronize
}
}
if (policy != null && policy.equalsIgnoreCase("node")) {
- LOGGER.debug("CELLAR FEATURE: sync policy is set as 'cluster' for cluster group " + group.getName());
+ LOGGER.debug("CELLAR FEATURE: sync policy is set as 'node' for cluster group " + group.getName());
push(group);
}
}
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/952b657a/obr/src/main/java/org/apache/karaf/cellar/obr/ObrUrlSynchronizer.java
----------------------------------------------------------------------
diff --git a/obr/src/main/java/org/apache/karaf/cellar/obr/ObrUrlSynchronizer.java b/obr/src/main/java/org/apache/karaf/cellar/obr/ObrUrlSynchronizer.java
index 09eac27..73be384 100644
--- a/obr/src/main/java/org/apache/karaf/cellar/obr/ObrUrlSynchronizer.java
+++ b/obr/src/main/java/org/apache/karaf/cellar/obr/ObrUrlSynchronizer.java
@@ -18,7 +18,6 @@ import org.apache.felix.bundlerepository.Resource;
import org.apache.karaf.cellar.core.Configurations;
import org.apache.karaf.cellar.core.Group;
import org.apache.karaf.cellar.core.Synchronizer;
-import org.apache.karaf.cellar.core.event.EventProducer;
import org.apache.karaf.cellar.core.event.EventType;
import org.osgi.service.cm.Configuration;
import org.slf4j.Logger;
@@ -70,7 +69,7 @@ public class ObrUrlSynchronizer extends ObrSupport implements Synchronizer {
}
}
if (policy != null && policy.equalsIgnoreCase("node")) {
- LOGGER.debug("CELLAR OBR: sync policy is set as 'cluster' for cluster group " + group.getName());
+ LOGGER.debug("CELLAR OBR: sync policy is set as 'node' for cluster group " + group.getName());
push(group);
}
}
@@ -128,7 +127,6 @@ public class ObrUrlSynchronizer extends ObrSupport implements Synchronizer {
for (Resource resource : resources) {
ObrBundleInfo info = new ObrBundleInfo(resource.getPresentationName(), resource.getSymbolicName(), resource.getVersion().toString());
clusterBundles.add(info);
- // TODO fire event to the other nodes ?
}
} else {
LOGGER.trace("CELLAR OBR: URL {} is marked BLOCKED OUTBOUND for cluster group {}", repository.getURI().toString(), groupName);