You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by Gordon Sim <gs...@redhat.com> on 2010/11/12 14:45:54 UTC

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)

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


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