Re: Review Request: Abstraction for SASL server role that is not tied to 0-10

2012-11-14 Thread Gordon Sim


 On Nov. 2, 2012, 6:57 a.m., mick goulish wrote:
  /trunk/qpid/cpp/src/qpid/NullSaslServer.cpp, line 41
  https://reviews.apache.org/r/7565/diff/1/?file=176223#file176223line41
 
  I feel kind of funny about throwing for an error in an input to the 
  system -- but definitely should log it.info?  error?

Committed a minor adjustment to log this and return the failure code.


- Gordon


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/7565/#review13029
---


On Oct. 12, 2012, 4:47 p.m., Gordon Sim wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/7565/
 ---
 
 (Updated Oct. 12, 2012, 4:47 p.m.)
 
 
 Review request for qpid, michael goulish, Ted Ross, and mick goulish.
 
 
 Description
 ---
 
 The current broker::SaslAuthenticator mixes 0-10 protocol handshaking with 
 the sasl interactions. This patch adds a cleaner abstraction of the server 
 role in SASL along side that already in place for the client. This is then 
 used in the 1.0 SASL implementation.
 
 (Note this patch assumes and partially includes 
 https://reviews.apache.org/r/7562/ as I could not find an easy way to 
 separate out commits in git into review-board compatible patches).
 
 
 This addresses bug QPID-4368.
 https://issues.apache.org/jira/browse/QPID-4368
 
 
 Diffs
 -
 
   /trunk/qpid/cpp/src/CMakeLists.txt 1397295 
   /trunk/qpid/cpp/src/Makefile.am 1397295 
   /trunk/qpid/cpp/src/qpid/NullSaslServer.h PRE-CREATION 
   /trunk/qpid/cpp/src/qpid/NullSaslServer.cpp PRE-CREATION 
   /trunk/qpid/cpp/src/qpid/Sasl.h 1397295 
   /trunk/qpid/cpp/src/qpid/SaslFactory.h 1397295 
   /trunk/qpid/cpp/src/qpid/SaslFactory.cpp 1397295 
   /trunk/qpid/cpp/src/qpid/SaslServer.h PRE-CREATION 
 
 Diff: https://reviews.apache.org/r/7565/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Gordon Sim
 




Using script-native drivers for Proton messenger bindings

2012-11-14 Thread Ted Ross
One of the problems we've had for a long time with wrapped bindings is 
the mismatch of threading models.  For example, a Ruby program using an 
extension module written in C/C++ will hang if a call into the extension 
blocks.  This is because the extension uses pthreads and the host 
program uses greenthreads (i.e. some layered threading mechanism in 
the scripting language).  This is also an issue for Python (and probably 
every other scripting language).


The proper solution for proton/messenger (which necessarily has a few 
blocking calls) is to provide (or allow the developer to provide) a 
driver written in the scripting language using the same threading 
library that their program uses.


The proton code structure allows for such a strategy, but the packaging 
does not.  I think that the proton project should make the necessary 
adjustments to encourage developers to contribute native drivers for 
Ruby, Python-eventlet, etc.


I'm interested in others' thoughts on this and what would be necessary 
to make this happen.


-Ted


-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Resolved] (QPID-4428) HA add UUID tag to avoid using an out of date queue.

