Rhino esb with rq and haproxy

34 views
Skip to first unread message

ozanyurt

unread,
Oct 4, 2012, 2:14:50 AM10/4/12
to rhino-t...@googlegroups.com
Hi,

I'm using Rhino Esb with Rq. Rhino esb load balancer not support load
balancer future and I try to use HAProxy alternative. I've set the
HAProxy tcp mode then I began to take some warn messages(1,2. logs).
At first I ignored these messages. I never had a problem with my
attempts. But when I open production backend machine was unresponsive.
Rhino.Service.Bus use all off memory. I now Rhino.Service.Bus normally
use all system ram because of Esent but I used for more than a year
and system never become unresponsive(3. log. I also turn off the load
balancer system is working properly. I think that the problem is load
balancer check procedure(check for every 2000ms) Can you give me a
some advice or another load balancing solution.

Thanks in advance
Ozan


1:

2012-10-03 00:04:47.7962
Rhino.Queues.Protocol.Receiver+<ProcessRequest>d__b.MoveNext Warn
Unable to read length data from 109.70.45.20:34383
System.InvalidOperationException: Could not read value for length data
   at Rhino.Queues.Protocol.StreamUtil.<ReadBytes>d__0.MoveNext() in
d:\works\ayende\rhino-esb-latest\rhino-queues\Rhino.Queues\Protocol\StreamUtil.cs:line
30
   at Wintellect.Threading.AsyncProgModel.AsyncEnumerator.ResumeIterator(ResumeIteratorFlag
resumeIteratorFlag)
   at Wintellect.Threading.AsyncProgModel.AsyncResult.EndInvoke()
   at Wintellect.Threading.AsyncProgModel.AsyncEnumerator.EndExecute(IAsyncResult
result)
   at Rhino.Queues.Protocol.Receiver.<ProcessRequest>d__b.MoveNext()
in d:\works\ayende\rhino-esb-latest\rhino-queues\Rhino.Queues\Protocol\Receiver.cs:line
166


2:

2012-10-02 13:52:01.3748
Rhino.Queues.Protocol.Receiver+<ProcessRequest>d__b.MoveNext Warn
Unable to read message data from 109.70.45.20:45212
System.InvalidOperationException: Could not read value for message data
   at Rhino.Queues.Protocol.StreamUtil.<ReadBytes>d__0.MoveNext() in
d:\works\ayende\rhino-esb-latest\rhino-queues\Rhino.Queues\Protocol\StreamUtil.cs:line
30
   at Wintellect.Threading.AsyncProgModel.AsyncEnumerator.ResumeIterator(ResumeIteratorFlag
resumeIteratorFlag)
   at Wintellect.Threading.AsyncProgModel.AsyncResult.EndInvoke()
   at Wintellect.Threading.AsyncProgModel.AsyncEnumerator.EndExecute(IAsyncResult
result)
   at Rhino.Queues.Protocol.Receiver.<ProcessRequest>d__b.MoveNext()
in d:\works\ayende\rhino-esb-latest\rhino-queues\Rhino.Queues\Protocol\Receiver.cs:line
199

3.

2012-10-02 13:52:37.7967
Rhino.Queues.Protocol.Receiver+<ProcessRequest>d__b.MoveNext Warn
Unable to read message data from 109.70.45.20:45228
System.IO.IOException: Unable to read data from the transport
connection: An operation on a socket could not be performed because
the system lacked sufficient buffer space or because a queue was full.
---> System.Net.Sockets.SocketException: An operation on a socket
could not be performed because the system lacked sufficient buffer
space or because a queue was full
   at System.Net.Sockets.NetworkStream.BeginRead(Byte[] buffer, Int32
offset, Int32 size, AsyncCallback callback, Object state)
   --- End of inner exception stack trace ---
   at System.Net.Sockets.NetworkStream.BeginRead(Byte[] buffer, Int32
offset, Int32 size, AsyncCallback callback, Object state)
   at Rhino.Queues.Protocol.StreamUtil.<ReadBytes>d__0.MoveNext() in
d:\works\ayende\rhino-esb-latest\rhino-queues\Rhino.Queues\Protocol\StreamUtil.cs:line
21
   at Wintellect.Threading.AsyncProgModel.AsyncEnumerator.ResumeIterator(ResumeIteratorFlag
resumeIteratorFlag)
   at Wintellect.Threading.AsyncProgModel.AsyncResult.EndInvoke()
   at Wintellect.Threading.AsyncProgModel.AsyncEnumerator.EndExecute(IAsyncResult
result)
   at Rhino.Queues.Protocol.Receiver.<ProcessRequest>d__b.MoveNext()
in d:\works\ayende\rhino-esb-latest\rhino-queues\Rhino.Queues\Protocol\Receiver.cs:line
199

Corey

unread,
Oct 8, 2012, 1:27:34 PM10/8/12
to rhino-t...@googlegroups.com
We use RQ with a hardware load balancer and see similar warnings when receiving. However, we have not experienced high memory correlation when doing so. High memory has for us been correlated to high number of messages.

Ozan Yurtseven

unread,
Oct 8, 2012, 2:00:10 PM10/8/12
to rhino-t...@googlegroups.com
Thanks Corey. I change the haproxy tcp check method and everything
seems ok now. But I will test with high number of messages.

2012/10/8 Corey <co...@kaylors.net>:
> --
> You received this message because you are subscribed to the Google Groups
> "Rhino Tools Dev" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/rhino-tools-dev/-/5splsjXlvUQJ.
>
> To post to this group, send email to rhino-t...@googlegroups.com.
> To unsubscribe from this group, send email to
> rhino-tools-d...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/rhino-tools-dev?hl=en.
Reply all
Reply to author
Forward
0 new messages