You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by nf...@apache.org on 2017/08/08 14:43:25 UTC
[07/14] camel git commit: CAMEL-11331: Adding clarifications to the
leader interface and fix impl
CAMEL-11331: Adding clarifications to the leader interface and fix impl
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/debfeed6
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/debfeed6
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/debfeed6
Branch: refs/heads/master
Commit: debfeed6ef0b45f725d4a20ea5d48a2f41fabec2
Parents: e4cab32
Author: Nicola Ferraro <ni...@gmail.com>
Authored: Fri Jul 7 17:18:05 2017 +0200
Committer: Nicola Ferraro <ni...@gmail.com>
Committed: Tue Aug 8 16:39:43 2017 +0200
----------------------------------------------------------------------
.../camel/ha/CamelClusterEventListener.java | 29 ++++++++++++++++++--
.../kubernetes/ha/KubernetesClusterView.java | 4 +--
...ubernetesLeaseBasedLeadershipController.java | 2 +-
3 files changed, 28 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/debfeed6/camel-core/src/main/java/org/apache/camel/ha/CamelClusterEventListener.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/ha/CamelClusterEventListener.java b/camel-core/src/main/java/org/apache/camel/ha/CamelClusterEventListener.java
index 5c19970..1a972ca 100644
--- a/camel-core/src/main/java/org/apache/camel/ha/CamelClusterEventListener.java
+++ b/camel-core/src/main/java/org/apache/camel/ha/CamelClusterEventListener.java
@@ -17,16 +17,39 @@
package org.apache.camel.ha;
/**
- * Marker interface
+ * Marker interface for cluster events
*/
public interface CamelClusterEventListener {
interface Leadership extends CamelClusterEventListener {
+
+ /**
+ * Notify a change in the leadership for a particular cluster.
+ *
+ * @param view the cluster view
+ * @param leader the new leader or null (when there are no active leaders)
+ */
void leadershipChanged(CamelClusterView view, CamelClusterMember leader);
+
}
interface Membership extends CamelClusterEventListener {
- void memberAdded(CamelClusterView view, CamelClusterMember leader);
- void memberRemoved(CamelClusterView view, CamelClusterMember leader);
+
+ /**
+ * Notify a change (addition) in the cluster composition.
+ *
+ * @param view the cluster view
+ * @param member the member that has been added
+ */
+ void memberAdded(CamelClusterView view, CamelClusterMember member);
+
+ /**
+ * Notify a change (removal) in the cluster composition.
+ *
+ * @param view the cluster view
+ * @param member the member that has been removed
+ */
+ void memberRemoved(CamelClusterView view, CamelClusterMember member);
+
}
}
http://git-wip-us.apache.org/repos/asf/camel/blob/debfeed6/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/ha/KubernetesClusterView.java
----------------------------------------------------------------------
diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/ha/KubernetesClusterView.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/ha/KubernetesClusterView.java
index e324b3f..28f38a5 100644
--- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/ha/KubernetesClusterView.java
+++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/ha/KubernetesClusterView.java
@@ -91,9 +91,7 @@ public class KubernetesClusterView extends AbstractCamelClusterView {
// New leader
Optional<String> leader = KubernetesClusterEvent.KubernetesClusterLeaderChangedEvent.class.cast(event).getData();
currentLeader = leader.map(this::toMember);
- if (currentLeader.isPresent()) {
- fireLeadershipChangedEvent(currentLeader.get());
- }
+ fireLeadershipChangedEvent(currentLeader.orElse(null));
} else if (event instanceof KubernetesClusterEvent.KubernetesClusterMemberListChangedEvent) {
Set<String> members = KubernetesClusterEvent.KubernetesClusterMemberListChangedEvent.class.cast(event).getData();
Set<String> oldMembers = currentMembers.stream().map(CamelClusterMember::getId).collect(Collectors.toSet());
http://git-wip-us.apache.org/repos/asf/camel/blob/debfeed6/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/ha/lock/KubernetesLeaseBasedLeadershipController.java
----------------------------------------------------------------------
diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/ha/lock/KubernetesLeaseBasedLeadershipController.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/ha/lock/KubernetesLeaseBasedLeadershipController.java
index b385925..8e96a72 100644
--- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/ha/lock/KubernetesLeaseBasedLeadershipController.java
+++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/ha/lock/KubernetesLeaseBasedLeadershipController.java
@@ -362,7 +362,7 @@ public class KubernetesLeaseBasedLeadershipController implements Service {
// Sending notifications in case of leader change
if (!newLeader.equals(this.currentLeader)) {
- LOG.debug("Current leader has changed from {} to {}. Sending notifications...", this.currentLeader, newLeader);
+ LOG.info("Current leader has changed from {} to {}. Sending notifications...", this.currentLeader, newLeader);
this.currentLeader = newLeader;
eventHandler.onKubernetesClusterEvent((KubernetesClusterEvent.KubernetesClusterLeaderChangedEvent) () -> newLeader);
} else {