2012-11-14 Thread Alan Conway (JIRA)

 [ 
https://issues.apache.org/jira/browse/QPID-4428?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alan Conway resolved QPID-4428.
---

   Resolution: Fixed
Fix Version/s: 0.19

Fixed on trunk:
r1409241 | QPID-4428: HA add UUID tag to avoid using an out of date 
queue/exchange.

 HA add UUID tag to avoid using an out of date queue.
 

 Key: QPID-4428
 URL: https://issues.apache.org/jira/browse/QPID-4428
 Project: Qpid
  Issue Type: Bug
  Components: C++ Clustering
Affects Versions: 0.19
Reporter: Alan Conway
Assignee: Alan Conway
 Fix For: 0.19


 Here's the scenario: we have a cluster with primary A and backups B and C. 
 There is a queue Q that is replicated to both. Now A dies and B takes over as 
 primary. Before C has connected to B, a client destroys Q and creates a new 
 queue with the same name, Q. When C does connect it sees a queue named Q and 
 mistakenly assumes it is the same queue as it's own Q - so it has an 
 incorrect replica of Q. The same scenario applies to exchanges.
 The fix is to tag queues and exchanges with a UUID, so backups can identify 
 that the queue has changed even if the name is the same.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



Re: Using script-native drivers for Proton messenger bindings

2012-11-14 Thread Darryl L. Pierce
On Wed, Nov 14, 2012 at 10:54:45AM -0500, Ted Ross wrote:
 One of the problems we've had for a long time with wrapped bindings
 is the mismatch of threading models.  For example, a Ruby program
 using an extension module written in C/C++ will hang if a call into
 the extension blocks.  This is because the extension uses pthreads
 and the host program uses greenthreads (i.e. some layered
 threading mechanism in the scripting language).  This is also an
 issue for Python (and probably every other scripting language).
 
 The proper solution for proton/messenger (which necessarily has a
 few blocking calls) is to provide (or allow the developer to
 provide) a driver written in the scripting language using the same
 threading library that their program uses.
 
 The proton code structure allows for such a strategy, but the
 packaging does not.  I think that the proton project should make the
 necessary adjustments to encourage developers to contribute native
 drivers for Ruby, Python-eventlet, etc.
 
 I'm interested in others' thoughts on this and what would be
 necessary to make this happen.

I'm not sure I follow what is meant by the packaging does not. Can you
be more specific there?

-- 
Darryl L. Pierce, Sr. Software Engineer @ Red Hat, Inc.
Delivering value year after year.
Red Hat ranks #1 in value among software vendors.
http://www.redhat.com/promo/vendor/



pgp5ujoUfSC3b.pgp
Description: PGP signature


Re: 0.20 release update - beta postponed, alpha 2 available

2012-11-14 Thread Gordon Sim

On 11/02/2012 12:28 AM, Justin Ross wrote:

Hi, folks.  I have updated our schedule on the release page to reflect
the previously discussed postponement.  The 0.20 beta date is now
November 14th.


If possible, I'd like a little more time to wrap up the AMQP 1.0 work 
for c++ for the 0.20 release (even another day or so would make a big 
difference).


I'm happy to make the changes on a release branch if people are keen to 
get the trunk unfrozen again. The changes would be confined to the 1.0 
implementation code (which incidentally was broken by QPID-4272, though 
I have fixes ready for that).


-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Updated] (QPID-4424) C++ Broker on Windows - Assertion Failed: !dispatcher - PollableQueue.h line 136

