Cool, thanks for taking another look at it. On Fri, Dec 5, 2014 at 8:22 AM, Gary Tully <gary.tu...@gmail.com> wrote:
> It looks like my bad w.r.t CLIENT_ACK, my focus was on the tck and > transaction semantics. > For folks who use the rar managed connection factory in plain jms mode > there is a need to control the ack mode. > I added connection info param useSessionArgs to allow that. > - CLIENT_ACKNOWLEDGE mode support should be back in 5.11 > https://issues.apache.org/jira/browse/AMQ-5264 > https://git-wip-us.apache.org/repos/asf?p=activemq.git;a=commit;h=9e139017 > > On 25 November 2014 at 15:47, Tim Bain <tb...@alumni.duke.edu> wrote: > > > Gary Tully, does the first change Sergiy referenced ( > > > > > http://mail-archives.apache.org/mod_mbox/activemq-commits/201403.mbox/%3c58f67097f342495e921e1a25e951a...@git.apache.org%3E > > ) > > really disable CLIENT_ACKNOWLEDGE from 5.10 onward, or is he > > misunderstanding the change you made? If he's got it right, can you > please > > explain why that option is no longer supported? > > > > On Tue, Nov 4, 2014 at 7:37 AM, sbarlabanov < > cont...@sergiy-barlabanov.de> > > wrote: > > > > > I double checked everything and did a little bit debugging. > > > According to the current state of ActiveMQ code (5.10) , it may indeed > > > loose > > > acknowledgements. > > > > > > 1. Since 5.10 CLIENT_ACKNOWLEDGE is ignored in the application server - > > see > > > the commit adb49f56 by Gary from 15.03.2014. This was quite a strange > > > commit, since this was a very important change breaking the previous > > > behavior even if it had not been really spec conform - it did work > since > > > years and suddenly it was changed without any corresponding Jira and > any > > > public information. > > > Now AUTO_ACKNOWLEDGE is used instead. > > > > > > 2. Despite http://activemq.apache.org/async-sends.html stating that > > > persistent messages are sent synchronously outside a transaction, the > > ACKs > > > are sent ASYnchronously outside a transaction in an application server > by > > > default (and I did not find any property which would change this > > behavior). > > > Since the ACKs are sent asynchronously, they may be lost obviously. And > > the > > > corresponding messages will be redelivered. This is quite a big pain > > since > > > everybody would expect an acknowledge of a persistent message to be > > > synchronous regardless whether it is AUTO_ACK or CLIENT_ACK. > > > > > > So the workaround in our case is to use JTA transactions instead of > > > CLIENT_ACKNOWLEDGE and Message#acknowledge. This would be at least more > > > spec > > > conform. > > > > > > But nevertheless it would be nice to see any comments from ActiveMQ > > > developers about points 1 and 2 I described above. > > > > > > > > > > > > -- > > > View this message in context: > > > > > > http://activemq.2283324.n4.nabble.com/ActiveMQ-redelivering-acknowledged-messages-tp4686898p4686933.html > > > Sent from the ActiveMQ - User mailing list archive at Nabble.com. > > > > > >