qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From CLIVE <cl...@ckjltd.co.uk>
Subject messaging API Connection open but Session in error
Date Sun, 08 Jun 2014 13:54:00 GMT
Hi All,

Discovered an edge case in the messaging API that is causing me some 
issues (Using qpid-0.28 on Centos 5.8).

It revolves around the reconnect functionality that is available on the 
qpid::messaging::Connection class. This method is great as it enables 
all the sessions associated with any active Senders/Receivers to get 
reinitialized on a reconnect with a broker, without having to 
close/delete the old Sessions, Senders or Receivers,and create new ones. 
Not all my users use the 'reconnect' options on the connection class, so 
I can just call the reconnect method manually when the application 
discovers a disconnect has occurred. Which is great.

But one of my users has just discovered an edge case where the 
connection can be active but the Session has had an error (i.e. 
delivering a message to an already full queue). Under this condition 
calling reconnect fails, quite rightly, because the connection is 
already open. So I have an active connection but a Session in error. I 
could call close on the connection, but this has the undesired effect of 
closing all the active sessions, something I don't want to do. I would 
like to just reset the error-ed Session, much like the reconnect method 
achieves (it calls ConnectionImpl::resetSessions), but this 
functionality is not directly available on the 
qpid::messaging::Connection or qpid::messaging::Session classes.

Would this kind of Session reset functionality be made available in 
future versions of qpid?

I was looking at patching my current qpid-0.28 source code to provide 
this functionality, can any one think of a reason why exposing this 
functionality might be a bad idea?

Any help/advice gratefully received.

Clive.





---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org


Mime
View raw message