2012-11-14 Thread Andrew Stitcher (JIRA)

 [ 
https://issues.apache.org/jira/browse/QPID-4424?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrew Stitcher updated QPID-4424:
--

Priority: Blocker  (was: Major)

 C++ Broker on Windows - Assertion Failed: !dispatcher - PollableQueue.h line 
 136
 

 Key: QPID-4424
 URL: https://issues.apache.org/jira/browse/QPID-4424
 Project: Qpid
  Issue Type: Bug
  Components: C++ Broker
Affects Versions: 0.18
 Environment: Windows Server 2008 R2 64-bit system
 Visual Studio 2010 32-bit executable
Reporter: Chuck Rolke
Priority: Blocker

 Start broker with 'qpidd --auth no --no-data-dir'.
 Sit for 15 or so seconds. No external connections from clients. No cluster.
 Assert happens.
 Stack at assert time:
   msvcr100d.dll!_NMSG_WRITE(int rterrnum=10)  Line 217C
   msvcr100d.dll!abort()  Line 61 + 0x7 bytes  C
   msvcr100d.dll!_wassert(const wchar_t * expr=0x5ff25504, const wchar_t * 
 filename=0x5ff25480, unsigned int lineno=136)  Line 153 C
  
  qpidbrokerd.dll!qpid::sys::PollableQueuestd::pairboost::shared_ptrqpid::broker::Exchange,qpid::broker::Message
   ::dispatch(qpid::sys::PollableCondition  cond={...})  Line 136 + 0x36 
  bytes   C++
   
 qpidbrokerd.dll!boost::_mfi::mf1void,qpid::sys::PollableQueuestd::pairboost::shared_ptrqpid::broker::Exchange,qpid::broker::Message
  ,qpid::sys::PollableCondition 
 ::operator()(qpid::sys::PollableQueuestd::pairboost::shared_ptrqpid::broker::Exchange,qpid::broker::Message
   * p=0x00c72b80, qpid::sys::PollableCondition  a1={...})  Line 165 + 0x10 
 bytes   C++
   
 qpidbrokerd.dll!boost::_bi::list2boost::_bi::valueqpid::sys::PollableQueuestd::pairboost::shared_ptrqpid::broker::Exchange,qpid::broker::Message
   *,boost::arg1 
 ::operator()boost::_mfi::mf1void,qpid::sys::PollableQueuestd::pairboost::shared_ptrqpid::broker::Exchange,qpid::broker::Message
  ,qpid::sys::PollableCondition 
 ,boost::_bi::list1qpid::sys::PollableCondition  (boost::_bi::typevoid 
 __formal={...}, 
 boost::_mfi::mf1void,qpid::sys::PollableQueuestd::pairboost::shared_ptrqpid::broker::Exchange,qpid::broker::Message
  ,qpid::sys::PollableCondition   f={...}, 
 boost::_bi::list1qpid::sys::PollableCondition   a={...}, 
 boost::_bi::typevoid __formal={...})  Line 314C++
   
 qpidbrokerd.dll!boost::_bi::bind_tvoid,boost::_mfi::mf1void,qpid::sys::PollableQueuestd::pairboost::shared_ptrqpid::broker::Exchange,qpid::broker::Message
  ,qpid::sys::PollableCondition 
 ,boost::_bi::list2boost::_bi::valueqpid::sys::PollableQueuestd::pairboost::shared_ptrqpid::broker::Exchange,qpid::broker::Message
   *,boost::arg1  
 ::operator()qpid::sys::PollableCondition(qpid::sys::PollableCondition  
 a1={...})  Line 33  C++
   
 qpidbrokerd.dll!boost::detail::function::void_function_obj_invoker1boost::_bi::bind_tvoid,boost::_mfi::mf1void,qpid::sys::PollableQueuestd::pairboost::shared_ptrqpid::broker::Exchange,qpid::broker::Message
  ,qpid::sys::PollableCondition 
 ,boost::_bi::list2boost::_bi::valueqpid::sys::PollableQueuestd::pairboost::shared_ptrqpid::broker::Exchange,qpid::broker::Message
   *,boost::arg1  ,void,qpid::sys::PollableCondition 
 ::invoke(boost::detail::function::function_buffer  function_obj_ptr={...}, 
 qpid::sys::PollableCondition  a0={...})  Line 154   C++
   qpidcommond.dll!boost::function1void,qpid::sys::PollableCondition 
 ::operator()(qpid::sys::PollableCondition  a0={...})  Line 760 + 0x1a 
 bytes   C++
   
 qpidcommond.dll!qpid::sys::PollableConditionPrivate::dispatch(qpid::sys::windows::AsynchIoResult
  * result=0x00cad6e0)  Line 81  C++
   
 qpidcommond.dll!boost::_mfi::mf1void,qpid::sys::PollableConditionPrivate,qpid::sys::windows::AsynchIoResult
  *::operator()(qpid::sys::PollableConditionPrivate * p=0x00c72cd0, 
 qpid::sys::windows::AsynchIoResult * a1=0x00cad6e0)  Line 165 + 0x10 bytes
   C++
   
 qpidcommond.dll!boost::_bi::list2boost::_bi::valueqpid::sys::PollableConditionPrivate
  *,boost::arg1 
 ::operator()boost::_mfi::mf1void,qpid::sys::PollableConditionPrivate,qpid::sys::windows::AsynchIoResult
  *,boost::_bi::list1qpid::sys::windows::AsynchIoResult *  
 (boost::_bi::typevoid __formal={...}, 
 boost::_mfi::mf1void,qpid::sys::PollableConditionPrivate,qpid::sys::windows::AsynchIoResult
  *  f={...}, boost::_bi::list1qpid::sys::windows::AsynchIoResult *   
 a={...}, boost::_bi::typevoid __formal={...})  Line 314  C++
   
 qpidcommond.dll!boost::_bi::bind_tvoid,boost::_mfi::mf1void,qpid::sys::PollableConditionPrivate,qpid::sys::windows::AsynchIoResult
  *,boost::_bi::list2boost::_bi::valueqpid::sys::PollableConditionPrivate 
 *,boost::arg1  ::operator()qpid::sys::windows::AsynchIoResult 
 *(qpid::sys::windows::AsynchIoResult *  a1=0x00cad6e0)  Line 33   C++
   
 

[jira] [Commented] (QPID-4424) C++ Broker on Windows - Assertion Failed: !dispatcher - PollableQueue.h line 136

2012-11-14 Thread Andrew Stitcher (JIRA)

[ 
https://issues.apache.org/jira/browse/QPID-4424?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13497277#comment-13497277
 ] 

Andrew Stitcher commented on QPID-4424:
---

I think this regression was caused by r1404590.

A work around for this bug is to run the broker without management (-m0)

 C++ Broker on Windows - Assertion Failed: !dispatcher - PollableQueue.h line 
 136
 

 Key: QPID-4424
 URL: https://issues.apache.org/jira/browse/QPID-4424
 Project: Qpid
  Issue Type: Bug
  Components: C++ Broker
Affects Versions: 0.18
 Environment: Windows Server 2008 R2 64-bit system
 Visual Studio 2010 32-bit executable
Reporter: Chuck Rolke
Priority: Blocker

 Start broker with 'qpidd --auth no --no-data-dir'.
 Sit for 15 or so seconds. No external connections from clients. No cluster.
 Assert happens.
 Stack at assert time:
   msvcr100d.dll!_NMSG_WRITE(int rterrnum=10)  Line 217C
   msvcr100d.dll!abort()  Line 61 + 0x7 bytes  C
   msvcr100d.dll!_wassert(const wchar_t * expr=0x5ff25504, const wchar_t * 
 filename=0x5ff25480, unsigned int lineno=136)  Line 153 C
  
  qpidbrokerd.dll!qpid::sys::PollableQueuestd::pairboost::shared_ptrqpid::broker::Exchange,qpid::broker::Message
   ::dispatch(qpid::sys::PollableCondition  cond={...})  Line 136 + 0x36 
  bytes   C++
   
 qpidbrokerd.dll!boost::_mfi::mf1void,qpid::sys::PollableQueuestd::pairboost::shared_ptrqpid::broker::Exchange,qpid::broker::Message
  ,qpid::sys::PollableCondition 
 ::operator()(qpid::sys::PollableQueuestd::pairboost::shared_ptrqpid::broker::Exchange,qpid::broker::Message
   * p=0x00c72b80, qpid::sys::PollableCondition  a1={...})  Line 165 + 0x10 
 bytes   C++
   
 qpidbrokerd.dll!boost::_bi::list2boost::_bi::valueqpid::sys::PollableQueuestd::pairboost::shared_ptrqpid::broker::Exchange,qpid::broker::Message
   *,boost::arg1 
 ::operator()boost::_mfi::mf1void,qpid::sys::PollableQueuestd::pairboost::shared_ptrqpid::broker::Exchange,qpid::broker::Message
  ,qpid::sys::PollableCondition 
 ,boost::_bi::list1qpid::sys::PollableCondition  (boost::_bi::typevoid 
 __formal={...}, 
 boost::_mfi::mf1void,qpid::sys::PollableQueuestd::pairboost::shared_ptrqpid::broker::Exchange,qpid::broker::Message
  ,qpid::sys::PollableCondition   f={...}, 
 boost::_bi::list1qpid::sys::PollableCondition   a={...}, 
 boost::_bi::typevoid __formal={...})  Line 314C++
   
 qpidbrokerd.dll!boost::_bi::bind_tvoid,boost::_mfi::mf1void,qpid::sys::PollableQueuestd::pairboost::shared_ptrqpid::broker::Exchange,qpid::broker::Message
  ,qpid::sys::PollableCondition 
 ,boost::_bi::list2boost::_bi::valueqpid::sys::PollableQueuestd::pairboost::shared_ptrqpid::broker::Exchange,qpid::broker::Message
   *,boost::arg1  
 ::operator()qpid::sys::PollableCondition(qpid::sys::PollableCondition  
 a1={...})  Line 33  C++
   
 qpidbrokerd.dll!boost::detail::function::void_function_obj_invoker1boost::_bi::bind_tvoid,boost::_mfi::mf1void,qpid::sys::PollableQueuestd::pairboost::shared_ptrqpid::broker::Exchange,qpid::broker::Message
  ,qpid::sys::PollableCondition 
 ,boost::_bi::list2boost::_bi::valueqpid::sys::PollableQueuestd::pairboost::shared_ptrqpid::broker::Exchange,qpid::broker::Message
   *,boost::arg1  ,void,qpid::sys::PollableCondition 
 ::invoke(boost::detail::function::function_buffer  function_obj_ptr={...}, 
 qpid::sys::PollableCondition  a0={...})  Line 154   C++
   qpidcommond.dll!boost::function1void,qpid::sys::PollableCondition 
 ::operator()(qpid::sys::PollableCondition  a0={...})  Line 760 + 0x1a 
 bytes   C++
   
 qpidcommond.dll!qpid::sys::PollableConditionPrivate::dispatch(qpid::sys::windows::AsynchIoResult
  * result=0x00cad6e0)  Line 81  C++
   
 qpidcommond.dll!boost::_mfi::mf1void,qpid::sys::PollableConditionPrivate,qpid::sys::windows::AsynchIoResult
  *::operator()(qpid::sys::PollableConditionPrivate * p=0x00c72cd0, 
 qpid::sys::windows::AsynchIoResult * a1=0x00cad6e0)  Line 165 + 0x10 bytes
   C++
   
 qpidcommond.dll!boost::_bi::list2boost::_bi::valueqpid::sys::PollableConditionPrivate
  *,boost::arg1 
 ::operator()boost::_mfi::mf1void,qpid::sys::PollableConditionPrivate,qpid::sys::windows::AsynchIoResult
  *,boost::_bi::list1qpid::sys::windows::AsynchIoResult *  
 (boost::_bi::typevoid __formal={...}, 
 boost::_mfi::mf1void,qpid::sys::PollableConditionPrivate,qpid::sys::windows::AsynchIoResult
  *  f={...}, boost::_bi::list1qpid::sys::windows::AsynchIoResult *   
 a={...}, boost::_bi::typevoid __formal={...})  Line 314  C++
   
 qpidcommond.dll!boost::_bi::bind_tvoid,boost::_mfi::mf1void,qpid::sys::PollableConditionPrivate,qpid::sys::windows::AsynchIoResult
  

QPID-4424: C++ Broker on Windows - Assertion Failed

2012-11-14 Thread Andrew Stitcher
I'd just like to point out this bug because I think it hasn't got any
attention yet, but is a serious regression that crashes a windows
broker.

As far as I can tell it was caused by r1404590 - Git SHA 00935fcbf0cc
(QPID-4394: HA QMF events out of order).

This is the first time, as far as I can tell, that the Windows
PollableQueue code has been used at all, so although the code compiles
it was never used before and it fails.

Andrew



-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



Re: Review Request: proton-c: support for AMQP 1.0 connection idle timeout negotiation and keepalives

2012-11-14 Thread Rafael Schloming

---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/8021/#review13432
---

Ship it!


Ship It!

- Rafael Schloming


On Nov. 13, 2012, 5:02 p.m., Kenneth Giusti wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/8021/
 ---
 
 (Updated Nov. 13, 2012, 5:02 p.m.)
 
 
 Review request for qpid, Andrew Stitcher and Rafael Schloming.
 
 
 Description
 ---
 
 Attached is an attempt at adding Connection idle-time-out support to 
 Proton-c, as defined by the AMQP 1.0 spec. 
 
 Notes:
 
 1) Allows configuration of the AMQP Connection idle timeout locally, and 
 support for receiving the remote's configured idle timeout.
 2) Will send periodic keepalive (empty) frames to satisfy remote's idle 
 requirements, if needed.
 3) Will close the connection if remote violates the locally configured idle 
 deadline
 
 
 This addresses bug proton-111.
 https://issues.apache.org/jira/browse/proton-111
 
 
 Diffs
 -
 
   /proton/trunk/proton-c/CMakeLists.txt 1408810 
   /proton/trunk/proton-c/bindings/python/proton.py 1408810 
   /proton/trunk/proton-c/include/proton/driver.h 1408810 
   /proton/trunk/proton-c/include/proton/engine.h 1408810 
   /proton/trunk/proton-c/include/proton/types.h 1408810 
   /proton/trunk/proton-c/src/dispatcher/dispatcher.h 1408810 
   /proton/trunk/proton-c/src/dispatcher/dispatcher.c 1408810 
   /proton/trunk/proton-c/src/driver.c 1408810 
   /proton/trunk/proton-c/src/engine/engine-internal.h 1408810 
   /proton/trunk/proton-c/src/engine/engine.c 1408810 
   /proton/trunk/proton-c/src/messenger.c 1408810 
   /proton/trunk/proton-c/src/util.h 1408810 
   /proton/trunk/proton-c/src/util.c 1408810 
   /proton/trunk/proton-j/src/main/scripts/proton.py 1408810 
   /proton/trunk/tests/proton_tests/engine.py 1408810 
 
 Diff: https://reviews.apache.org/r/8021/diff/
 
 
 Testing
 ---
 
 Added an engine test case to verify that the timers are tracked, and the 
 action when timers fire, but I need to add a test at the driver level, too.
 
 
 Thanks,
 
 Kenneth Giusti
 




