that seems reasonable. want to submit a patch against trunk?

On 6 July 2010 12:10, Eric-AWL <eric.vinc...@atosorigin.com> wrote:
>
> What could happen if we add
>
>         if (configuration.isDuplex() && duplexInitiatingConnection == null)
> {
>                // initiator side of duplex network
>                remoteBrokerNameKnownLatch.countDown();
>            }
>
> into the stop() method of DemandForwardingBridgeSupport class ?
>
> Eric-AWL
>
>
> Eric-AWL wrote:
>>
>> Hi
>>
>> I'm sure that I identified a Latch problem in Multicast Network Discovery
>> mechanism on Duplex connection
>>
>> The multicast notifier thread is blocked. here the trace
>>
>> "Notifier-MulticastDiscoveryAgent-listener:DiscoveryNetworkConnector:NOCSupervisorP5-ADMIN-OUT-IN:BrokerService[SIBBusModule-NOCP5-tpnocp08s-bus]"
>> daemon prio=10 tid=0x0000000044ff2400 nid=0x1389 waiting on condition
>> [0x0000000044c26000..0x0000000044c26b90]
>>    java.lang.Thread.State: WAITING (parking)
>>       at sun.misc.Unsafe.park(Native Method)
>>       - parking to wait for  <0x00002aaab3dd66f0> (a
>> java.util.concurrent.CountDownLatch$Sync)
>>       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
>>       at
>> java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:747)
>>       at
>> java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:905)
>>       at
>> java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1217)
>>       at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:207)
>>       at
>> org.apache.activemq.network.DemandForwardingBridgeSupport.start(DemandForwardingBridgeSupport.java:231)
>>       at
>> org.apache.activemq.network.DiscoveryNetworkConnector.onServiceAdd(DiscoveryNetworkConnector.java:114)
>>       at
>> org.apache.activemq.transport.discovery.multicast.MulticastDiscoveryAgent$2.run(MulticastDiscoveryAgent.java:484)
>>       at
>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>       at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>       at java.lang.Thread.run(Thread.java:619)
>>
>> The problem appears when the network is quickly and alternatively on/off
>> between the two components.
>> The bridge is created in one direction, but the answer can not be
>> received.
>>
>> The thread is blocked on the CountDownLatch. Even if multicast frames are
>> received, the component can not establish a new network connection.
>>
>> Here are an corresponding activemq trace
>>
>> When it is OK :
>> 2010-06-22 22:56:24,500 [-tpnocp08s-bus]] INFO  DiscoveryNetworkConnector
>> - Establishing network connection from
>> vm://SIBBusModule-NOCP5-tpnocp08s-bus to
>> tcp://tpnocp11v-bus.vdm.priv.amm.noc:14101?useLocalHost=false
>> 2010-06-22 22:56:26,083 [nocp08s-bus#160] INFO  DemandForwardingBridge
>> - Network connection between vm://SIBBusModule-NOCP5-tpnocp08s-bus#160 and
>> tcp://tpnocp11v-bus.vdm.priv.amm.noc/10.18.126.30:14101(SIBBusSupervisor-tpnocp11v-bus)
>> has been established.
>>
>> 2010-06-22 22:57:34,807 [-tpnocp08s-bus]] INFO  DemandForwardingBridge
>> - SIBBusModule-NOCP5-tpnocp08s-bus bridge to
>> SIBBusSupervisor-tpnocp11v-bus stopped
>>
>> 2010-06-22 22:57:34,811 [-tpnocp08s-bus]] INFO  DiscoveryNetworkConnector
>> - Establishing network connection from
>> vm://SIBBusModule-NOCP5-tpnocp08s-bus to
>> tcp://tpnocp11v-bus.vdm.priv.amm.noc:14101?useLocalHost=false
>> 2010-06-22 22:57:39,064 [nocp08s-bus#162] INFO  DemandForwardingBridge
>> - Network connection between vm://SIBBusModule-NOCP5-tpnocp08s-bus#162 and
>> tcp://tpnocp11v-bus.vdm.priv.amm.noc/10.18.126.30:14101(SIBBusSupervisor-tpnocp11v-bus)
>> has been established.
>>
>> 2010-06-22 22:58:42,578 [-tpnocp08s-bus]] INFO  DemandForwardingBridge
>> - SIBBusModule-NOCP5-tpnocp08s-bus bridge to
>> SIBBusSupervisor-tpnocp11v-bus stopped
>>
>> When it is KO : "Unknown"
>>
>> 2010-06-22 22:58:42,648 [-tpnocp08s-bus]] INFO  DiscoveryNetworkConnector
>> - Establishing network connection from
>> vm://SIBBusModule-NOCP5-tpnocp08s-bus to
>> tcp://tpnocp11v-bus.vdm.priv.amm.noc:14101?useLocalHost=false
>> 2010-06-22 22:59:18,031 [18.126.30:14101] WARN  DemandForwardingBridge
>> - Network connection between vm://SIBBusModule-NOCP5-tpnocp08s-bus#164 and
>> tcp://tpnocp11v-bus.vdm.priv.amm.noc/10.18.126.30:14101 shutdown due to a
>> remote error: java.net.SocketException: Connection reset
>> 2010-06-22 22:59:18,033 [NetworkBridge  ] INFO  DemandForwardingBridge
>> - SIBBusModule-NOCP5-tpnocp08s-bus bridge to Unknown stopped
>>
>>
>> Here is the other side corresponding activemq trace
>>
>> activemq-server.log:2010-06-22 22:55:44,295 [26.190.27:40517] INFO
>> TransportConnection            - Created Duplex Bridge back to
>> SIBBusModule-NOCP5-tpnocp08s-bus
>>
>> activemq-server.log:2010-06-22 22:56:24,438 [26.190.27:40517] INFO
>> DemandForwardingBridge         - SIBBusSupervisor-tpnocp11v-bus bridge to
>> SIBBusModule-NOCP5-tpnocp08s-bus stopped
>>
>> activemq-server.log:2010-06-22 22:56:26,135 [26.190.27:40518] INFO
>> TransportConnection            - Created Duplex Bridge back to
>> SIBBusModule-NOCP5-tpnocp08s-bus
>> activemq-server.log:2010-06-22 22:56:26,135 [ocp11v-bus#1770] INFO
>> DemandForwardingBridge         - Network connection between
>> vm://SIBBusSupervisor-tpnocp11v-bus#1770 and
>> tcp:///10.26.190.27:40518(SIBBusModule-NOCP5-tpnocp08s-bus) has been
>> established.
>>
>> activemq-server.log:2010-06-22 22:57:34,818 [26.190.27:40518] INFO
>> DemandForwardingBridge         - SIBBusSupervisor-tpnocp11v-bus bridge to
>> SIBBusModule-NOCP5-tpnocp08s-bus stopped
>>
>> activemq-server.log:2010-06-22 22:57:39,153 [26.190.27:40519] INFO
>> TransportConnection            - Created Duplex Bridge back to
>> SIBBusModule-NOCP5-tpnocp08s-bus
>> activemq-server.log:2010-06-22 22:57:39,153 [ocp11v-bus#1806] INFO
>> DemandForwardingBridge         - Network connection between
>> vm://SIBBusSupervisor-tpnocp11v-bus#1806 and
>> tcp:///10.26.190.27:40519(SIBBusModule-NOCP5-tpnocp08s-bus) has been
>> established.
>>
>> activemq-server.log:2010-06-22 22:58:44,328 [26.190.27:40519] INFO
>> DemandForwardingBridge         - SIBBusSupervisor-tpnocp11v-bus bridge to
>> SIBBusModule-NOCP5-tpnocp08s-bus stopped
>>
>>
>> Eric-AWL
>>
>
> --
> View this message in context: 
> http://old.nabble.com/MultiCast-Discovery-and-refusal-of-connection-tp28827529p29084235.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>
>



-- 
http://blog.garytully.com

Open Source Integration
http://fusesource.com

Reply via email to