<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
11.12.2011 14:14, Alex Grönholm kirjoitti:
<blockquote
cite="mid:20398578.95.1323605677788.JavaMail.geo-discussion-forums@yqfm20"
type="cite">
<div>Sorry for taking this long to respond. I've been otherwise
engaged and forgot about this conversation.<br>
Thank you for your replies.<br>
<br>
<blockquote style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px
solid rgb(204, 204, 204); padding-left: 1ex;"
class="gmail_quote">
<p>If you don't want the server queue requests to be 'lost'
then don't allow the<br>
queues to expire!</p>
<p>On the other hand your clients apparently wait forever. Is
there a reason I<br>
don't understand why the server queues expire but the
clients don't have a<br>
timeout for the responses?</p>
</blockquote>
If the upgrade of the server software fails and the developers
do nothing, the queue expires eventually so that stale requests
are dropped and the clients will start getting proper error
messages informing them of this condition.<br>
This is not the ideal solution of course (per-message TTL and
return notification would be).<br>
<br>
</div>
<blockquote style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px
solid rgb(204, 204, 204); padding-left: 1ex;"
class="gmail_quote">You want requests to either be processed or
(reliably) not processed. You<br>
never want the clients to be in any doubt about whether the
request was<br>
processed or not. So you wait forever in the client. However,
requests that<br>
get discarded never return so the client doesn't know. So you
want expiry to<br>
trigger replies to the clients. (Per-queue message TTLs also
don't return.)</blockquote>
<div><br>
Sounds about right.<br>
<br>
<blockquote style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px
solid rgb(204, 204, 204); padding-left: 1ex;"
class="gmail_quote">Let's see -- how would we do this without
a dead-letter mechanism?</blockquote>
</div>
</blockquote>
Now that the dead-letter mechanism is part of the server, I don't
still don't see how this could be done. The dead lettered RPC
commands would still have to be processed somewhere.<br>
<blockquote
cite="mid:20398578.95.1323605677788.JavaMail.geo-discussion-forums@yqfm20"
type="cite">
<div>
<blockquote style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px
solid rgb(204, 204, 204); padding-left: 1ex;"
class="gmail_quote"> Well, apart<br>
from making the server transactional, it might be useful to
have an 'offline'<br>
server that can take over any server's queue when it fails and
either deal with<br>
the requests [by issuing an 'offline' response?] or arrange
for the server to<br>
be restarted (and/or upgraded).<br>
</blockquote>
<div><br>
This seems fairly complicated. I'll have to look into
transactions to see if they will help in my case.<br>
</div>
</div>
</blockquote>
<br>
</body>
</html>