Re: QPID-4424: C++ Broker on Windows - Assertion Failed

2012-11-14 Thread Steve Huston
Is anyone looking at this? If not, I'll try to have a look later today.

On 11/14/12 12:50 PM, Andrew Stitcher astitc...@redhat.com wrote:

I'd just like to point out this bug because I think it hasn't got any
attention yet, but is a serious regression that crashes a windows
broker.

As far as I can tell it was caused by r1404590 - Git SHA 00935fcbf0cc
(QPID-4394: HA QMF events out of order).

This is the first time, as far as I can tell, that the Windows
PollableQueue code has been used at all, so although the code compiles
it was never used before and it fails.

Andrew



-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Created] (QPID-4436) HA fix qpidd crash when mgmt-enable=no

2012-11-14 Thread Alan Conway (JIRA)
Alan Conway created QPID-4436:
-

 Summary: HA fix qpidd crash when mgmt-enable=no
 Key: QPID-4436
 URL: https://issues.apache.org/jira/browse/QPID-4436
 Project: Qpid
  Issue Type: Bug
  Components: C++ Clustering
Reporter: Alan Conway
Assignee: Alan Conway


See also https://bugzilla.redhat.com/show_bug.cgi?id=875660

qpidd crashes if configured with mgmt-enable=no and loading the HA plugin. 
Caused by incorrect assumption in HA that management is enabled.
Added a fix to skip HA initialization if management is off.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Updated] (QPID-3291) Broker incorrectly sets TTL to 0 for messages about to expire

