summaryrefslogtreecommitdiff
path: root/python
Commit message (Collapse)AuthorAgeFilesLines
* QPID-6116: ensure new packages are installedGordon Sim2014-09-261-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1627808 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6116: [Python Client 08..091] Add ability to negotiate SASL mechanism ↵Keith Wall2014-09-2519-6/+604
| | | | | | 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
* QPID-6117: [Python Client 0-8..0-9] Ignore socket.error ENOTCONN when trying ↵Keith Wall2014-09-251-3/+10
| | | | | | 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
* QPID-6109: don't require password to be specified to allow PLAINGordon Sim2014-09-191-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1626249 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6110: Add manifest includes for license and notice filesJustin Ross2014-09-191-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1626184 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6081, QPID-6082: [Python Client Tests] Add python tests for verifying ↵Keith Wall2014-09-121-4/+12
| | | | | | 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
* QPID-6086: [Python Client] 08..091 Add support for SSL and client cert ↵Keith Wall2014-09-062-3/+24
| | | | | | authentication git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1622953 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6085: [Python client] 08..091 implement sending/receiving of additional ↵Keith Wall2014-09-062-16/+255
| | | | | | property types git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1622952 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6084: [Python Client] Guard use of sys.argv when constructing ↵Keith Wall2014-09-061-1/+1
| | | | | | connection properties git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1622951 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6083: [Python Client] utilise pathname2url when constructing spec file ↵Keith Wall2014-09-061-1/+2
| | | | | | location on older python versions git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1622950 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6082: [Python Client] 08..091 Explicitly set incoming queue to guard ↵Keith Wall2014-09-061-0/+8
| | | | | | method interleaving git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1622949 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6081: [Python Client] 08..091 Ensure that multiframe bodies are ↵Keith Wall2014-09-061-3/+3
| | | | | | received correctly git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1622948 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Fix qpid/python/qpid/messaging/driver.py to work on python 2.4.Alan Conway2014-09-041-2/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1622559 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5975: HA extra/missing messages when running qpid-txtest2 in a loop ↵Alan Conway2014-08-283-4/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* QPID-5813: fix up LICENSE + NOTICE etc filesRobert Gemmell2014-08-272-31/+4
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1620850 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Fix timeout on python messaging.Session.commit and rollbackAlan Conway2014-08-221-3/+5
| | | | | | 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
* QPID-5813: Advance version numbers on trunk to 0.29Justin Ross2014-08-071-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1616587 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Strengthen ant python test wrapper to ensure that ant will fail if ↵Keith Wall2014-07-301-5/+13
| | | | | | 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
* [QPID-5852]: connection.opened() returns True after unsuccessful connection ↵Pavel Moravec2014-07-241-1/+2
| | | | | | (fixing regression infested by previous commit) git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1613270 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5923: check requested node type when handling deleteGordon Sim2014-07-241-3/+4
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1613130 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5921: add missing clause to resolution logic for when only exchange ↵Gordon Sim2014-07-241-0/+5
| | | | | | exists but queue create was requested git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1613129 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5888: transaction should always be aborted on failoverAlan Conway2014-07-181-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* QPID-5894: force cert checking if user specifically asks to verify the ↵Ken Giusti2014-07-182-0/+7
| | | | | | remote's hostname. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1611670 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5850: Support for long session names (patch from Ernie Allen)Gordon Sim2014-07-161-2/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1611016 13f79535-47bb-0310-9956-ffa450edef68
* [QPID-5823]: Python client should create a node with name starting '\#'Pavel Moravec2014-07-072-1/+12
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1608350 13f79535-47bb-0310-9956-ffa450edef68
* [QPID-5864]: [Python client] Provide better error description when SASL ↵Pavel Moravec2014-07-011-1/+5
| | | | | | required but no credentials provided git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1607086 13f79535-47bb-0310-9956-ffa450edef68
* [QPID-5852]: [Python client] connection.opened() returns True after ↵Pavel Moravec2014-06-261-0/+3
| | | | | | unsuccessful connection git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1605855 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5836: [Python client] Report error when encountering unrecognized ↵Pavel Moravec2014-06-261-41/+50
| | | | | | connection option git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1605704 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5830: [Python client] Unable to create bindings on already existing ↵Pavel Moravec2014-06-181-15/+20
| | | | | | broker objects using addressing git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1603448 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5823: (reverting commit r1602820) Python client should create a node ↵Pavel Moravec2014-06-162-11/+8
| | | | | | with name starting '\#' git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1602832 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5823: Python client should create a node with name starting '\#'Pavel Moravec2014-06-162-8/+11
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1602820 13f79535-47bb-0310-9956-ffa450edef68
* Revert "QPID-5812: python high level API client receiver.fetch(timeout=N) ↵Andrew Stitcher2014-06-121-1/+1
| | | | | | | | | | | 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
* QPID-5812: python high level API client receiver.fetch(timeout=N) blocks ↵Pavel Moravec2014-06-121-1/+1
| | | | | | 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
* QPID-5808: framer should consume only header bytesKen Giusti2014-06-091-1/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1601513 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5790: avoid use of poll if select is monkey-patched by ↵Ken Giusti2014-05-301-2/+10
| | | | | | Eventlet/Greenthreads git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1598586 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5773: back out non-functional recv path change from QPID-4872Ken Giusti2014-05-291-16/+7
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1598353 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5637: reset Selector singleton across fork.Ken Giusti2014-05-201-2/+4
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1596341 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5700: ensure interleaved segments on different tracks do not get confusedGordon Sim2014-04-151-12/+16
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1587710 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5600: Advance the version number on trunk to 0.29Justin Ross2014-03-201-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1579690 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5588: [python-client] use poll() instead of select() where available.Ken Giusti2014-02-281-5/+63
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1573028 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5557: allow disambiguation of node typeGordon Sim2014-02-241-7/+18
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1571459 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5520: qpid-python-test should not fail for skipped tests.Alan Conway2014-01-281-1/+1
| | | | | | | | | | | | | 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
* QPID-2294: add checks for negative timeoutGordon Sim2014-01-241-1/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1560974 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2294: handle signal interruptions to selectGordon Sim2014-01-151-1/+14
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1558503 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5428: Heartbeats not in use when attempting to connect with python client.Alan Conway2014-01-091-18/+37
| | | | | | | | | | | | | | | | | | | | | 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
* QPID-5255: Change trunk version to 0.27Justin Ross2013-11-121-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1541283 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5203: if session error exists, simply return from session close (also ↵Gordon Sim2013-10-301-7/+5
| | | | | | reverts previous fix) git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1537030 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5139: Add timeout argument to python messaging.Session.commit.Alan Conway2013-10-291-2/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1536750 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5203 Python client unexpected exception after ACL denialPavel Moravec2013-10-221-4/+7
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1534643 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5183 Python client does not release acquired messages on consumer close ↵Pavel Moravec2013-09-271-0/+14
| | | | | | when session persists git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1526901 13f79535-47bb-0310-9956-ffa450edef68