[jboss-jira] [JBoss JIRA] (JGRP-1846) RELAY2: delay shutting down bridge
Dan Berindei (JIRA)
issues at jboss.org
Fri Jun 6 07:48:15 EDT 2014
Dan Berindei created JGRP-1846:
----------------------------------
Summary: RELAY2: delay shutting down bridge
Key: JGRP-1846
URL: https://issues.jboss.org/browse/JGRP-1846
Project: JGroups
Issue Type: Bug
Affects Versions: 3.5
Reporter: Dan Berindei
Assignee: Bela Ban
A simple test that starts 2 sites x 2 nodes each and shuts them down in order shows a 1 second delay when shutting down the last node in the first site (B):
public void testCoordinatorShutdown() throws Exception {
a=createNode(LON, "A", LON_CLUSTER, null);
b=createNode(LON, "B", LON_CLUSTER, null);
x=createNode(SFO, "X", SFO_CLUSTER, null);
y=createNode(SFO, "Y", SFO_CLUSTER, null);
Util.waitUntilAllChannelsHaveSameSize(10000, 100, a, b);
Util.waitUntilAllChannelsHaveSameSize(10000, 100, x, y);
waitForBridgeView(2, 20000, 100, a, x);
a.close();
Util.waitUntilAllChannelsHaveSameSize(10000, 100, b);
b.close();
waitForBridgeView(1, 20000, 100, x);
x.close();
y.close();
}
And the relevant logs:
13:51:30,017 DEBUG (Timer-2,sfo-cluster,X:) [GMS] _X:sfo: installing view [_A:lon|1] (2) [_A:lon, _X:sfo]
13:51:30,028 DEBUG (Incoming-2,global,_X:sfo:) [GMS] _X:sfo: installing view [_X:sfo|2] (1) [_X:sfo]
13:51:30,046 TRACE (Timer-2,lon-cluster,B:) [SHARED_LOOPBACK] _B:lon: sending msg to _X:sfo, src=_B:lon, headers are GMS: GmsHeader[JOIN_REQ]: mbr=_B:lon, UNICAST3: DATA, seqno=1, first, SHARED_LOOPBACK: [cluster_name=global]
13:51:31,046 TRACE (Timer-2,global,_B:lon:) [SHARED_LOOPBACK] _B:lon: sending msg to _X:sfo, src=_B:lon, headers are GMS: GmsHeader[JOIN_REQ]: mbr=_B:lon, UNICAST3: DATA, seqno=1, first, SHARED_LOOPBACK: [cluster_name=global]
13:51:31,099 DEBUG (Incoming-2,global,_X:sfo:) [GMS] _X:sfo: installing view [_X:sfo|3] (2) [_X:sfo, _B:lon]
Note that while this happens on a background timer thread, the shutdown is delayed nonetheless because {{TP.destroy()}} waits at least 500ms for all the timer threads to finish ({{TimeScheduler3.stopRunning()}}. Perhaps that should change as well, so that timer threads are interrupted and finish immediately.
--
This message was sent by Atlassian JIRA
(v6.2.3#6260)
More information about the jboss-jira
mailing list