[ 
https://issues.apache.org/jira/browse/AMQNET-515?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15056062#comment-15056062
 ] 

Maxim Cherednik commented on AMQNET-515:
----------------------------------------

Actually we didn't use the those timeouts before. The original idea was never 
to be blocked, once we receive this kind of timeout exceptions we do some back 
off logic and we wait until connection is re-established. 
I think we misunderstood the meaning of the transport.timeout - we thought it's 
low level tcp timeout or something like this. Now what I see from the source 
code, this timeout is responsible for transport access in 
here(Apache.NMS.ActiveMQ.Transport.MutexTransport.GetTransmissionLock). 
If you can advice which timeout to be used and how, that would be cool.

> Failover is not working
> -----------------------
>
>                 Key: AMQNET-515
>                 URL: https://issues.apache.org/jira/browse/AMQNET-515
>             Project: ActiveMQ .Net
>          Issue Type: Bug
>          Components: NMS
>    Affects Versions: 1.7.0
>            Reporter: Maxim Cherednik
>            Assignee: Jim Gomes
>
> The client stops reconnecting.
> We don't have the exact steps how to reproduce it bu it happens quite 
> often(every second day) in our env.
> 1. Connection string:   <add key="BrokerURI" 
> value="failover:(tcp://192.168.1.2:61617)?transport.timeout=3000&amp;connection.RequestTimeout=15000"
>  />
> 2. After some time we receive this exception on the IConnectionListener
> Apache.NMS.ActiveMQ.IOException: Oneway timed out after 3000 milliseconds.
>    at Apache.NMS.ActiveMQ.Transport.MutexTransport.GetTransmissionLock(Int32 
> timeout) in 
> c:\dev\NMS.ActiveMQ\src\main\csharp\Transport\MutexTransport.cs:line 46
>    at Apache.NMS.ActiveMQ.Transport.MutexTransport.Oneway(Command command) in 
> c:\dev\NMS.ActiveMQ\src\main\csharp\Transport\MutexTransport.cs:line 66
>    at Apache.NMS.ActiveMQ.Connection.OnKeepAliveCommand(ITransport 
> commandTransport, KeepAliveInfo info) in 
> c:\dev\NMS.ActiveMQ\src\main\csharp\Connection.cs:line 1180
> 3. After that whenever we are trying to send the message to the broker, we 
> receive this exception:
> Apache.NMS.ActiveMQ.RequestTimedOutException: Synchronous Request Timed out 
> after [15000] milliseconds
>    at Apache.NMS.ActiveMQ.Transport.FutureResponse.get_Response() in 
> c:\dev\NMS.ActiveMQ\src\main\csharp\Transport\FutureResponse.cs:line 78
>    at Apache.NMS.ActiveMQ.Transport.ResponseCorrelator.Request(Command 
> command, TimeSpan timeout) in 
> c:\dev\NMS.ActiveMQ\src\main\csharp\Transport\ResponseCorrelator.cs:line 92
>    at Apache.NMS.ActiveMQ.Connection.SyncRequest(Command command, TimeSpan 
> requestTimeout) in c:\dev\NMS.ActiveMQ\src\main\csharp\Connection.cs:line 895
>    at Apache.NMS.ActiveMQ.Session.DoSend(ActiveMQDestination destination, 
> ActiveMQMessage message, MessageProducer producer, MemoryUsage 
> producerWindow, TimeSpan sendTimeout) in 
> c:\dev\NMS.ActiveMQ\src\main\csharp\Session.cs:line 783
>    at Apache.NMS.ActiveMQ.MessageProducer.Send(IDestination destination, 
> IMessage message, MsgDeliveryMode deliveryMode, MsgPriority priority, 
> TimeSpan timeToLive, Boolean specifiedTimeToLive) in 
> c:\dev\NMS.ActiveMQ\src\main\csharp\MessageProducer.cs:line 263
>    at Apache.NMS.ActiveMQ.MessageProducer.Send(IMessage message) in 
> c:\dev\NMS.ActiveMQ\src\main\csharp\MessageProducer.cs:line 163
> 4. AMQ broker restart doesn't trigger the IConnectionListener methods anymore.



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

Reply via email to