2012-11-14 Thread Justin Ross (JIRA)

 [ 
https://issues.apache.org/jira/browse/QPID-3291?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Justin Ross updated QPID-3291:
--

Fix Version/s: 0.12

 Broker incorrectly sets TTL to 0 for messages about to expire
 -

 Key: QPID-3291
 URL: https://issues.apache.org/jira/browse/QPID-3291
 Project: Qpid
  Issue Type: Bug
  Components: C++ Broker
Reporter: Andy Goldstein
 Fix For: 0.12

 Attachments: QPID-3291.patch


 When qpid::broker::Message::adjustTtl() is called prior to delivering a 
 message to a peer, it adjusts the TTL down to reflect the time the message 
 spent in the broker.  For a message that has expired, it sets the TTL to 1.  
 The current logic calculates the remaining TTL as the difference, in 
 nanoseconds, between the current time and the expiration time.  If this value 
 is greater than 0, it converts the remaining TTL to milliseconds and sets it 
 on the message; otherwise, it sets the TTL to 1.
 This logic could result in a message that is about to expire receiving a TTL 
 of 0.  This would occur if the remaining TTL is somewhere between 1 and 
 1,000,000 ns.  When the division occurs to convert to ms, it would result in 
 some number between 0 and 1, which is rounded down to 0.  Instead, this value 
 should be 1.
 To fix this, the remaining TTL should be compared against 1,000,000.  If it 
 is = to that number, then the conversion can proceed successfully; 
 otherwise, the TTL should be set to 1.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Updated] (QPID-4379) HA does not properly handle expired messages

