<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Elias,<br><br>Mea Culpa,<br><br>You are quite right. Your understanding of HA queues is better than<br>mine. However, AFAICS the STOMP adapter doesn't present<br>the consumer_cancel_notify capability to the (Erlang) connection, so<br>will not receive a notification when the consumer is cancelled.<br><br>The STOMP client will think that the subscription is sound even if the<br>underlying consumer was cancelled. We can probably do better than this.<br><br>Although the STOMP client will stop receiving messages, I would not<br>characterise this as 'dangerous', merely frustrating.<br><br>Can you say what you think the correct STOMP behaviour ought to be if a<br>subscription's consumer is unilaterally cancelled? I'm tempted to simply<br>send an ERROR frame and simulate an UNSUBSCRIBE,<br>leaving the STOMP client to recover however it thinks fit.<br><div><br class="webkit-block-placeholder"></div><div>
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><span class="Apple-style-span" style="font-family: Georgia; ">Steve Powell</span><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div><div style="font-family: Helvetica; "><font class="Apple-style-span" face="Georgia"><i><a href="mailto:steve@rabbitmq.com">steve@rabbitmq.com</a></i></font></div></div><div style="font-family: Helvetica; "><div><div><font class="Apple-style-span" face="Georgia" size="2"><span class="Apple-style-span" style="font-size: 10px; ">[</span><i>wrk</i><span class="Apple-style-span" style="font-size: 10px; ">: +44-2380-111-528] [</span><i>mob</i><span class="Apple-style-span" style="font-size: 10px; ">: +44-7815-838-558]</span></font></div><div style="font-size: 12px; "><font class="Apple-style-span" face="arial" size="3"><span class="Apple-style-span" style="border-collapse: collapse; font-size: 13px; "><i></i></span><i></i></font></div></div></div></span></span></span>
</div>
<br><div><div>On 2 Jul 2012, at 17:21, Elias Levy wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div class="gmail_quote">On Mon, Jul 2, 2012 at 8:50 AM, Steve Powell <span dir="ltr"><<a href="mailto:spowell@vmware.com" target="_blank">spowell@vmware.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="word-wrap:break-word"><div><div>STOMP doesn't know that a queue is HA and will not mend a broken</div><div>subscription; however, the subscription shouldn't be broken unless the</div><div>broker connected to goes down, in which case the connection will be</div>
<div>lost, the STOMP session will fail, and the subscription with it.</div></div></div></blockquote><div><br></div><div>Why do you say that the subscription will not be broken unless the broker connected to (I assume by the STOMP client) goes down?</div>
<div><br></div><div>My understanding is that with a HA queue if the node hosting the HA queue master goes down, the new promoted HA queue master considers all previous subscriptions to have been disconnected, and issues a consumer cancelation to all consumers of those subscriptions that support the feature. Thus, a consumer that does not support consumer cancelation will believe his subscription to the HA queue is still valid and wait indefinitely for messages that will never arrive.</div>
<div><br></div><div>Am I wrong?</div><div><br></div><div>By this logic, if the RMQ STOMP proxy does not handle consumer cancelations, then its rather dangerous to use it to consume from a HA queue.</div><div><br></div><div>
Elias Levy</div></div>
</blockquote></div><br></body></html>