[ 
https://issues.apache.org/jira/browse/CAMEL-8208?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Willem Jiang updated CAMEL-8208:
--------------------------------
    Comment: was deleted

(was: I just checked the code of ZooKeeperRoutePolicy, it doesn't switch to the 
not master mode if the node is disconnected.
So I made a patch for it, can you verify it in your system?
{code}
diff --git 
a/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/policy/ZooKeeperElection.java
 
b/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/policy/ZooKeeperElection.java
index 3fb3eb1..180b738 100644
--- 
a/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/policy/ZooKeeperElection.java
+++ 
b/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/policy/ZooKeeperElection.java
@@ -236,6 +236,10 @@ public class ZooKeeperElection {
                         LOG.debug("This node is number '{}' on the candidate 
list, election is configured for the top '{}'. this node will be {}",
                                 new Object[]{location, enabledCount, 
masterNode.get() ? "enabled" : "disabled"}
                         );
+                    } else {
+                        // Cannot find the location from the candidate, we 
need to reset the masterNode state
+                        LOG.info("This node {} is session expirated, so it is 
switch to slave mode.", candidateName);
+                        masterNode.set(false);
                     }
                     electionComplete.countDown();
{code})

> ZooKeeperRoutePolicy is not able to recover after session expiration
> --------------------------------------------------------------------
>
>                 Key: CAMEL-8208
>                 URL: https://issues.apache.org/jira/browse/CAMEL-8208
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-zookeeper
>    Affects Versions: 2.13.2
>            Reporter: Leo Wang
>
> My company is using ZooKeeperRoutePolicy to maintain a Master/Slaver cluster. 
> Sometimes the cluster got network problem which make the app server 
> disconnect from remote ZooKeeper server. The disconnection usually don't last 
> long but still long enough to expire the zookeeper session of 
> ZooKeeperRoutePolicy. By our observation, it seems ZooKeeperRoutePolicy would 
> not recovery and do re-election after session expiration which lead to 
> multiple master situation.
> Is it possible to do enhancement or bug fixing on this?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to