Author: aconway
Date: Fri Nov 4 13:21:53 2011
New Revision: 1197548
URL: http://svn.apache.org/viewvc?rev=1197548&view=rev
Log:
QPID-2920: Minor updates to design/plan docs.
Modified:
qpid/branches/qpid-2920-active/qpid/cpp/design_docs/new-cluster-design.txt
qpid/branches/qpid-2920-active/qpid/cpp/design_docs/new-cluster-plan.txt
Modified:
qpid/branches/qpid-2920-active/qpid/cpp/design_docs/new-cluster-design.txt
URL:
http://svn.apache.org/viewvc/qpid/branches/qpid-2920-active/qpid/cpp/design_docs/new-cluster-design.txt?rev=1197548&r1=1197547&r2=1197548&view=diff
==============================================================================
--- qpid/branches/qpid-2920-active/qpid/cpp/design_docs/new-cluster-design.txt
(original)
+++ qpid/branches/qpid-2920-active/qpid/cpp/design_docs/new-cluster-design.txt
Fri Nov 4 13:21:53 2011
@@ -342,10 +342,15 @@ Active/passive benefits:
- Don't need to replicate message allocation, can feed consumers at top speed.
Active/passive drawbacks:
-- All clients on one node so a failure affects every client in the system.
-- After a failure there is a "reconnect storm" as every client reconnects to
the new active node.
-- After a failure there is a period where no broker is active, until the other
brokers realize the primary is gone and agree on the new primary.
-- Clients must find the single active node, may involve multiple connect
attempts.
+- All clients on one node so a failure affects every client in the
+ system.
+- After a failure there is a "reconnect storm" as every client
+ reconnects to the new active node.
+- After a failure there is a period where no broker is active, until
+ the other brokers realize the primary is gone and agree on the new
+ primary.
+- Clients must find the single active node, may involve multiple
+ connect attempts.
- No service if a partition separates a client from the active broker,
even if the client can see other brokers.
Modified:
qpid/branches/qpid-2920-active/qpid/cpp/design_docs/new-cluster-plan.txt
URL:
http://svn.apache.org/viewvc/qpid/branches/qpid-2920-active/qpid/cpp/design_docs/new-cluster-plan.txt?rev=1197548&r1=1197547&r2=1197548&view=diff
==============================================================================
--- qpid/branches/qpid-2920-active/qpid/cpp/design_docs/new-cluster-plan.txt
(original)
+++ qpid/branches/qpid-2920-active/qpid/cpp/design_docs/new-cluster-plan.txt
Fri Nov 4 13:21:53 2011
@@ -95,11 +95,16 @@ Throughput worse by 30% in contented cas
* Tasks to match existing cluster
** TODO [#A] Review old cluster code for more tasks. 1
** TODO [#A] Put cluster enqueue after all policy & other checks.
- SCHEDULED: <2011-10-31 Mon>
-gsim points out that we do policy check after multicasting enqueue so
-could have inconsistent. Multicast should be after enqueue and any
-other code that may decide to send/not send the message.
+gsim: we do policy check after multicasting enqueue so
+could have inconsistent outcome.
+
+aconway: Multicast should be after enqueue and any other code that may
+decide to send/not send the message.
+
+gsime: while later is better, is moving it that late the right thing?
+That will mean for example that any dequeues triggered by the enqueue
+(e.g. ring queue or lvq) will happen before the enqueue is broadcast.
** TODO [#A] Defer and async completion of wiring commands. 5
Testing requirement: Many tests assume wiring changes are visible
@@ -108,11 +113,19 @@ across the cluster once the wiring comma
Name clashes: avoid race if same name queue/exchange declared on 2
brokers simultaneously.
+Ken async accept, never merged:
http://svn.apache.org/viewvc/qpid/branches/qpid-3079/
+
Clashes with non-replicated: see [[Allow non-replicated]] below.
+** TODO [#A] defer & async completion for explicit accept.
+
+Explicit accept currently ignores the consume lock. Defer and complete
+it when the lock is acquired.
+
** TODO [#A] Update to new members joining. 10.
-Need to resolve [[Queue sequence numbers vs. independant message IDs]] first.
+Need to resolve [[Queue sequence numbers vs. independant message IDs]]
+first.
- implicit sequence numbers are more tricky to replicate to new member.
Update individual objects (queues and exchanges) independently.
@@ -207,6 +220,8 @@ Extend broker::Cluster interface to capt
Running brokers exchange DTX information.
New broker update includes DTX information.
+** TODO [#B] Replicate message groups?
+Message groups may require additional state to be replicated.
** TODO [#B] Replicate state for Fairshare?
gsim: fairshare would need explicit code to keep it in sync across
nodes; that may not be required however.
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]