Author: orudyy
Date: Fri May 29 14:32:20 2015
New Revision: 1682487
URL: http://svn.apache.org/r1682487
Log:
QPID-6560: Remove redundant close of ReplicationEnvironmentFacade on intruder
detection as it might block on facade thread executors shutdown caused by tasks
scheduled to execute on VHN close and HA events
Modified:
qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java
Modified:
qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java?rev=1682487&r1=1682486&r2=1682487&view=diff
==============================================================================
---
qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java
(original)
+++
qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java
Fri May 29 14:32:20 2015
@@ -1218,22 +1218,24 @@ public class BDBHAVirtualHostNodeImpl ex
{
LOGGER.info("Intruder detected (" + intruderHostAndPort + "), stopping
and setting state to ERRORED");
- State initialState = getState();
+ final State initialState = getState();
try
{
- stopAndSetStateTo(State.ERRORED);
+ stopAndSetStateTo(State.ERRORED).addListener(new Runnable()
+ {
+ @Override
+ public void run()
+ {
+ _lastRole.set(NodeRole.DETACHED);
+ attributeSet(ROLE, _role, NodeRole.DETACHED);
+ notifyStateChanged(initialState, State.ERRORED);
+ }
+ }, getTaskExecutor().getExecutor());
}
catch (Exception e)
{
LOGGER.error("Unexpected exception on closing the node when
intruder is detected ", e);
}
- finally
- {
- closeEnvironment();
- _lastRole.set(NodeRole.DETACHED);
- attributeSet(ROLE, _role, NodeRole.DETACHED);
- }
- notifyStateChanged(initialState, State.ERRORED);
}
private abstract class VirtualHostNodeGroupTask implements Task<Void>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]