Retry time when message queuing service is not available

269 views
Skip to first unread message

Ben Rogers

unread,
Jul 9, 2012, 11:15:36 PM7/9/12
to masstrans...@googlegroups.com
Hi,
On one of our servers the Message Queuing was switched off but one of our Windows Services that uses MassTransit was still running. The exception I got was this
 
 

MassTransit.Transports.InvalidConnectionException: msmq://a40/traffickinginputqueue?tx=false => The message queuing service is not available, pausing for timeout period ---> System.Messaging.MessageQueueException: Message Queue service is not available.

   at System.Messaging.MessageEnumerator.get_Handle()

   at System.Messaging.MessageEnumerator.MoveNext(TimeSpan timeout)

   at MassTransit.Transports.Msmq.InboundMsmqTransport.<>c__DisplayClass2.<EnumerateQueue>b__0(MessageQueueConnection connection)

   at MassTransit.Transports.ConnectionHandlerImpl`1.<>c__DisplayClass3.<Use>b__2()

   at MassTransit.Transports.DefaultConnectionPolicy.Execute(Action callback)

   at MassTransit.Transports.ConnectionPolicyChainImpl.Next(Action callback)

   at MassTransit.Transports.ConnectionHandlerImpl`1.Use(Action`1 callback)

   at MassTransit.Transports.Msmq.InboundMsmqTransport.EnumerateQueue(Func`2 receiver, TimeSpan timeout)

   at MassTransit.Transports.Msmq.InboundMsmqTransport.Receive(Func`2 callback, TimeSpan timeout)

   --- End of inner exception stack trace ---

   at MassTransit.Transports.Msmq.InboundMsmqTransport.HandleInboundMessageQueueException(MessageQueueException ex)

   at MassTransit.Transports.Msmq.InboundMsmqTransport.Receive(Func`2 callback, TimeSpan timeout)

   at MassTransit.Transports.Transport.Receive(Func`2 callback, TimeSpan timeout)

   at MassTransit.Transports.Endpoint.Receive(Func`2 receiver, TimeSpan timeout)

   at MassTransit.Context.ServiceBusReceiveContext.ReceiveFromEndpoint()

 

This happenned at about midnight. The problem I am having is that MassTransit tries to enumerate through the queue again after 50 milliseconds. Is there anyway to increase that value. We configure Log4net on Live servers to send us an email for every error logged, so I am getting thousands of emails. I understand the benefit of retrying a failed operation, but couldnt that happen after say 20 seconds rather than 50 milliseconds. Or maybe for the first 10 retries do every 50 millieseconds and then for the next 100 every second and then after that 20 seconds.

 

Regards Ben

Chris Patterson

unread,
Jul 10, 2012, 9:53:31 AM7/10/12
to masstrans...@googlegroups.com
A progressive retry timeout would be great. A pull request would be the quickest way to get this, but if you submit an issue it may get worked on by somebody in the meantime.

Thanks!


--
You received this message because you are subscribed to the Google Groups "masstransit-discuss" group.
To view this discussion on the web visit https://groups.google.com/d/msg/masstransit-discuss/-/xzzmtOjLzj4J.
To post to this group, send email to masstrans...@googlegroups.com.
To unsubscribe from this group, send email to masstransit-dis...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/masstransit-discuss?hl=en-US.

Ben Rogers

unread,
Jul 10, 2012, 7:26:48 PM7/10/12
to masstrans...@googlegroups.com
Hi Chris,
I created an issue
 
 
Progressive Retry timeout when message queuing service is not available
 
Thank you
Regards Ben

On Tuesday, July 10, 2012 11:53:31 PM UTC+10, Chris Patterson wrote:
A progressive retry timeout would be great. A pull request would be the quickest way to get this, but if you submit an issue it may get worked on by somebody in the meantime.

Thanks!
On Mon, Jul 9, 2012 at 10:15 PM, Ben Rogers  wrote:
Hi,
On one of our servers the Message Queuing was switched off but one of our Windows Services that uses MassTransit was still running. The exception I got was this
 
 

MassTransit.Transports.InvalidConnectionException: msmq://a40/traffickinginputqueue?tx=false => The message queuing service is not available, pausing for timeout period ---> System.Messaging.MessageQueueException: Message Queue service is not available.

   at System.Messaging.MessageEnumerator.get_Handle()

   at System.Messaging.MessageEnumerator.MoveNext(TimeSpan timeout)

   at MassTransit.Transports.Msmq.InboundMsmqTransport.<>c__DisplayClass2.<EnumerateQueue>b__0(MessageQueueConnection connection)

   at MassTransit.Transports.ConnectionHandlerImpl`1.<>c__DisplayClass3.<Use>b__2()

   at MassTransit.Transports.DefaultConnectionPolicy.Execute(Action callback)

   at MassTransit.Transports.ConnectionPolicyChainImpl.Next(Action callback)

   at MassTransit.Transports.ConnectionHandlerImpl`1.Use(Action`1 callback)

   at MassTransit.Transports.Msmq.InboundMsmqTransport.EnumerateQueue(Func`2 receiver, TimeSpan timeout)

   at MassTransit.Transports.Msmq.InboundMsmqTransport.Receive(Func`2 callback, TimeSpan timeout)

   --- End of inner exception stack trace ---

   at MassTransit.Transports.Msmq.InboundMsmqTransport.HandleInboundMessageQueueException(MessageQueueException ex)

   at MassTransit.Transports.Msmq.InboundMsmqTransport.Receive(Func`2 callback, TimeSpan timeout)

   at MassTransit.Transports.Transport.Receive(Func`2 callback, TimeSpan timeout)

   at MassTransit.Transports.Endpoint.Receive(Func`2 receiver, TimeSpan timeout)

   at MassTransit.Context.ServiceBusReceiveContext.ReceiveFromEndpoint()

 

This happenned at about midnight. The problem I am having is that MassTransit tries to enumerate through the queue again after 50 milliseconds. Is there anyway to increase that value. We configure Log4net on Live servers to send us an email for every error logged, so I am getting thousands of emails. I understand the benefit of retrying a failed operation, but couldnt that happen after say 20 seconds rather than 50 milliseconds. Or maybe for the first 10 retries do every 50 millieseconds and then for the next 100 every second and then after that 20 seconds.

 

Regards Ben

--
You received this message because you are subscribed to the Google Groups "masstransit-discuss" group.
To view this discussion on the web visit https://groups.google.com/d/msg/masstransit-discuss/-/xzzmtOjLzj4J.
To post to this group, send email to masstransit-discuss@googlegroups.com.
To unsubscribe from this group, send email to masstransit-discuss+unsub...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages