summaryrefslogtreecommitdiff
path: root/cpp
Commit message (Collapse)AuthorAgeFilesLines
* QPID-6118: Add qmf shutdown command to the brokerAlan Conway2014-09-262-1/+8
| | | | | | | | QMF shutdown command implemented on broker. - ACL to control shutdown: acl deny all access method name=shutdown - Added "qpid-config shutdown" command to shut down the broker. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1627811 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6123: allow for change in engine API introduced in 0.8Gordon Sim2014-09-264-12/+52
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1627809 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6008: Fixed up FreeBSD 10 build instructions to workAndrew Stitcher2014-09-231-1/+9
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1627104 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6107: Python Swig wrapped bindings consistently fail with spout and drainAlan Conway2014-09-221-0/+1
| | | | | | Problem was a missing Py_INCREF in cpp/include/qpid/swig_python_typemaps.i git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1626887 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: HA Remove dead code in ReplicatingSubscription.Alan Conway2014-09-221-7/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1626882 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6112: Incoming QMF objects dont update transfers counterPavel Moravec2014-09-221-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1626808 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5590: handle unknown exchange type for topic policyGordon Sim2014-09-193-4/+29
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1626206 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5361: No tests for linearstore functionality currently exist - basic ↵Kim van der Riet2014-09-169-1/+797
| | | | | | tests from the legacystore suite ported to linearstore git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1625283 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4575: VS2012 - fix cmake to allow in-source build where dirs source == ↵Charles E. Rolke2014-09-141-2/+6
| | | | | | binary git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1624795 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4575: C++ Messaging .NET Binding fixes for Visual Studio 2012Charles E. Rolke2014-09-1279-2306/+882
| | | | | | | | | | Rename msvc10 folders to msvcx as they hold files 2010, 2012, ... Change projects/solutions to .in templates and cmake configure them. Collapse common example csproj files into common template. Add cmake BUILD_BINDING_DOTNET option setting. Fix up various scripts to accomodate new studio version. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1624604 13f79535-47bb-0310-9956-ffa450edef68
* Test commit using git-svnCharles E. Rolke2014-09-121-4/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1624570 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6087: QMF Session name to contain user ID for AMQP 0-10Pavel Moravec2014-09-121-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1624473 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Fix typo in qpid/cpp/BuildInstallSettings.cmakeAlan Conway2014-09-111-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1624419 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6089: Need to register transports with the Url parser.Andrew Stitcher2014-09-091-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1623882 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Fix error message test in acl.py, on older python versions error ↵Alan Conway2014-09-091-10/+10
| | | | | | code is '7L' instead of '7' git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1623856 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5033: Bad buffer accounting leading to spurious SSL errors on WindowsClifford Jansen2014-09-095-217/+338
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1623614 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Fix minor bug in run_paged_queue_tests handling a failure to start ↵Alan Conway2014-09-051-1/+1
| | | | | | broker. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1622593 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: HA Fix ha_tests.py failures with SWIG 0.10 client.Alan Conway2014-09-056-45/+57
| | | | | | | | - Fix un-necessary re-sends in amqp0_10::SenderImpl::replay. - Throw NotFound and UnauthorizedAccess correctly from amqp0_10::SessionImpl and ConnectionImpl - Fix ha_test wait_address and valid_address re-using a session after it is closed by NotFound. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1622592 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Fix qpid/cpp/src/tests/ha_tests.py to work on python 2.4.Alan Conway2014-09-041-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1622560 13f79535-47bb-0310-9956-ffa450edef68
* [AMQP 1.0] tcp-nodelay not supported yet on 1.0 connectionsAlan Conway2014-09-042-0/+3
| | | | | | Fixed. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1622507 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6069: Extra fix to FreeBSD compile fixesAndrew Stitcher2014-09-041-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1622397 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Explictily convert double to uint64_t in qpid-txtest2 to avoid ↵Alan Conway2014-09-031-1/+1
| | | | | | warnings on some compilers. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1622372 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6069: FreeBSD compilation problemsAndrew Stitcher2014-09-032-3/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1622369 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5855: Fix to JAVA Client Can not recieve message with qpid ha cluster.Alan Conway2014-08-295-10/+18
| | | | | | | | | | | | | | The original fix for this introduced a regression, running the qpid-txttest2 test against a cluster with the linear store failed. This fixes the fix. - Run transaction commit logic when the commit completes. Report completion to the user only when all prior commands have completed (sync point) - Fix missing initializer in client/amqp0_10/SessionImpl.cpp for transaction committing flag. - Remove annoying log messages from IdSetter.h - Skip transactional messages in prepare, don't wait till commit. - Added fetch-timeout option to qpid-txtest2 git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1621368 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: brokertest.py: don't use AMQP 1.0 if not available, ignore ↵Alan Conway2014-08-281-4/+5
| | | | | | connection close teardown errors. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1621212 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5975: HA extra/missing messages when running qpid-txtest2 in a loop ↵Alan Conway2014-08-2811-47/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-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/qpid@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/qpid@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/qpid@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/qpid@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/qpid@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/qpid@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/qpid@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/qpid@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/qpid@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/qpid@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/qpid@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/qpid@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/qpid@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/qpid@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/qpid@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/qpid@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/qpid@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/qpid@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/qpid@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/qpid@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/qpid@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/qpid@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/qpid@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/qpid@1618712 13f79535-47bb-0310-9956-ffa450edef68