qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Stitcher" <astitc...@apache.org>
Subject Re: Review Request: QPID-4428: HA add UUID tag to avoid using an out of date queue/exchange.
Date Fri, 09 Nov 2012 16:50:16 GMT

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



/trunk/qpid/cpp/include/qpid/framing/FieldValue.h
<https://reviews.apache.org/r/7988/#comment28551>

    I can't see where this is used - is it actually needed?



/trunk/qpid/cpp/include/qpid/types/Variant.h
<https://reviews.apache.org/r/7988/#comment28550>

    I think it's a mistake to make the new operator any different from the existing ones.
    
    it should be exported and not inline viz:
     	
    QPID_TYPES_EXTERN bool operator!=(...);
    
    I think that having inline functions is a bad plan in an exported API/ABI. And qpidmessaging/qpidtypes
is the only semi-official API we have.


- Andrew Stitcher


On Nov. 9, 2012, 3:34 p.m., Alan Conway wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/7988/
> -----------------------------------------------------------
> 
> (Updated Nov. 9, 2012, 3:34 p.m.)
> 
> 
> Review request for qpid.
> 
> 
> Description
> -------
> 
> QPID-4428: HA add UUID tag to avoid using an out of date queue/exchange.
> 
> Imagine a cluster with primary A and backups B and C. A queue Q is created on A
> and replicated to B, C. Now A dies and B takes over as primary. Before C can
> connect to B, a client destroys Q and creates a new queue with the same name.
> When B connects it sees Q and incorrectly assumes it is the same Q that it has
> already replicated. Now C has an inconsistent replica of Q.
> 
> The fix is to tag queues/exchanges with a UUID so a backup can tell if a queue
> is not the same as the one it has already replicated, even if the names are the
> same.  This all also applies to exchanges.
> 
> - Minor imrovements to printing UUIDs in a FieldTable.
> - Fix comparison of void Variants, added operator !=
> 
> 
> Diffs
> -----
> 
>   /trunk/qpid/cpp/include/qpid/framing/FieldValue.h 1407448 
>   /trunk/qpid/cpp/include/qpid/types/Variant.h 1407448 
>   /trunk/qpid/cpp/src/qpid/broker/Broker.cpp 1407448 
>   /trunk/qpid/cpp/src/qpid/broker/ConfigurationObserver.h 1407448 
>   /trunk/qpid/cpp/src/qpid/broker/Exchange.h 1407448 
>   /trunk/qpid/cpp/src/qpid/broker/Exchange.cpp 1407448 
>   /trunk/qpid/cpp/src/qpid/broker/ExchangeRegistry.h 1407448 
>   /trunk/qpid/cpp/src/qpid/broker/ExchangeRegistry.cpp 1407448 
>   /trunk/qpid/cpp/src/qpid/broker/Queue.h 1407448 
>   /trunk/qpid/cpp/src/qpid/broker/Queue.cpp 1407448 
>   /trunk/qpid/cpp/src/qpid/broker/QueueRegistry.cpp 1407448 
>   /trunk/qpid/cpp/src/qpid/broker/SessionAdapter.cpp 1407448 
>   /trunk/qpid/cpp/src/qpid/framing/FieldValue.cpp 1407448 
>   /trunk/qpid/cpp/src/qpid/ha/BrokerReplicator.cpp 1407448 
>   /trunk/qpid/cpp/src/qpid/ha/Primary.h 1407448 
>   /trunk/qpid/cpp/src/qpid/ha/Primary.cpp 1407448 
>   /trunk/qpid/cpp/src/qpid/ha/QueueReplicator.cpp 1407448 
>   /trunk/qpid/cpp/src/qpid/ha/types.h 1407448 
>   /trunk/qpid/cpp/src/qpid/ha/types.cpp 1407448 
>   /trunk/qpid/cpp/src/qpid/types/Variant.cpp 1407448 
>   /trunk/qpid/cpp/src/tests/ha_test.py 1407448 
>   /trunk/qpid/cpp/src/tests/ha_tests.py 1407448 
> 
> Diff: https://reviews.apache.org/r/7988/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Alan Conway
> 
>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message