You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by gs...@apache.org on 2010/11/12 14:22:31 UTC
svn commit: r1034393 - in /qpid/trunk/qpid/cpp/src/qpid:
client/amqp0_10/SessionImpl.cpp messaging/Session.cpp
Author: gsim
Date: Fri Nov 12 13:22:31 2010
New Revision: 1034393
URL: http://svn.apache.org/viewvc?rev=1034393&view=rev
Log:
QPID-2940: always request completions from broker on Session::acknowledge(), and always clean up any pending accept records at that time
Modified:
qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/SessionImpl.cpp
qpid/trunk/qpid/cpp/src/qpid/messaging/Session.cpp
Modified: qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/SessionImpl.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/SessionImpl.cpp?rev=1034393&r1=1034392&r2=1034393&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/SessionImpl.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/SessionImpl.cpp Fri Nov 12 13:22:31 2010
@@ -97,7 +97,7 @@ void SessionImpl::acknowledge(bool sync_
//message may be redelivered; i.e. the application cannot delete
//any state necessary for preventing reprocessing of the message
execute<Acknowledge>();
- if (sync_) sync(true);
+ sync(sync_);
}
void SessionImpl::reject(qpid::messaging::Message& m)
@@ -433,6 +433,8 @@ void SessionImpl::syncImpl(bool block)
{
if (block) session.sync();
else session.flush();
+ //cleanup unconfirmed accept records:
+ incoming.pendingAccept();
}
void SessionImpl::commitImpl()
Modified: qpid/trunk/qpid/cpp/src/qpid/messaging/Session.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/messaging/Session.cpp?rev=1034393&r1=1034392&r2=1034393&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/messaging/Session.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/messaging/Session.cpp Fri Nov 12 13:22:31 2010
@@ -39,7 +39,7 @@ Session& Session::operator=(const Sessio
void Session::commit() { impl->commit(); }
void Session::rollback() { impl->rollback(); }
void Session::acknowledge(bool sync) { impl->acknowledge(sync); }
-void Session::acknowledge(Message& m, bool s) { impl->acknowledge(m); if (s) sync(true); }
+void Session::acknowledge(Message& m, bool s) { impl->acknowledge(m); sync(s); }
void Session::reject(Message& m) { impl->reject(m); }
void Session::release(Message& m) { impl->release(m); }
void Session::close() { impl->close(); }
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org
RE: Any chance of getting this in to 0.8 (was Re: svn commit: r1034393 - in /qpid/trunk/qpid/cpp/src/qpid: client/amqp0_10/SessionImpl.cpp messaging/Session.cpp)
Posted by Robbie Gemmell <ro...@gmail.com>.
Great, thanks Gordon.
> -----Original Message-----
> From: Gordon Sim
> Sent: 12 November 2010 19:08
> To: dev@qpid.apache.org
> Subject: Re: Any chance of getting this in to 0.8 (was Re: svn commit:
> r1034393 - in /qpid/trunk/qpid/cpp/src/qpid:
> client/amqp0_10/SessionImpl.cpp messaging/Session.cpp)
>
> On 11/12/2010 04:53 PM, Robbie Gemmell wrote:
> > Hi Gordon,
> >
> > I am happy for the below fix to be included in RC2, please feel free
> > to merge the update across to the branch.
>
> Done, r1034499.
>
> > Andrew has indicated he doesnt think QPID-2674 is really a blocker,
> do
> > you still believe it is?
>
> Yes. It's a critical (though relatively rare) bug and we've known about
> it for 5 months. I don't think we should release without fixing it.
>
> > I would like to see it either fixed or
> > downgraded and pushed out to 0.9 before RC2 is produced (which would
> > be over the weekend).
>
> I've checked in a fix (r1034510) and resolved the Jira.
>
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org
Re: Any chance of getting this in to 0.8 (was Re: svn commit: r1034393
- in /qpid/trunk/qpid/cpp/src/qpid: client/amqp0_10/SessionImpl.cpp messaging/Session.cpp)
Posted by Gordon Sim <gs...@redhat.com>.
On 11/12/2010 04:53 PM, Robbie Gemmell wrote:
> Hi Gordon,
>
> I am happy for the below fix to be included in RC2, please feel free
> to merge the update across to the branch.
Done, r1034499.
> Andrew has indicated he doesnt think QPID-2674 is really a blocker, do
> you still believe it is?
Yes. It's a critical (though relatively rare) bug and we've known about
it for 5 months. I don't think we should release without fixing it.
> I would like to see it either fixed or
> downgraded and pushed out to 0.9 before RC2 is produced (which would
> be over the weekend).
I've checked in a fix (r1034510) and resolved the Jira.
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org
Re: Any chance of getting this in to 0.8 (was Re: svn commit:
r1034393 - in /qpid/trunk/qpid/cpp/src/qpid: client/amqp0_10/SessionImpl.cpp messaging/Session.cpp)
Posted by Robbie Gemmell <ro...@gmail.com>.
Hi Gordon,
I am happy for the below fix to be included in RC2, please feel free
to merge the update across to the branch.
Andrew has indicated he doesnt think QPID-2674 is really a blocker, do
you still believe it is? I would like to see it either fixed or
downgraded and pushed out to 0.9 before RC2 is produced (which would
be over the weekend).
Robbie
On 12 November 2010 13:45, Gordon Sim <gs...@redhat.com> wrote:
> Robbie,
>
> If there is to be a new RC for 0.8, would you be happy including the fix
> below in it? The issue is not critical as there is a workaround. However its
> annoying, the fix is small and low risk and it would be nicer to avoid
> having users hit the issue until the following release.
>
> --Gordon.
>
> On 11/12/2010 01:22 PM, gsim@apache.org wrote:
>>
>> Author: gsim
>> Date: Fri Nov 12 13:22:31 2010
>> New Revision: 1034393
>>
>> URL: http://svn.apache.org/viewvc?rev=1034393&view=rev
>> Log:
>> QPID-2940: always request completions from broker on
>> Session::acknowledge(), and always clean up any pending accept records at
>> that time
>>
>> Modified:
>> qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/SessionImpl.cpp
>> qpid/trunk/qpid/cpp/src/qpid/messaging/Session.cpp
>>
>> Modified: qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/SessionImpl.cpp
>> URL:
>> http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/SessionImpl.cpp?rev=1034393&r1=1034392&r2=1034393&view=diff
>>
>> ==============================================================================
>> --- qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/SessionImpl.cpp
>> (original)
>> +++ qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/SessionImpl.cpp Fri Nov
>> 12 13:22:31 2010
>> @@ -97,7 +97,7 @@ void SessionImpl::acknowledge(bool sync_
>> //message may be redelivered; i.e. the application cannot delete
>> //any state necessary for preventing reprocessing of the message
>> execute<Acknowledge>();
>> - if (sync_) sync(true);
>> + sync(sync_);
>> }
>>
>> void SessionImpl::reject(qpid::messaging::Message& m)
>> @@ -433,6 +433,8 @@ void SessionImpl::syncImpl(bool block)
>> {
>> if (block) session.sync();
>> else session.flush();
>> + //cleanup unconfirmed accept records:
>> + incoming.pendingAccept();
>> }
>>
>> void SessionImpl::commitImpl()
>>
>> Modified: qpid/trunk/qpid/cpp/src/qpid/messaging/Session.cpp
>> URL:
>> http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/messaging/Session.cpp?rev=1034393&r1=1034392&r2=1034393&view=diff
>>
>> ==============================================================================
>> --- qpid/trunk/qpid/cpp/src/qpid/messaging/Session.cpp (original)
>> +++ qpid/trunk/qpid/cpp/src/qpid/messaging/Session.cpp Fri Nov 12 13:22:31
>> 2010
>> @@ -39,7 +39,7 @@ Session& Session::operator=(const Sessio
>> void Session::commit() { impl->commit(); }
>> void Session::rollback() { impl->rollback(); }
>> void Session::acknowledge(bool sync) { impl->acknowledge(sync); }
>> -void Session::acknowledge(Message& m, bool s) { impl->acknowledge(m); if
>> (s) sync(true); }
>> +void Session::acknowledge(Message& m, bool s) { impl->acknowledge(m);
>> sync(s); }
>> void Session::reject(Message& m) { impl->reject(m); }
>> void Session::release(Message& m) { impl->release(m); }
>> void Session::close() { impl->close(); }
>>
>>
>>
>> ---------------------------------------------------------------------
>> Apache Qpid - AMQP Messaging Implementation
>> Project: http://qpid.apache.org
>> Use/Interact: mailto:commits-subscribe@qpid.apache.org
>>
>>
>
>
> ---------------------------------------------------------------------
> Apache Qpid - AMQP Messaging Implementation
> Project: http://qpid.apache.org
> Use/Interact: mailto:dev-subscribe@qpid.apache.org
>
>
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org
Any chance of getting this in to 0.8 (was Re: svn commit: r1034393
- in /qpid/trunk/qpid/cpp/src/qpid: client/amqp0_10/SessionImpl.cpp messaging/Session.cpp)
Posted by Gordon Sim <gs...@redhat.com>.
Robbie,
If there is to be a new RC for 0.8, would you be happy including the fix
below in it? The issue is not critical as there is a workaround. However
its annoying, the fix is small and low risk and it would be nicer to
avoid having users hit the issue until the following release.
--Gordon.
On 11/12/2010 01:22 PM, gsim@apache.org wrote:
> Author: gsim
> Date: Fri Nov 12 13:22:31 2010
> New Revision: 1034393
>
> URL: http://svn.apache.org/viewvc?rev=1034393&view=rev
> Log:
> QPID-2940: always request completions from broker on Session::acknowledge(), and always clean up any pending accept records at that time
>
> Modified:
> qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/SessionImpl.cpp
> qpid/trunk/qpid/cpp/src/qpid/messaging/Session.cpp
>
> Modified: qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/SessionImpl.cpp
> URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/SessionImpl.cpp?rev=1034393&r1=1034392&r2=1034393&view=diff
> ==============================================================================
> --- qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/SessionImpl.cpp (original)
> +++ qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/SessionImpl.cpp Fri Nov 12 13:22:31 2010
> @@ -97,7 +97,7 @@ void SessionImpl::acknowledge(bool sync_
> //message may be redelivered; i.e. the application cannot delete
> //any state necessary for preventing reprocessing of the message
> execute<Acknowledge>();
> - if (sync_) sync(true);
> + sync(sync_);
> }
>
> void SessionImpl::reject(qpid::messaging::Message& m)
> @@ -433,6 +433,8 @@ void SessionImpl::syncImpl(bool block)
> {
> if (block) session.sync();
> else session.flush();
> + //cleanup unconfirmed accept records:
> + incoming.pendingAccept();
> }
>
> void SessionImpl::commitImpl()
>
> Modified: qpid/trunk/qpid/cpp/src/qpid/messaging/Session.cpp
> URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/messaging/Session.cpp?rev=1034393&r1=1034392&r2=1034393&view=diff
> ==============================================================================
> --- qpid/trunk/qpid/cpp/src/qpid/messaging/Session.cpp (original)
> +++ qpid/trunk/qpid/cpp/src/qpid/messaging/Session.cpp Fri Nov 12 13:22:31 2010
> @@ -39,7 +39,7 @@ Session& Session::operator=(const Sessio
> void Session::commit() { impl->commit(); }
> void Session::rollback() { impl->rollback(); }
> void Session::acknowledge(bool sync) { impl->acknowledge(sync); }
> -void Session::acknowledge(Message& m, bool s) { impl->acknowledge(m); if (s) sync(true); }
> +void Session::acknowledge(Message& m, bool s) { impl->acknowledge(m); sync(s); }
> void Session::reject(Message& m) { impl->reject(m); }
> void Session::release(Message& m) { impl->release(m); }
> void Session::close() { impl->close(); }
>
>
>
> ---------------------------------------------------------------------
> Apache Qpid - AMQP Messaging Implementation
> Project: http://qpid.apache.org
> Use/Interact: mailto:commits-subscribe@qpid.apache.org
>
>
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org