[jboss-dev-forums] [Design of Messaging on JBoss (Messaging/JBoss)] - ack problem casued by consumer window size

ataylor do-not-reply at jboss.com
Wed Aug 5 06:43:01 EDT 2009


This is to do with https://jira.jboss.org/jira/browse/JBMESSAGING-1693.

If i set the producer window size to 100 and the ack batch size to -1 the consumer will hang after a couple of messages. In this scenario the send semaphore has 100 and the confirm window size will be 75 (i.e. 100 *.75).

I logged the acquiring of send semaphores and you can see how it hangs as follows
						client permits used      server receive bytes
  | client aquires 53 available 100			53                       0
  | server receives packet size 53				53                       53
  | client aquires 25 available 47				78                       53
  | client aquires 13 available 22				91                       53
  | server receives packet size 25				91                       78
  | server frees 78 bytes					13                       0                                 
  | server receives packetsize  13				13                       13
  | client aquires 30 available 87				43                       13
  | client aquires 30 available 57				73                       13
  | client aquires 30 available 27 (waits)			73                       13
  | server receives packet size 13				73                       43
  | server receives packet size 13				73                       73
  | hang

If i change the confirm window size to 70 % (i.e. 100 * .7) then it works fine.

Thing is i'm struggling with the maths here of what the confirm window size should be in order to always work.  any ideas anyone.

We could make this configurable?

View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4248073#4248073

Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4248073



More information about the jboss-dev-forums mailing list