summaryrefslogtreecommitdiff
path: root/cpp/src/qpid
Commit message (Collapse)AuthorAgeFilesLines
* QPID-2956: cluster broker exits with "error deliveryRecord no update message."Alan Conway2010-11-222-9/+14
| | | | | | | | | The following sequence of events was causing a broker joining the cluster to shutdown: - a client acquires or browses a message with TTL set. - the message expires. - a new broker joins before the client has acknowledged the message. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1037763 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2874 Clustered broker crashes in assertion in cluster/ExpiryPolicy.cppAlan Conway2010-11-182-11/+51
| | | | | | | | | | | | | | - Added missing lock to ExpiryPolicy - 1-N mapping for expiry ID to mapping when receiving an update. - Regression test. A fan-out message (sent to multiple queues e.g. by fanout or topic exchange) is a single message on multiple queues with a single expiry ID. During an update however each instance is sent as a separate message so we need to allow 1-N mapping of expiry ID to message during update. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1036589 13f79535-47bb-0310-9956-ffa450edef68
* cluster/Numbering.h: Removed unused and incorrect function contains()Alan Conway2010-11-171-2/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1036214 13f79535-47bb-0310-9956-ffa450edef68
* Aggregate Timer warnings.Alan Conway2010-11-174-18/+174
| | | | | | | | | | | | The Timer code logs a warning if a timer callback is started late or overruns the start time for the next callback. In cases where there are a lot of these warnings, the time taken to do the logging itself severly worsens the situation. This commit aggregates timer warnings and give a statistical report every 5 seconds at most. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1036169 13f79535-47bb-0310-9956-ffa450edef68
* Handle iterator properly when removing entries from list; resolves QPID-2941.Stephen D. Huston2010-11-121-3/+7
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1034586 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2674: prevent callbacks after doDelete has been calledGordon Sim2010-11-121-0/+10
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1034523 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2940: always request completions from broker on Session::acknowledge(), ↵Gordon Sim2010-11-122-2/+4
| | | | | | and always clean up any pending accept records at that time git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1034393 13f79535-47bb-0310-9956-ffa450edef68
* Fix to r1028346: no point in throwing exception after queue has already been ↵Gordon Sim2010-11-101-5/+11
| | | | | | created, so just log error and revert to default (do this for floating point values also) git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1033585 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2934 Feature to pass the authenticated userId to QMF agent method ↵Ted Ross2010-11-094-15/+25
| | | | | | handlers for authorization git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1033232 13f79535-47bb-0310-9956-ffa450edef68
* Manage CLFS containers using policies to both create the initial containers ↵Stephen D. Huston2010-11-053-23/+46
| | | | | | and to automatically grow and shrink the log as needed. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1031842 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2926 Simple example code does not link under WindowsCharles E. Rolke2010-11-051-0/+64
| | | | | | This commit provides a windows-only Handle instantiator for the currently known Handle consumers. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1031711 13f79535-47bb-0310-9956-ffa450edef68
* Revised Messages to keep track of queues each message is on to enable ↵Stephen D. Huston2010-11-043-207/+255
| | | | | | finding all messages on a deleted queue. Removed this type of tracking from MSSqlClfsProvider.cpp. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1031325 13f79535-47bb-0310-9956-ffa450edef68
* Catch com exceptions during db recovery and rethrow as ADOExceptions which ↵Stephen D. Huston2010-11-031-65/+105
| | | | | | the broker can deal with. Resolves QPID-2925. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1030752 13f79535-47bb-0310-9956-ffa450edef68
* Changed Variant::fromString() to Variant::parse(). Also changed implementation.Jonathan Robie2010-11-012-35/+14
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1029673 13f79535-47bb-0310-9956-ffa450edef68
* Moved new cluster design docs into cpp/design.Alan Conway2010-11-013-932/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1029671 13f79535-47bb-0310-9956-ffa450edef68
* Updates to new cluster design docs.Alan Conway2010-11-012-108/+113
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1029670 13f79535-47bb-0310-9956-ffa450edef68
* Corrects AddressParser to use typed simple values.Jonathan Robie2010-10-292-3/+41
| | | | | | | | | | Adds Variant::fromString(). Resolves QPID-2896 and QPID-2908. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1028860 13f79535-47bb-0310-9956-ffa450edef68
* Since LSNs are used as persistence IDs and ID 0 usually means "not ↵Stephen D. Huston2010-10-299-30/+131
| | | | | | | | | persisted", ensure that no log record that's used gets written at LSN 0. Add stub for loadContent(). Correct transaction references in enqueue/dequeue. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1028840 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2916: throw an exception when a data value cannot be encoded correctly ↵Kenneth Anthony Giusti2010-10-283-20/+47
| | | | | | as its type. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1028501 13f79535-47bb-0310-9956-ffa450edef68
* Fixes broker issues when max_count or max_size are invalid.Jonathan Robie2010-10-282-7/+20
| | | | | | | Accepts non-negative integer values, or strings containing the lexical representation of such values. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1028346 13f79535-47bb-0310-9956-ffa450edef68
* Updates to new cluster design.Alan Conway2010-10-271-3/+6
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1028082 13f79535-47bb-0310-9956-ffa450edef68
* Revert experimental cluster code, too close to 0.8 release.Alan Conway2010-10-2724-1223/+59
| | | | | | | | | Reverts revisions: r1023966 "Introduce broker::Cluster interface." r1024275 "Fix compile error: outline set/getCluster fucntions on Broker." r1027210 "New cluster: core framework and initial implementation of enqueue logic." git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1028055 13f79535-47bb-0310-9956-ffa450edef68
* Updates to new cluster design.Alan Conway2010-10-273-1/+19
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1028006 13f79535-47bb-0310-9956-ffa450edef68
* Add missing Apache licences to cluster files.Alan Conway2010-10-263-1/+53
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1027749 13f79535-47bb-0310-9956-ffa450edef68
* Updates to new cluster design docs regarding active-passive mode.Alan Conway2010-10-263-3/+14
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1027714 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2897 repair missing DLL import/export controlsCharles E. Rolke2010-10-261-7/+7
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1027659 13f79535-47bb-0310-9956-ffa450edef68
* This code's purpose was only to print out the sasl version into the logsMichael Goulish2010-10-261-5/+1
| | | | | | | | | | so that I could grep for it in the sasl_fed test. But it is breaking the windows build. So I am backing it out, and temporarily disabling the sasl_fed test until I can implement something a little less grotesque. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1027594 13f79535-47bb-0310-9956-ffa450edef68
* Initial design document on implementing active/passive clustering.Alan Conway2010-10-251-0/+39
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1027211 13f79535-47bb-0310-9956-ffa450edef68
* New cluster: core framework and initial implementation of enqueue logic.Alan Conway2010-10-2519-41/+944
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1027210 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2897: modify TopicExchange for better performance with respect to large ↵Kenneth Anthony Giusti2010-10-242-129/+548
| | | | | | number of bindings. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1026715 13f79535-47bb-0310-9956-ffa450edef68
* Make the "SASL enabled" log message also print out the SASL version number. ↵Michael Goulish2010-10-221-1/+5
| | | | | | This will be useful in one test that depends on some SASL functionality that was not available before 2.1.22 . git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1026227 13f79535-47bb-0310-9956-ffa450edef68
* Add hybrid SQL-CLFS store that can be used on Windows systems Vista, Win ↵Stephen D. Huston2010-10-2117-6/+3185
| | | | | | Server 2008 and up - these have the Common Log File System facility. The CLFS store uses CLFS to store/recover messages and transactions instead of SQL. SQL still holds queues, bindings, exchanges, configs. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1026175 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1672, r1024541 Failed to modify the windows-private SaslFactory. This ↵Charles E. Rolke2010-10-212-13/+42
| | | | | | | | | | | | commit: * coerces CMake to include the two different SaslFactory sources into qpidcommon. * modifies the windows SaslFactory to use the new interface constructs. * adds QPID_COMMON_EXPORT to the Sasl code new to qpidcommon. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1026155 13f79535-47bb-0310-9956-ffa450edef68
* Strings that identify federation operations.Jonathan Robie2010-10-211-0/+38
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1026010 13f79535-47bb-0310-9956-ffa450edef68
* Adds support for federation in the XML exchange.Jonathan Robie2010-10-209-183/+310
| | | | | | | | | Resolves QPID-2348 for the XML Exchange. Also made some changes to the file structure for fedop constants. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1025780 13f79535-47bb-0310-9956-ffa450edef68
* SASLizing Interbroker LinksMichael Goulish2010-10-2013-44/+257
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ------------------------------------------------------------- 1. Brokers already knew how to handle the server side of SASLized links, but not the client side. So we promoted the client-side SASL code from the client library to the common library so that the broker could also use it. This affected SaslFactory.{h,cpp} and Sasl.h TODO -- can the server-side and client-side code be unified here? 2. Some of the SASL verbs in broker/ConnectionHandler.cpp are expanded: start, secure, tune. 3. broker/SecureConnection is altered to get the client-broker and the server-broker to agree on when the security layer should be inserted. 4. the python tool qpid-route is modified so that, in the "route add" command, you can specify the security mechanism for SASL to use. TODO -- should we also pass in {min,max}SSF ? 5. Changes in broker/LinkRegistry to allow the information input by qpid-route to be passed up to where it is needed. 6. A bash script test run by "make check" that creates a SASLized federation link and sends some messages down it. TODO - write a python unit test instead of a bash script. I think I uncovered a bug in the python code when I tried. 7. NOTE - testing for this feature does not work with versions of SASL earlier than 2.1.22, becuase I can't tell SASL to use a SASL database file in a nonstandard location. The test is disabled for earlier versions. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1024541 13f79535-47bb-0310-9956-ffa450edef68
* Fix compile error: outline set/getCluster fucntions on Broker.Alan Conway2010-10-192-2/+6
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1024275 13f79535-47bb-0310-9956-ffa450edef68
* Introduce broker::Cluster interface.Alan Conway2010-10-1812-51/+745
| | | | | | | | | See cpp/src/qpid/cluster/new-cluster-design.txt and new-cluster-plan.txt. qpid/cpp/src/tests/BrokerClusterCalls.cpp is a unit test that verifies the broker makes the expected calls on broker::Cluster in various situations. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1023966 13f79535-47bb-0310-9956-ffa450edef68
* Code cleanup in broker directory.Alan Conway2010-10-1446-461/+488
| | | | | | | | - Removed un-necessary #includes for broker/Queue.h - Removed "using std::string" in header files. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1022679 13f79535-47bb-0310-9956-ffa450edef68
* Add state constraint annotations to Rdma::AsynchIO;Andrew Stitcher2010-10-121-4/+14
| | | | | | | Simplify state machine slightly git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1021831 13f79535-47bb-0310-9956-ffa450edef68
* Improve the performance of the Rdma::AsynchIO by using a veryAndrew Stitcher2010-10-122-7/+62
| | | | | | | | simple state machine to reduce the context switch for notifyPendingWrite() by allowing it to "hijack" existing concurrent processing on an IO thread. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1021823 13f79535-47bb-0310-9956-ffa450edef68
* Rewrite Rdma::AsynchIO to use deferred code rather than a state machine:Andrew Stitcher2010-10-122-238/+26
| | | | | | | | This eliminates a lot of difficult to understand error prone state machine code git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1021822 13f79535-47bb-0310-9956-ffa450edef68
* Delay deleting the Rdma::AsynchIO associated with a Connection to just beforeAndrew Stitcher2010-10-121-69/+55
| | | | | | | | | | | | the callback to the ConnectionImpl shutdown function so that we make the possibility of race between a write coming down and deleting it as small as possible. Rearranged scope of polling boolean to indicate that the data channel is connected (or not) and changed name to better describe its function git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1021821 13f79535-47bb-0310-9956-ffa450edef68
* Account for seemingly getting reject messages after already getting establishedAndrew Stitcher2010-10-121-1/+7
| | | | | | | event. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1021820 13f79535-47bb-0310-9956-ffa450edef68
* Serialise close into the data callbacks:Andrew Stitcher2010-10-123-38/+72
| | | | | | | | | Rejig Rdma::ConnectionManager to have a stop function with a callback and use this to ensure that the Rdma::Connector used by qpid::sys::RdmaConnector is correctly deleted only after it has been actually stopped git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1021819 13f79535-47bb-0310-9956-ffa450edef68
* Make sure that Rdma::Listener can generate no more callbacks after it receivesAndrew Stitcher2010-10-121-0/+12
| | | | | | | a disconnected event for a connection id. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1021818 13f79535-47bb-0310-9956-ffa450edef68
* If we have already stopped an Rdma connection, but we still get a data eventAndrew Stitcher2010-10-121-0/+3
| | | | | | | ignore it git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1021817 13f79535-47bb-0310-9956-ffa450edef68
* Handle Rdma Flush events - instead of reporting to the application justAndrew Stitcher2010-10-121-0/+16
| | | | | | | | return write buffers to the pool and do nothing for recv buffers as the connection must be in an error state now. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1021816 13f79535-47bb-0310-9956-ffa450edef68
* Fix Rdma test server so that you can interrupt it again (since makingAndrew Stitcher2010-10-121-3/+9
| | | | | | | Poller run loop impervious to signals) git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1021815 13f79535-47bb-0310-9956-ffa450edef68
* Catch uncaught exceptions thrown by DispatchHandle callbacks instead of lettingAndrew Stitcher2010-10-121-0/+7
| | | | | | | then destroy the Poller thread. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1021814 13f79535-47bb-0310-9956-ffa450edef68