2012-11-14 Thread Justin Ross (JIRA)

 [ 
https://issues.apache.org/jira/browse/QPID-4379?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Justin Ross updated QPID-4379:
--

Fix Version/s: 0.19

  HA does not properly handle expired messages
 -

 Key: QPID-4379
 URL: https://issues.apache.org/jira/browse/QPID-4379
 Project: Qpid
  Issue Type: Bug
  Components: C++ Clustering
Affects Versions: 0.18
Reporter: Alan Conway
Assignee: Alan Conway
 Fix For: 0.19


 Description of problem:
 If a message expires in a queue before the HA replicator is able to browse 
 the message, the message will be skipped and not replicated.  This results in 
 the expired message's async completion never being finalized which can stall 
 the original source of the expired message since it will never receive a 
 completion.
 Oct 18 10:56:02 itcm24 qpidd[48819]: 2012-10-18 10:56:02 [Broker] debug 
 Browser skipping message from 'QueueXyz'
 Version-Release number of selected component (if applicable):
 Qpid 0.18
 How reproducible:
 Frequently
 Steps to Reproduce:
 1. It's a race condition between a message expiring in the queue and the HA 
 browsing subscription being able to replicate it.
   
 Actual results:
 The expired message is skipped and its async completion is never finalized.
 Expected results:
 While it is not truly necessary for the HA replicating subscription to 
 replicate an expired message, the async completion needs to be finished.
 Additional info:
 see also https://bugzilla.redhat.com/show_bug.cgi?id=868360

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Updated] (QPID-4360) Non-ready HA broker can be incorrectly promoted

