You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kw...@apache.org on 2014/11/06 15:25:35 UTC
svn commit: r1637117 -
/qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacade.java
Author: kwall
Date: Thu Nov 6 14:25:34 2014
New Revision: 1637117
URL: http://svn.apache.org/r1637117
Log:
QPID-6216: [Java Broker] HA: On conditions causing environment restart, notify the BDBHAVHN as early as possible that it is no longer master
Modified:
qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacade.java
Modified: qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacade.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacade.java?rev=1637117&r1=1637116&r2=1637117&view=diff
==============================================================================
--- qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacade.java (original)
+++ qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacade.java Thu Nov 6 14:25:34 2014
@@ -59,6 +59,7 @@ import com.sleepycat.je.SequenceConfig;
import com.sleepycat.je.Transaction;
import com.sleepycat.je.TransactionConfig;
import com.sleepycat.je.rep.*;
+import com.sleepycat.je.rep.impl.node.NameIdPair;
import com.sleepycat.je.rep.util.DbPing;
import com.sleepycat.je.rep.util.ReplicationGroupAdmin;
import com.sleepycat.je.rep.utilint.HostPortPair;
@@ -943,13 +944,28 @@ public class ReplicatedEnvironmentFacade
{
LOGGER.info("Restarting environment");
+ StateChangeListener stateChangeListener = _stateChangeListener.get();
+
+ if (stateChangeListener != null)
+ {
+ _stateChangeExecutor.submit(new Runnable()
+ {
+ @Override
+ public void run()
+ {
+ StateChangeEvent detached = new StateChangeEvent(ReplicatedEnvironment.State.DETACHED, NameIdPair.NULL);
+ stateChanged(detached);
+ }
+ });
+ }
+
closeEnvironmentOnRestart();
createEnvironment(false);
registerAppStateMonitorIfPermittedNodesSpecified();
- if (_stateChangeListener.get() != null)
+ if (stateChangeListener != null)
{
_environment.setStateChangeListener(this);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org