<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/qpid-python.git/qpid/cpp/src/tests/ha_tests.py, branch deleteme</title>
<subtitle>git.apache.org: qpid.git
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/qpid-python.git/'/>
<entry>
<title>QPID-4401: Revert: HA bindings for QMF exchanges not replicated.</title>
<updated>2012-11-14T16:04:28+00:00</updated>
<author>
<name>Alan Conway</name>
<email>aconway@apache.org</email>
</author>
<published>2012-11-14T16:04:28+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/qpid-python.git/commit/?id=e89ee3715fe9b7b52177426332904acd05647034'/>
<id>e89ee3715fe9b7b52177426332904acd05647034</id>
<content type='text'>
This reverts r1403946: There was a problem with this, for example if I bind a
queue Q to receive broker events. On the backup, Q will receive double events:
from the replicating subscription to the primary and events generated locally in
the backup broker. That can cause the backup to generate "invalid position"
errors and shut down.

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1409243 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts r1403946: There was a problem with this, for example if I bind a
queue Q to receive broker events. On the backup, Q will receive double events:
from the replicating subscription to the primary and events generated locally in
the backup broker. That can cause the backup to generate "invalid position"
errors and shut down.

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1409243 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
<entry>
<title>NO-JIRA: avoid un-necessary warnings in ha_tests.py test_qmf_replication.</title>
<updated>2012-11-14T16:04:14+00:00</updated>
<author>
<name>Alan Conway</name>
<email>aconway@apache.org</email>
</author>
<published>2012-11-14T16:04:14+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/qpid-python.git/commit/?id=8dd9f6c659d3a4cf31ef336dcccff819b8223d1b'/>
<id>8dd9f6c659d3a4cf31ef336dcccff819b8223d1b</id>
<content type='text'>
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1409242 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1409242 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
<entry>
<title>QPID-4428: HA add UUID tag to avoid using an out of date queue/exchange.</title>
<updated>2012-11-14T16:04:04+00:00</updated>
<author>
<name>Alan Conway</name>
<email>aconway@apache.org</email>
</author>
<published>2012-11-14T16:04:04+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/qpid-python.git/commit/?id=3b9fdc8e68cb42e6ebfa75f3dc756fd54369f735'/>
<id>3b9fdc8e68cb42e6ebfa75f3dc756fd54369f735</id>
<content type='text'>
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 !=

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1409241 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 !=

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1409241 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
<entry>
<title>NO-JIRA: Suppress warning errors  in ha_tests.py test_qmf_replication.</title>
<updated>2012-11-14T15:23:20+00:00</updated>
<author>
<name>Alan Conway</name>
<email>aconway@apache.org</email>
</author>
<published>2012-11-14T15:23:20+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/qpid-python.git/commit/?id=bce4ad2c993a34d240b1166ab6321bc14b78c612'/>
<id>bce4ad2c993a34d240b1166ab6321bc14b78c612</id>
<content type='text'>
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1409225 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1409225 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
<entry>
<title>Bug 874118 - HA Deadlock in backup broker after disconnecting from primary.</title>
<updated>2012-11-09T21:45:06+00:00</updated>
<author>
<name>Alan Conway</name>
<email>aconway@apache.org</email>
</author>
<published>2012-11-09T21:45:06+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/qpid-python.git/commit/?id=8ff1f8c1a0eb2cee06402544f6ccac6e57b1bcd2'/>
<id>8ff1f8c1a0eb2cee06402544f6ccac6e57b1bcd2</id>
<content type='text'>
The backup broker was running ExchangeRegistry::for_each to clean up
connections, but this holds the ExchangeRegistry lock and hence the deadlock.
Now we copy a list of exchanges with for_each and work on it without the lock.

The issue showed up for 0 timeouts only because the queue schedules non-0
timeouts to a separate timer thread.

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1407661 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The backup broker was running ExchangeRegistry::for_each to clean up
connections, but this holds the ExchangeRegistry lock and hence the deadlock.
Now we copy a list of exchanges with for_each and work on it without the lock.