2012-11-14 Thread Justin Ross (JIRA)

 [ 
https://issues.apache.org/jira/browse/QPID-4360?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Justin Ross updated QPID-4360:
--

Fix Version/s: 0.19

  Non-ready HA broker can be incorrectly promoted
 

 Key: QPID-4360
 URL: https://issues.apache.org/jira/browse/QPID-4360
 Project: Qpid
  Issue Type: Bug
  Components: C++ Clustering
Affects Versions: 0.18
Reporter: Alan Conway
Assignee: Alan Conway
 Fix For: 0.19


 Description of problem:
 rgmanager can promote a non-ready backup HA broker to primary when other 
 backup brokers are available in the ready state.  This can result in loss of 
 messages and broker configuration.  Additionally, this can cause the 
 previously ready backups to throw exceptions when connecting to the new 
 primary:
 Sep 20 10:17:18 itcm12 qpidd[10871]: 2012-09-20 10:17:18 [HA] critical Backup 
 queue Queue1: Replication failed: Invalid position move, preceeds messages
 Sep 20 10:17:18 itcm12 qpidd[10871]: 2012-09-20 10:17:18 [Protocol] error 
 Unexpected exception: Invalid position move, preceeds messages
 Sep 20 10:17:18 itcm12 qpidd[10871]: 2012-09-20 10:17:18 [Broker] error 
 Connection 10.3.100.12:43837-10.3.100.105:9006 closed by error: Invalid 
 position move, preceeds messages(501)
 Version-Release number of selected component (if applicable):
 Qpid 0.18
 How reproducible:
 100%
 Steps to Reproduce:
 1. Start a primary and backup broker
 2. Inject messages into the primary and ensure messages replicate to backup
 3. Restart the primary broker and manually re-promote to primary
   
 Actual results:
 Restarted broker becomes primary
 Expected results:
 Restarted broker refuses to become primary since at least one ready backup 
 was discovered within some timeout

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Updated] (QPID-3351) Provide ability to specify the network interface qpidd should bind to

