summaryrefslogtreecommitdiff
path: root/qpid/cpp
Commit message (Collapse)AuthorAgeFilesLines
* QPID-5671 [linearstore] Add ability to use disk partitions and select ↵Kim van der Riet2015-01-0211-143/+178
| | | | | | per-queue EFPs: WIP, but mostly complete. Needs additional testing. It is now possible to add queues which use a partition other than the broker default by using qpid-config --durable together with --efp--partition-num and/or --efp-pool-file-size git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1649081 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6280: C++ Messaging example server resource leakCharles E. Rolke2014-12-191-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1646849 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6278: HA broker abort in TXN soak testAlan Conway2014-12-192-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The crash appears to be a race condition in async completion exposed by the HA TX code code as follows: 1. Message received and placed on tx-replication queue, completion delayed till backups ack. Completion count goes up for each backup then down as each backup acks. 2. Prepare received, message placed on primary's local persistent queue. Completion count goes up one then down one for local store completion (null store in this case). The race is something like this: - last backup ack arrives (on backup IO thread) and drops completion count to 0. - prepare arrives (on client thread) null store bumps count to 1 and immediately drops to 0. - both threads try to invoke the completion callback, one deletes it while the other is still invoking. The old completion logic assumed that only one thread can see the atomic counter go to 0. It does not handle the count going to 0 in one thread and concurrently being increased and decreased back to 0 in another. This case is introduced by HA transactions because the same message is put onto a tx-replication queue and then put again onto another persistent local queue, so there are two cycles of completion. The new logic fixes this only one call to completion callback is possible in all cases. Also fixed missing lock in ha/Primary.cpp. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1646618 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6255: Use Proton event model in qpidd when available.Ken Giusti2014-12-175-91/+225
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1646354 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6275: reduce default autodelete timeout for durable subscriptionsGordon Sim2014-12-172-2/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1646261 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6274: Delete subscription queue immediately on link closeGordon Sim2014-12-179-24/+26
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1646260 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6273: ensure requests and responses are sent as textual strings rather ↵Gordon Sim2014-12-172-9/+10
| | | | | | than binary data git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1646259 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6167: ensure broker responds with a header for an enabled protocolGordon Sim2014-12-176-5/+36
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1646258 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6269: trigger autodelete timer on queue recoveryGordon Sim2014-12-171-0/+4
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1646257 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6267: honour policy timeout even if it is 0Gordon Sim2014-12-171-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1646256 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5003: Use correct property for delayed auto-delete. Explicit 0 timeout ↵Gordon Sim2014-12-171-3/+4
| | | | | | should override default. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1646255 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6252: AMQP 1.0 browsing client generates large number of errors on ↵Alan Conway2014-12-052-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | broker (better fix) This is a simpler and better fix based on the discussion at: http://qpid.2158936.n2.nabble.com/Re-svn-commit-r1642720-in-qpid-trunk-qpid-cpp-src-qpid-messaging-amqp-AddressHelper-h-ConnectionConth-td7617083.html The changes are all client-side: - A browsing address is unreliable by default. An explicit reliability setting is respected. - The client session does not record pre-settled deliveries in it's unacked list. So by default: - Browsing links are unreliable. Broker sends pre-settled, messages are not recorded in unacked list. - The user is not required to acknowledge browsed messages for proper clean-up. - Calling acknowledge() for a browsed message is a no-op, not an error. If the user explicitly requests a reliable browsing link, then we behave exactly as before. I can't see any value in doing this with qpidd but maybe with some other broker there might be a use for being able to control the accept of browsed messages. This does affect non-browsing, unreliable links but it is an improvement. Settling a pre-settled messages is a no-op, so there is no point in recording pre-settled messages in the unacked list since we do nothing when they are acknoweldged. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1643276 13f79535-47bb-0310-9956-ffa450edef68
* Revert "QPID-6252: AMQP 1.0 browsing client generates large number of errors ↵Alan Conway2014-12-056-10/+5
| | | | | | | | on broker." This reverts commit 78d7f0727227f13da826180b2fe98f799160a93a. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1643275 13f79535-47bb-0310-9956-ffa450edef68
* NO_JIRA: Update of ISSUES fileKim van der Riet2014-12-011-2/+11
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1642731 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6252: AMQP 1.0 browsing client generates large number of errors on broker.Alan Conway2014-12-016-5/+10
| | | | | | | | | | | The problem was that messages for browsing receivers were being recorded on the client SessionContext unacked list. This is incorrect since you don't ack browsed messages. They remained on the list after the browsing receiver was closed, and every subsequent call to acknowledge() on the client would attempt to ack these messages for a no-longer-existing link. Fix is to not record browsed messages. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1642720 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6213: qpidd misses heartbeatsCharles E. Rolke2014-12-012-11/+15
| | | | | | | | | | * Pollable queue breaks when client does not process whole batch. * QueueCleaner must not reschedule same task multiple times. * QueueCleaner breaks out of batch processing on wall clock time interval. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1642681 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Use absolute path for store directory in brokertest.pyAlan Conway2014-11-271-1/+1
| | | | | | Recent store changes broke the use of a relative directory as data-dir. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1642246 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6248 [linearstore] Symlink creation fails if store dir path is not absoluteKim van der Riet2014-11-252-1/+16
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1641689 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Improve the Timer/TimerTask documentation.Andrew Stitcher2014-11-251-0/+56
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1641658 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Fix qpid-cpp-benchmark to work with activemq broker.Alan Conway2014-11-222-2/+19
| | | | | | | The activemq broker appears not to respect the AMQP drain flag, so calling fetch() on an empty queue hangs. Use get() with a timeout instead to drain the queues. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1641027 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6241: Windows build fails. Add c-style cast to 0 for creating a null ↵Charles E. Rolke2014-11-211-1/+1
| | | | | | pointer. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1641014 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Fix qpid-cpp-benchmark to support AMQP 1.0.Alan Conway2014-11-211-22/+63
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1640975 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4710: fix decoding of transtional outcomeGordon Sim2014-11-201-1/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1640826 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4710: release messages on rollbackGordon Sim2014-11-204-3/+9
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1640755 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6232: [C++ broker] Linearstore segfaults when ulimit prevents creating ↵Pavel Moravec2014-11-183-1/+6
| | | | | | new file in EFP git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1640357 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6203: Fix a test failure introduced by revision 1637122Justin Ross2014-11-131-1/+4
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1639493 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5671: [linearstore] Add ability to use disk partitions and select ↵Kim van der Riet2014-11-105-5/+82
| | | | | | per-queue EFPs. Modified previous code and added new code to allow a seamless updrade of the modified EFP and journal directory structure from the old to the new. The "efp" directory is removed from the directory tree containing the EFPs in a partition and all directories are moved up a level. The journal files are replaced with symlinks as they are used and replaced into the EFP. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1637985 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6167: allow 0-10 to be disabledGordon Sim2014-11-1012-142/+66
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1637822 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5538: remove log statement inadvertently addedGordon Sim2014-11-101-1/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1637821 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5927: allow for whitespace in passwordGordon Sim2014-11-101-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1637820 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6218: no need to retreieve external resourcesGordon Sim2014-11-072-1/+23
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1637402 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6203: Prevent broker startup when invalid directory is passed to ↵Justin Ross2014-11-061-2/+39
| | | | | | --sasl-config; this is a patch from Ernie Allen git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1637122 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6212: WinSDK build script - add hooks for specifying shared Proton ↵Charles E. Rolke2014-11-051-15/+48
| | | | | | install dir git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1636981 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6213: only restart timer once all queues have been purgedGordon Sim2014-11-051-2/+7
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1636848 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5671: [linearstore] Add ability to use disk partitions and select ↵Kim van der Riet2014-11-0416-179/+273
| | | | | | per-queue EFPs. This is the first part of resolving this issue and changes the journal directory structure to use symlinks instead of moving the actual files. This opens the way to having files from multiple partitions in the same journal. Other small improvements and tidy-ups also included. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1636598 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5538: simple heartbeat enablement over 1.0 for brokerGordon Sim2014-10-292-4/+51
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1635316 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6187: Disable SSL v3 for Windows SChannelClifford Jansen2014-10-281-1/+29
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1634961 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4710: Initial support for broker side AMQP 1.0 local transactions ↵Gordon Sim2014-10-278-20/+236
| | | | | | (single txn per session, single session per txn to begin with) git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1634598 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4710: Add generic support for transactional dequeue to Queue class itselfGordon Sim2014-10-275-0/+145
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1634597 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4710: Update message decoding logic to handle nested descriptors alsoGordon Sim2014-10-276-31/+53
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1634596 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4710: Handle nested descriptors i.e. described types where the value is ↵Gordon Sim2014-10-274-0/+32
| | | | | | itself a described type. Required for sending transaction control messages. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1634595 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2374: Ensure --require-encryption works as expected for ssl even when ↵Gordon Sim2014-10-231-4/+1
| | | | | | sasl support libs are not available git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1633904 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6182: AMQP 1.0 consumer should be able to get messages from browse-only ↵Pavel Moravec2014-10-231-0/+1
| | | | | | queue (2/2) git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1633817 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6182: AMQP 1.0 consumer should be able to get messages from browse-only ↵Pavel Moravec2014-10-231-1/+2
| | | | | | queue git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1633798 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6178: [C++ Broker] Fix compile issue with VS2008 and Boost 1.55Charles E. Rolke2014-10-223-6/+7
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1633665 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6160: disable SSLv3 in CPP broker and clientKen Giusti2014-10-201-0/+10
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1633146 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6157: linearstore: segfault when 2 journals request new journal file ↵Pavel Moravec2014-10-171-9/+5
| | | | | | from empty EFP git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1632504 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6148: purging TTL expired messages via purge task should not increase ↵Pavel Moravec2014-10-131-2/+0
| | | | | | acquires counters git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1631396 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6147: missing journal id in "trace Mgmt create journal." logPavel Moravec2014-10-132-3/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1631360 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6140: [C++ Messaging] hello_world does not define Messaging i/f completelyCharles E. Rolke2014-10-102-4/+4
| | | | | | | | | Add qpidtypes to hello_world and hello_xml example link library list so that users can execute any Messaging function straight away. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1630945 13f79535-47bb-0310-9956-ffa450edef68