The issue showed up for 0 timeouts only because the queue schedules non-0
timeouts to a separate timer thread.

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1407661 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
<entry>
<title>QPID-4394: HA QMF events out of order</title>
<updated>2012-11-01T13:42:36+00:00</updated>
<author>
<name>Alan Conway</name>
<email>aconway@apache.org</email>
</author>
<published>2012-11-01T13:42:36+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/qpid-python.git/commit/?id=00935fcbf0ccbec39fe8357c425c7888006de6da'/>
<id>00935fcbf0ccbec39fe8357c425c7888006de6da</id>
<content type='text'>
QMF create/delete events for auto-delete queues can be generated out-of-order
because they are not regulated by any lock. This creates problems for HA
replication. This commit does 2 things:

1. Dispatch QMF events via a pollable queue. Events are encoded in the thread
calling raiseEvent then put on a PollableQueue to be dispatched in a separate thread.
This allows us to move the raiseEvent calls inside registry locks to ensure
they are ordered.

2. Move queue create and delete raiseEvent calls inside the queue registry
lock so they are executed in order.

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1404590 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
QMF create/delete events for auto-delete queues can be generated out-of-order
because they are not regulated by any lock. This creates problems for HA
replication. This commit does 2 things:

1. Dispatch QMF events via a pollable queue. Events are encoded in the thread
calling raiseEvent then put on a PollableQueue to be dispatched in a separate thread.
This allows us to move the raiseEvent calls inside registry locks to ensure
they are ordered.

2. Move queue create and delete raiseEvent calls inside the queue registry
lock so they are executed in order.

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1404590 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
<entry>
<title>QPID-4401: HA bindings for QMF exchanges not replicated.</title>
<updated>2012-10-31T01:08:41+00:00</updated>
<author>
<name>Alan Conway</name>
<email>aconway@apache.org</email>
</author>
<published>2012-10-31T01:08:41+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/qpid-python.git/commit/?id=f05b6fdf2077ec1ef6efa65f25f750ee101736a4'/>
<id>f05b6fdf2077ec1ef6efa65f25f750ee101736a4</id>
<content type='text'>
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1403946 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1403946 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
<entry>
<title>Bug:868364 - QPID-4391: HA ignore stale responses.</title>
<updated>2012-10-24T14:33:25+00:00</updated>
<author>
<name>Alan Conway</name>
<email>aconway@apache.org</email>
</author>
<published>2012-10-24T14:33:25+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/qpid-python.git/commit/?id=f7245cd1c72954ef3827b837415c59f45d656167'/>
<id>f7245cd1c72954ef3827b837415c59f45d656167</id>
<content type='text'>
Related issue discovered while fixing this bug:

The BrokerReplicater pulls management events and query responses from different
queues, there is no co-ordination between them. If a response is processed late,
after create and delete events, it will incorrectly re-create the deleted queue.

This patch ignores responses if we have already seen an event for the queue or
exchange.

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1401711 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Related issue discovered while fixing this bug:

The BrokerReplicater pulls management events and query responses from different
queues, there is no co-ordination between them. If a response is processed late,
after create and delete events, it will incorrectly re-create the deleted queue.

This patch ignores responses if we have already seen an event for the queue or
exchange.

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1401711 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
<entry>
<title>NO-JIRA: fix fluffed merge in r1400258</title>
<updated>2012-10-22T04:10:01+00:00</updated>
<author>
<name>Andrew Stitcher</name>
<email>astitcher@apache.org</email>
</author>
<published>2012-10-22T04:10:01+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/qpid-python.git/commit/?id=7d437d2c16aee1e8bb5675e3bfc412fed93780bf'/>
<id>7d437d2c16aee1e8bb5675e3bfc412fed93780bf</id>
<content type='text'>
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1400759 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1400759 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
<entry>
<title>Bug 868360 - QPID-4379: HA does not properly handle expired messages.</title>
<updated>2012-10-19T20:00:55+00:00</updated>
<author>
<name>Alan Conway</name>
<email>aconway@apache.org</email>
</author>
<published>2012-10-19T20:00:55+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/qpid-python.git/commit/?id=35d2059cb073ead5cecee35127e0720b58d1f278'/>
<id>35d2059cb073ead5cecee35127e0720b58d1f278</id>
<content type='text'>
The trunk is not affected by this bug, so this commit is just to add the
regression test that proves it.

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1400258 13f79535-47bb-0310-9956-ffa450edef68
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The trunk is not affected by this bug, so this commit is just to add the
regression test that proves it.

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1400258 13f79535-47bb-0310-9956-ffa450edef68
</pre>
</div>
</content>
</entry>
</feed>