2012-11-14 Thread Andrew Stitcher (JIRA)

 [ 
https://issues.apache.org/jira/browse/QPID-3351?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrew Stitcher updated QPID-3351:
--

Assignee: Andrew Stitcher

 Provide ability to specify the network interface qpidd should bind to
 -

 Key: QPID-3351
 URL: https://issues.apache.org/jira/browse/QPID-3351
 Project: Qpid
  Issue Type: New Feature
  Components: C++ Broker
Reporter: Andy Goldstein
Assignee: Andrew Stitcher
Priority: Minor

 Currently, qpidd binds to all network interfaces, which may not be desirable. 
  It would be nice to be able to specify the interface or interfaces to listen 
 on.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



Review Request: Fix for Thread object's operator bool()

2012-11-14 Thread Steve Huston

---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/8072/
---

Review request for qpid, Andrew Stitcher, Chug Rolke, and Cliff Jansen.


Description
---

The assert in QPID-4424 was a check for a Thread object not set. This change 
resolves that problem, but could it really be that easy? Why doesn't the Linux 
code fail the same way?


This addresses bug QPID-4424.
https://issues.apache.org/jira/browse/QPID-4424


Diffs
-

  
http://svn.apache.org/repos/asf/qpid/trunk/qpid/cpp/src/qpid/sys/windows/Thread.cpp
 1409628 

Diff: https://reviews.apache.org/r/8072/diff/


Testing
---

Original reproducing test case in QPID-4424 (run broker quiet for 15 seconds). 
I set a breakpoint at the assert and stepped across it without error.


Thanks,

Steve Huston



[jira] [Created] (QPID-4437) C++ compile failure on RHEL 5 g++4.1.2

2012-11-14 Thread Steve Huston (JIRA)
Steve Huston created QPID-4437:
--

 Summary: C++ compile failure on RHEL 5 g++4.1.2
 Key: QPID-4437
 URL: https://issues.apache.org/jira/browse/QPID-4437
 Project: Qpid
  Issue Type: Bug
  Components: C++ Broker, C++ Client
Affects Versions: 0.19
 Environment: RHEL 5, cmake build, g++ 4.1.2
Reporter: Steve Huston


Since Monday/Tuesday this week getting a compile error:
[ 64%] Building CXX object 
src/CMakeFiles/qpidmessaging.dir/qpid/messaging/ProtocolRegistry.o
cc1plus: warnings being treated as errors
/qpidbuilds/trunk/qpid/cpp/src/../include/qpid/RangeSet.h: In instantiation of 
‘qpid::RangeSetqpid::framing::SequenceNumber’:
/qpidbuilds/trunk/qpid/cpp/src/../include/qpid/framing/SequenceSet.h:32:   
instantiated from here
/qpidbuilds/trunk/qpid/cpp/src/../include/qpid/RangeSet.h:193: warning: 
lowering visibility of ‘std::ostream qpid::operator(std::ostream, const 
qpid::RangeSetU) [with U = U, T = qpid::framing::SequenceNumber]’ to match 
its type
make[2]: *** 
[src/CMakeFiles/qpidmessaging.dir/qpid/messaging/ProtocolRegistry.o] Error 1
make[1]: *** [src/CMakeFiles/qpidmessaging.dir/all] Error 2
make: *** [all] Error 2


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



Re: Review Request: Fix for Thread object's operator bool()

2012-11-14 Thread Andrew Stitcher

---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/8072/#review13460
---


On the face of it I also can see no reason why bool(impl) should return a 
different result to bool(impl.get != 0) so I'm a little suspicious that this is 
really fixing anything! I guess it depends on the precise behaviour of 
bool(boost::shared_ptrT*) but that should have precisely the same behaviour 
as extracting the T* and comparing with the null pointer.

- Andrew Stitcher


On Nov. 15, 2012, 3:05 a.m., Steve Huston wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/8072/
 ---
 
 (Updated Nov. 15, 2012, 3:05 a.m.)
 
 
 Review request for qpid, Andrew Stitcher, Chug Rolke, and Cliff Jansen.
 
 
 Description
 ---
 
 The assert in QPID-4424 was a check for a Thread object not set. This change 
 resolves that problem, but could it really be that easy? Why doesn't the 
 Linux code fail the same way?
 
 
 This addresses bug QPID-4424.
 https://issues.apache.org/jira/browse/QPID-4424
 
 
 Diffs
 -
 
   
 http://svn.apache.org/repos/asf/qpid/trunk/qpid/cpp/src/qpid/sys/windows/Thread.cpp
  1409628 
 
 Diff: https://reviews.apache.org/r/8072/diff/
 
 
 Testing
 ---
 
 Original reproducing test case in QPID-4424 (run broker quiet for 15 
 seconds). I set a breakpoint at the assert and stepped across it without 
 error.
 
 
 Thanks,
 
 Steve Huston