| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1627808 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
| |
and add pure python implementations for SCRAM/CRAM/PLAIN mechanisms
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1627554 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
| |
to shutdown a socket to prevent spurious exception when socket closed by peer
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1627553 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1626249 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1626184 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
| |
the receipt of large messages occupying more than one frame (08-091)
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1624545 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
| |
authentication
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1622953 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
| |
property types
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1622952 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
| |
connection properties
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1622951 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
| |
location on older python versions
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1622950 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
| |
method interleaving
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1622949 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
| |
received correctly
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1622948 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1622559 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
with failover.
This is partly not-a-bug, there is a client error handling issue that has been
corrected.
qpid-txtest2 initializes a queue with messages at the start and drains the
queues at the end. These operations are *not transactional*. Therefore
duplicates are expected if there is a failover during initialization or
draining. When duplicates were observed, there was indeed a failover at one of
these times.
Making these operations transactional is not enough to pass, now we see the test
fail with "no messages to fetch". This is explained as follows:
If there is a failover during a transaction, TransactionAborted is raised. The
client assumes the transaction was rolled back and re-plays it. However, if the
failover occurs at a critical point *after* the client has sent commit
but *before* it has received a response, then the the client *does not know*
whether the transaction was committed or rolled-back on the new primary.
Re-playing in this case can duplicate the transaction. Each transaction moves
messages from one queue to another so as long as transactions are atomic the
total number of messages will not change. However, if transactions are
duplicated, a transactional session may try to move more messages than exist on
the queue, hence "no messages to fetch". For example if thread 1 moves N
messages from q1 to q2, and thread 2 tries to move N+M messages back, then
thread 2 will fail.
This problem has been corrected as follows: C++ and python clients now raise the
following exceptions:
- TransactionAborted: The transaction has definitely been rolled back due to a
connection failure before commit or a broker error (e.g. a store error) during commit.
It can safely be replayed.
- TransactionUnknown: The transaction outcome is unknown because the connection
failed at the critical time. There's no simple automatic way to know what
happened without examining the state of the broker queues.
Unfortunately With this fix qpid-txtest2 is no longer useful test for TX
failover because it regularly raises TransactionUnknown and there's not much we
can do with that.
A better test of TX atomicity with failover is to run a pair of
qpid-send/qpid-receive with fail-over and verify that the number of
enqueues/dequeues and message depth are a multiple of the transaction size. See
the JIRA for such a test. (Note these test also sometimes raise
TransactionUnknown but it doesn't matter since all we are checking is that
messages go on and off the queues in multiple of the TX size.) )
Note: the original bug also reported seeing missing messages from
qpid-txtest2. I don't have a good explanation for that but since the
qpid-send/receive test shows that transactions are atomic I am going to let that
go for now.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1621211 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1620850 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
| |
Fix both to take timeout arg and raise Timeout exception if timeout expires.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1619813 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1616587 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
| |
it fails to identify the pid of the broker\'s process
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1614598 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
| |
(fixing regression infested by previous commit)
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1613270 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1613130 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
| |
exists but queue create was requested
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1613129 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
C++ and python clients were attempting to continue the transation transparently
after failover which is in correct. They were re-sending messages in the
transaction but there is no way to re-do transactional receives. The transaction
must be aborted.
The C++ and python clients have been modified to kill a transactional session
with a TransactionAborted exception if there is a failover.
Note the Java client already behaves correctly but not identically.
It defers raising an exception until commit rather than failing
immediately on failover, and the session can still be used.
The following commits are involved:
r1611349 QPID-5887: revised approach to implict abort
r1610959 QPID-5887: allow qpid-txtest2 to be run by make test
r1610958 QPID-5887: fix to new txtest2, acknowledge messages in the check phase to ensure queues remain drained for any subsequent runs
r1609748 QPID-5887: abort transactional session on failover; added equivalent of txtest using messaging API
This commit does the following:
- Update ha_tests.py tx_simpler_failover test to expect transaction aborted.
- Minor improvements to qpid-txtest2
- Fix native (non-swig) python client.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1611748 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
| |
remote's hostname.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1611670 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1611016 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1608350 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
| |
required but no credentials provided
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1607086 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
| |
unsuccessful connection
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1605855 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
| |
connection option
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1605704 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
| |
broker objects using addressing
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1603448 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
| |
with name starting '\#'
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1602832 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1602820 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
|
| |
blocks forever in select() if broker is stopped (kill -STOP)"
This reverts commit r1602221 As it breaks the C++ tests:
- python_tests
- federation_sys_tests
- legacystore_python_tests
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1602302 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
| |
forever in select() if broker is stopped (kill -STOP)
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1602221 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1601513 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
| |
Eventlet/Greenthreads
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1598586 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1598353 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1596341 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1587710 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1579690 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1573028 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1571459 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The qpid-python-test script has a facility for skipping tests (by raising a
Skipped exception) which works fine BUT if tests are skipped the script exits
with non-0 status - i.e. failure.
With this commit the script exits with a 0 exit status (success) unless there
are actual failures.
See discussion at: http://apache-qpid-developers.2158895.n2.nabble.com/qpid-python-test-script-should-skipped-tests-be-considered-failures-td7592307.html
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1562167 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1560974 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1558503 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Heartbeats ignored when opening a connection, could hang indefinitely
Need to cover 3 cases (test included):
- Connect sucessful but then broker stalls.
- Connect to a stalled broker that never responds.
- Fail-over to a stalled broker that never responds
All cases are handled by the following fixes to driver.py:
- Check for heartbeats even before engine._connected since we may time out
before receiving open-ok if the peer is stalled and never sends data.
- Set _last_in and _last_out so that we time heartbeats from the start of the
connection if no data is ever sent or received.
- Call self.update_status in Driver.timeout to detect connection closed due to
heartbeat timeout (rather than a readable or writeable event.)
Make update_status a no-op if engine or transport are not yet set up.
- Don't consider reconnect complete in connect(), wait till we get the open-ok.
See the comment on Driver._check_retry_ok()
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1556971 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1541283 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
| |
reverts previous fix)
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1537030 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1536750 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1534643 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
| |
when session persists
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1526901 13f79535-47bb-0310-9956-ffa450edef68
|