summaryrefslogtreecommitdiff
path: root/qpid/cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* QPID-6049: ensure nss is initialised (and shutdown) for 1.0 connections; add ↵Gordon Sim2014-08-274-2/+60
| | | | | | 1.0 based ssl test git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1620948 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Work-around bug in older cmake, finds static python library instead ↵Alan Conway2014-08-271-2/+25
| | | | | | | | | | | | | | | | | of shared. FindPythonLibs on older versions of cmake (observed on cmake-2.6.4-5.el5.4) sometimes finds the static archive library (.a) before the shared object library (.so) This is almost never what you want. Newer versions (e.g. cmake-2.8.12.2-2.fc20.x86_64) explicitly look for the .so first and look for the .a library second. This workaround fixes the problem as follows: - It is a no-op except on Unix platforms that use the .so prefix. - On those platforms it does a search for .so only first. - Finally we do a default search for other platforms (or if .so was not found) git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1620888 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5813: fix up LICENSE + NOTICE etc filesRobert Gemmell2014-08-272-51/+4
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1620850 13f79535-47bb-0310-9956-ffa450edef68
* Revert "NO-JIRA: Work-around bug in older cmake, finds static python library ↵Alan Conway2014-08-261-20/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | instead of shared." This patch seems to cause various build problems, will put it back when I figure out what is going wrong. ------------------------------------------------------------------------ r1620424 | aconway | 2014-08-25 16:10:52 -0400 (Mon, 25 Aug 2014) | 13 lines NO-JIRA: Work-around bug in older cmake, finds static python library instead of shared. FindPythonLibs on older versions of cmake (observed on cmake-2.6.4-5.el5.4) sometimes finds the static archive library (.a) before the shared object library (.so) This is almost never what you want. Newer versions (e.g. cmake-2.8.12.2-2.fc20.x86_64) explicitly look for the .so first and look for the .a library second. This workaround fixes the problem as follows: - It is a no-op except on Unix platforms that use the .so prefix. - On those platforms it does a search for .so only first. - Finally we do a default search for other platforms (or if .so was not found) ------------------------------------------------------------------------ git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1620738 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6045: adjust the reported filter to make clear that wildcard subject ↵Gordon Sim2014-08-261-1/+3
| | | | | | filtering is not supported with xml exchange git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1620630 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6043: Add a configuration option to overwrite files returned to the EFPKim van der Riet2014-08-259-41/+79
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1620426 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Work-around bug in older cmake, finds static python library instead ↵Alan Conway2014-08-251-2/+20
| | | | | | | | | | | | | | | | | of shared. FindPythonLibs on older versions of cmake (observed on cmake-2.6.4-5.el5.4) sometimes finds the static archive library (.a) before the shared object library (.so) This is almost never what you want. Newer versions (e.g. cmake-2.8.12.2-2.fc20.x86_64) explicitly look for the .so first and look for the .a library second. This workaround fixes the problem as follows: - It is a no-op except on Unix platforms that use the .so prefix. - On those platforms it does a search for .so only first. - Finally we do a default search for other platforms (or if .so was not found) git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1620424 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6021: prevent protons internal output buffer growing too largeGordon Sim2014-08-222-1/+11
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1619951 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6035: HA clearly distinguish qpid-ha commands intended for cluster manager.Alan Conway2014-08-222-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds a --cluster-manager flag to qpid-ha tool. Without this flag - the 'promote' command is not listed in the tool help. - using the promote command raises an error saying that it is only for cluster manager use and mentioning the --cluster-manager flag. With the flag: promote functions as before. The qpid-ha help text for promote is also more clear now that it is for cluster manager only. Originally the idea was to split qpid-ha into two tools but I have kept one tool with the flag and warning messages because it: - avoids packaging changes that might trip things up. - helps people who are already using qpid-ha promote: their scripts will break but the error message explains how to fix it. I think the special role of promote is sufficiently clear now even if it is part of the same tool. This commit also updates the following to take account of the new flag: - rgmanager qpidd-primary script. - qpidd tests. - qpid book HA chapter. NOTE: THIS WILL BREAK TEST HARNESSES that do promotion outside of rgmanager. You'll need to add the --cluster-manager flag in the relevant places. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1619877 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5855: JAVA Client Can not recieve message with qpid ha cluster "Session ↵Alan Conway2014-08-227-21/+86
| | | | | | | | | | | | | | | | | | | exception occured while trying to commit" The problem: the java client sets the sync flag on tx.commit and then waits for completion of the entire transaction. According to the 0-10 spec, this is correct, the commit (or rollback) will not complete until all of the transactional commands have completed. However the C++ broker was sometimes completing a commit *before* one of the the corresponding enqueues. It issued the completions up to the commit (because the commit is makred sync) but there is a "hole" for the incomplete enqueue. The enqueue is not marked sync so when this hole is filled no completion is sent and the client hangs. Fix: make tx.commit a "sync point", that is it behaves like execution.sync and is not completed till all preceeding commands are complete. Note tx.rollback does not need modification as it is never completed asynchronously. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1619816 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Clean up test_store.cpp async functionality.Alan Conway2014-08-223-70/+140
| | | | | | Clean up test_store.cpp to allow control over async completion of messsages. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1619814 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: remove redundant and confusing statement; the record is already ↵Gordon Sim2014-08-221-1/+0
| | | | | | marked ended and this invocation is on the copy that is not stored anyway git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1619746 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6032: throw aborted error before reconnect attempt when a transactional ↵Gordon Sim2014-08-221-0/+1
| | | | | | session discovers transport failure git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1619745 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6020: HA logging improvements - log prefix with status and ID.Alan Conway2014-08-214-6/+6
| | | | | | | Fix log prefix for RemoteBackup and PrimaryTxObserver objects. Use short UUIDs for showing UUID sets in logs. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1619581 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Reduce "No EFP Partition" log message from warning to info.Alan Conway2014-08-211-2/+2
| | | | | | | It is normal for there to be no EFP partition if a broker is being started for the first time with a clean data directory. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1619580 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6021: fix compile error on windowsGordon Sim2014-08-212-3/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1619318 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6021: better batchingGordon Sim2014-08-204-68/+85
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1619252 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: test_env.sh to pick up whichever of linearstore.so or ↵Alan Conway2014-08-201-1/+2
| | | | | | legacystore.so is built. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1619236 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5893: Perl unit tests now find the utils module.Darryl L. Pierce2014-08-203-30/+19
| | | | | | | | | | | The module's not on the @INC path, and really shouldn't be since it's only used by the tests. So now the tests programmatically update @INC to include their directory as a part of the path, and find utils.pm. Fixed the failing Message.t file as well, which includes tests for methods that are deprecated. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1619181 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6026: add server_reconnect example to WinSDK cmake solution generatorCharles E. Rolke2014-08-201-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1619170 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6020: HA logging improvements - log prefix with status and ID.Alan Conway2014-08-1938-203/+368
| | | | | | | | | | | | | | | | | Include broker status and ID in (almost) all logging messages. Makes it much easier to track broker state and interactions. Sundry other logging improvements including: - Demote noisy messages to trace - connections from rgmanager status checks, searching for primary. - Rationalise start-up messages. - Improved queue state detail replicating subscription and queue guard initialization. - Fail to prepare TX is error. - Collect all primary TX errors into one. - Fix status of catchup brokers in primary membership for logging. - Add process name/PID info to client connection messages. - Various minor message tweaks. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1619003 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6021: avoid waking up the io thread unnecessarily, improves receive ↵Gordon Sim2014-08-193-2/+18
| | | | | | rate a bit git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1618914 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6021: increase initial credit granted to producersGordon Sim2014-08-191-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1618913 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6015: HA Python QMF console raises exception due to HA subscriptions.Alan Conway2014-08-181-1/+4
| | | | | | | | | | One of the arguments in a HA subscription (qpid.ha-ids) is binary encoded data, however it was being passed as a string type in the arguments map. This caused python qmf console clients to choke when they tried to utf-decode the data. Fix is to pass the data using the vbin32 type which is intended for binary data. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1618712 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: HA documentation improvements.Alan Conway2014-08-151-1/+1
| | | | | | | | | | | The broker options link-maintenance-interval and link-heartbeat-interval were documented only in the HA section and not in the federation section which created confusion about whether they affected HA links only or user federation links as well. Added documentation to the federation section and an explicit mention in the HA section that it uses federation links. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1618160 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: HA Account for TX primary replication queues as HA user.Alan Conway2014-08-151-2/+7
| | | | | | Previously they were not accounted which caused ACL notice messages. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1618133 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5999: Update selector syntax documentation to reflect the implementationAndrew Stitcher2014-08-141-18/+20
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1617999 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5985: fixed regression introduced by previous commit (r1617256), ↵Gordon Sim2014-08-142-0/+16
| | | | | | ensuring that call does not block indefinitely git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1617924 13f79535-47bb-0310-9956-ffa450edef68
* [no jira]: fixing commit 1617841 that broke building (unreliable to be ↵Pavel Moravec2014-08-141-2/+1
| | | | | | initialized after nextId) git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1617897 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5995: Initialize messaging SenderContext delivery tagCharles E. Rolke2014-08-131-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1617841 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Updated ISSUES fileKim van der Riet2014-08-121-2/+15
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1617476 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Remove annoying '*' in cmake build type message.Alan Conway2014-08-111-2/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1617302 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Clean up excessive "notice" level log messages, add ↵Alan Conway2014-08-116-18/+30
| | | | | | | | | | start-up/shut-down messages. - Demote excessive "notice" level log messages to "info" - Provide clear notice "start-up/shut-down" messages at start and end of broker log. - Log broker PID in start-up/shut-down messages. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1617293 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5985: check for incoming messages - without waiting - even when timout is 0Gordon Sim2014-08-112-1/+26
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1617256 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5966: HA mixing tx enqueue and non-tx dequeue leaves extra messages on ↵Alan Conway2014-08-0817-86/+228
| | | | | | | | | | | | | | | | | | | | | backup. There were several problems: 1. Positions of transactionally enqueued messages not known to QueueReplicator, so not dequeued on backup if dequeued outside a TX on primary. 2. Race condition if tx created immediately after queue could cause duplication of TX message. 3. Replication IDs were not being set during recovery from store (regression, store change?) Fix: 1. Update positions QueueReplicator positions via QueueObserver::enqueued to see all enqueues. 2. Check for duplicate replication-ids on backup in QueueReplicator::route. 3. Set replication-id in publish() if not already set in record(). git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1616704 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5974: HA qpid-txtest2 can bring down a cluster (JERR_MAP_LOCKED))Alan Conway2014-08-086-29/+61
| | | | | | | | | | | Problem: transactional dequeues can be sent via two paths as part of the transaction and via the normal queue replication. If journal is involved this can result result in store errors if the normal replication path attempts to dequeue before the transaction. Solution: this is also the case for enqueues, and we already have code in place to skip replication of tx enqueues via the normal route. Copied the same logic for dequeues. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1616703 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5973: HA cluster state may get stuck in recoveringAlan Conway2014-08-085-4/+26
| | | | | | | | | | | | | | | | | | | | | | A backup queue is considered "ready" when all messages up to the first guarded position have either been replicated and acknowledged or dequeued. Previously this was implemented by waiting for the replicationg subscription to advance to the first guarded position and wating for all expected acks. However if messages are dequeued out-of-order (which happens with transactions) there can be a gap at the tail of the queue. The replicating subscription will not advance past this gap because it only advances when there are messages to consume. This resulted in backups stuck in catch-up. The recovering primary has a time-out for backups that never re-connect, but if they connect sucessfully and don't disconnect, the primary assumes they will become ready and waits - causing the primary to be stuck in "recovering". The fixes is to notify a replicating subscription if it becomes "stopped" because there are no more messages available on the queue. This implies that either it is at the tail OR there are no more messags until the tail. Either way we should consider this "ready" from the point of view of HA catch-up. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1616702 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5813: Advance version numbers on trunk to 0.29Justin Ross2014-08-072-2/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1616587 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5948: prevent creation of durable topic backed by non-durable exchange; ↵Gordon Sim2014-08-062-1/+7
| | | | | | | | add exception handling to object recovery. (Based on patch from Kim van der Riet). git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1616287 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5964: Add SetContentObject support for list and map.Charles E. Rolke2014-08-053-1/+60
| | | | | | Fix GetContentObject return value warning. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1615992 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5963: fix from Chris Richardson to prevent broker incorrecctly thinking ↵Gordon Sim2014-08-051-1/+1
| | | | | | it has decoded protocol header when it has not git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1615991 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5959: allow content encoding to be readGordon Sim2014-08-041-0/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1615699 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5942: qpid HA cluster may end-up in joining state after HA primary is ↵Alan Conway2014-07-316-54/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | killed There are two issues here, both related to the fact that rgmanager sees qpidd and qpidd-primary as two separate services. 1. The service start/stop scripts can be called concurrently. This can lead to running a qpidd process who's pid is not in the pidfile. rgmanager cannot detect or kill this qpidd and cannot start another qpidd because of the lock on the qpidd data directory. 2. rgmanager sees a primary failure as two failures: qpidd and qpidd-primary, and will then try to stop and start both services. The order of these actions is not defined and can lead to rgmanager killing a service it has just started. This patch makes two major changes to the init scripts: 1. Uses flock to lock the sensitive stop/start part of the scripts to ensure they are not executed concurrently. 2. On "stop" the scripts check if a running qpidd is primary or not. "qpidd stop" is a no-op if the running broker is primary, "qpidd-primary stop" is a no op if it is not. This ensures that a broker will be stopped by the same stream of service actions that started it. Minor changes in this patch: - better logging of broker start-up and shut-down sequence. - qpid-ha heartbeat use half of timeout option. - add missing timeouts in qpid-ha. Notes: This changes the behavior of 'clusvcadm -d <qpidd-service>' on the primary node. Previously this would have stopped the qpidd service on that node, killed the qpidd process and relocated the primary service. Now this will stop the qpidd service (as far as rgmanager is concerned) but will not kill qpidd or relocate the primary service. When the primary is relocated the qpidd service wil not be able to re-start on that node until it is re-enabled with 'clusvcadm -e'. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1614895 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Perl Receiver returning an unwrapped Message object.Darryl L. Pierce2014-07-311-0/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1614890 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5939: Add get_address to Perl Sender/Receiver classes.Darryl L. Pierce2014-07-313-4/+44
| | | | | | Updated the Perl client/server examples. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1614889 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5924 [linearstore] Qpidd Will Not Start with Large Number of QueuesKim van der Riet2014-07-305-1/+10
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1614665 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5941: Set sensible default build type: default is RelWithDebInfo.Alan Conway2014-07-291-0/+12
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1614472 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5888: Fix test to ignore occasional TransactionAborted failures on ↵Alan Conway2014-07-291-1/+2
| | | | | | connection.close. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1614331 13f79535-47bb-0310-9956-ffa450edef68
* [QPID-5929]: Mark deprecated QMF fields as Deprecated and do some relevant ↵Pavel Moravec2014-07-2911-90/+40
| | | | | | code cleanup git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1614301 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5890: Validation refactoring. Fix Coverity MIXED_ENUM complaint.Charles E. Rolke2014-07-281-4/+48
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1614031 13f79535-47bb-0310-9956-ffa450edef68