summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/Broker.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Revert experimental cluster code, too close to 0.8 release.Alan Conway2010-10-271-6/+0
| | | | | | | | | 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
* 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
* 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
* Fix compile error: outline set/getCluster fucntions on Broker.Alan Conway2010-10-191-0/+4
| | | | 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-181-0/+2
| | | | | | | | | 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-141-0/+2
| | | | | | | | - 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
* Revert commits r981517 and r981435 that moved periodic purging of queues ↵Gordon Sim2010-08-111-2/+1
| | | | | | onto cluster's timer. If the timer fires during an update it causes errors; it also puts a potentially time consuming task on the clusters dispatch thread. Instead don't purge LVQs to avoid cluster inconsistencies (and more directly the assertion that aims to prevent these). git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@984357 13f79535-47bb-0310-9956-ffa450edef68
* Ensure that for clustered broker the queue cleaner is run on the correct thread.Gordon Sim2010-08-021-1/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@981435 13f79535-47bb-0310-9956-ffa450edef68
* Fix unreferenced local variable warningStephen D. Huston2010-07-151-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@964623 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2727: Handle exceptions in Broker constructor and call finalise to ↵Gordon Sim2010-07-091-0/+5
| | | | | | safely cleanup plugins git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@962586 13f79535-47bb-0310-9956-ffa450edef68
* Defer delivery of messages in cluster-unsafe context.Alan Conway2010-07-051-1/+6
| | | | | | | | | | | | | | | Messages enqueued in a cluster-safe context are synchronized across the cluster. However some messages are delivered in a cluster-unsafe context, for example raising a link established event occurs the connection thread of the establishing connection. This fix deferrs such messages by multicasting them so they can be re-delived in a cluster safe context. See https://bugzilla.redhat.com/show_bug.cgi?id=611543 git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@960681 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2649: Ensure timer is stopped before we start deleting broker membersGordon Sim2010-06-071-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@952307 13f79535-47bb-0310-9956-ffa450edef68
* Jira QPID-2617 -- make sasl-based tests config files relocatableMichael Goulish2010-05-241-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this change, sasl-based testing cannot be fully automated because the sasl db must be located in the standard installation location of /etc/sasl2. * Created a new directory "sasl_config" under cpp/src/tests * added a new makefile fragment "sasl.mk" to cpp/src/Makefile.am conditionally included basedon HAVE_SASL, which is defined by configure. ( NOTE: should be in cpp/src/tests/Makefile.am, but getting an "saslpasswd2: generic failure" when I try that. ) * The sasl.mk fragment uses saslpasswd2 to create a sasl db in cpp/src/tests/sasl_config that defines two users with eponymous passwords. * In test cluster_authentication_soak.cpp, make the cluster name random. * make SaslAuthenticator code accept and use a config path * give cluster_authentication_soak self-test capability. the test is meant to detect two problems: - broker failure - perftest hang so give it flags that will force either of those conditions. This allows me to (anually) ensure that the test really does detect those conditions when they occur. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@947748 13f79535-47bb-0310-9956-ffa450edef68
* Support for multiple protocols in qpid::Url.Alan Conway2010-05-111-2/+3
| | | | | | | | | | - simplified qpid::Address to hold (protocol,host,port) triples. - protocol plugins call Url:addProtocol to add tags to Url parser. - use Address::protocol when establishing connections. - ssl_test: tests using URL to connect. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@943130 13f79535-47bb-0310-9956-ffa450edef68
* Handle incorrect values for worker-threads option more gracefullyGordon Sim2010-04-261-15/+20
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@938060 13f79535-47bb-0310-9956-ffa450edef68
* Code cleanup Ted Ross2010-04-231-1/+1
| | | | | | | | | | - Removed IdAllocator (it's no longer needed) - Cleaned up the calls to ManagementAgent::addObject to handle durable objects - Removed the deferred call to addObject for durable objects - Removed unneeded calls to self._checkClosed() in qmf.console.Agent git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@937516 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2517 - Broker schema changes to support cluster management.Ted Ross2010-04-231-1/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@937470 13f79535-47bb-0310-9956-ffa450edef68
* Implementation of QPID-2509 (Remove message staging from C++ broker)Kim van der Riet2010-04-151-5/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@934463 13f79535-47bb-0310-9956-ffa450edef68
* Merged the changes from the qmf-devel0.7a branch back to the trunk.Ted Ross2010-03-311-2/+7
| | | | | | | | | | | | | | | | | This is a checkpoint along the QMFv2 development path. This update introduces portions of QMFv2 into the code: - The C++ agent (qpid/agent) uses QMFv2 for data and method transfer o The APIs no longer use qpid::framing::* o Consequently, boost is no longer referenced from the API headers. o Agents and Objects are now referenced by strings, not numbers. o Schema transfer still uses the QMFv1 format. - The broker-resident agent can use QMFv1 or QMFv2 based on the command line options. It defaults to QMFv1 for compatibility. - The pure-python QMF console (qmf.console) can concurrently interact with both QMFv1 and QMFv2 agents. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@929716 13f79535-47bb-0310-9956-ffa450edef68
* Added hooks in the broker for QMFv2 management of the broker.Ted Ross2010-03-081-5/+17
| | | | | | | | | Now both DirectExchange and TopicExchange have been subclassed so messages can be redirected to the embedded management agent (in QMFv1, only the topic exchange was subclassed this way). git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@920189 13f79535-47bb-0310-9956-ffa450edef68
* Replace PeriodicTimer with ClusterTimer, which inherits from Timer.Alan Conway2010-01-291-8/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@904656 13f79535-47bb-0310-9956-ffa450edef68
* QPID_2634 Management updates in timer create inconsistencies in a cluster.Alan Conway2010-01-271-1/+10
| | | | | | | | | Cluster plugin provides a PeriodicTimer implementation to the broker which executes tasks in the cluster dispatch thread simultaneously across the cluster. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@903869 13f79535-47bb-0310-9956-ffa450edef68
* Added PeriodicTimer interface for periodic tasks that need cluster ↵Alan Conway2010-01-271-0/+2
| | | | | | | | | | | synchronization. The ManagementAgent's periodic prociessing uses PeriodicTimer. PeriodicTimerImpl is the default implementation for stand-alone brokers, simple wrapper for sys::Timer. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@903866 13f79535-47bb-0310-9956-ffa450edef68
* Cluster-safe assertions.Alan Conway2010-01-201-1/+1
| | | | | | | | | Assert that replicated data structures are modified in a cluster-safe context - in cluster delivery thread or during update. Assertions added to Queue.cpp and SemanticState.cpp. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@901282 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2266: error sending update: Enqueue capacity threshold exceededAlan Conway2009-12-111-0/+1
| | | | | | | | | Fix for the problem with a test to verify that messages going to the store have the same headers and content-size for an updatee or a broker that receives the publish directly. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@889813 13f79535-47bb-0310-9956-ffa450edef68
* Support for restarting a persistent cluster.Alan Conway2009-11-241-14/+9
| | | | | | | | | | | Option --cluster-size=N: members wait for N members before recovering store. Stores marked as clean/dirty. Automatically recover from clean store on restart. Stores marked with UUID to detect errors. Not yet implemented: consistency checks, manual recovery from all dirty stores. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@883842 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2188 , support for maxConnections, limit is set to brokerCarl C. Trieloff2009-11-171-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@881517 13f79535-47bb-0310-9956-ffa450edef68
* Move management-agent earlier in the init-sequence so it is destroyed after theTed Ross2009-10-221-1/+1
| | | | | | | message store is finalized. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@828716 13f79535-47bb-0310-9956-ffa450edef68
* Fixed memory leak on broker shutdown. Broker's management agent pointer is nowTed Ross2009-10-201-4/+4
| | | | | | | | | a std::auto_ptr rather than a raw pointer. The agent pointer was moved in front of the registries in initialization order to prevent references to deleted management objects when the registries are destroyed. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@827783 13f79535-47bb-0310-9956-ffa450edef68
* Pull running acceptor out of Broker run loopAndrew Stitcher2009-10-161-1/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@826033 13f79535-47bb-0310-9956-ffa450edef68
* Applied patches to resolve QPID-2076Stephen D. Huston2009-10-021-3/+5
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@821066 13f79535-47bb-0310-9956-ffa450edef68
* This patch requires svn 817742, corrects the lock issue for ring queue in ↵Carl C. Trieloff2009-09-231-3/+5
| | | | | | 817742, and protects replication when used together with flow to disk git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@818244 13f79535-47bb-0310-9956-ffa450edef68
* Revisit fix for QPID-1737: (clash with Win32 symbol)Andrew Stitcher2009-09-011-1/+1
| | | | | | | Change all use of STATUS_INVALID_PARAMETER to STATUS_PARAMETER_INVALID git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@810227 13f79535-47bb-0310-9956-ffa450edef68
* Reverted r801903, it should not be needed after r801860 and r801861.Gordon Sim2009-08-071-1/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@801948 13f79535-47bb-0310-9956-ffa450edef68
* Gsim's temporary fix for replication bug.Michael Goulish2009-08-071-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@801903 13f79535-47bb-0310-9956-ffa450edef68
* Revert "Stop timer thread before users are deleted (as they don't all clean ↵Andrew Stitcher2009-08-071-4/+0
| | | | | | | | | up prior to being destroyed)" This reverts commit cfbbe6093b1353f3896249d227cf1458d95abbc7. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@801859 13f79535-47bb-0310-9956-ffa450edef68
* Stop timer thread before users are deleted (as they don't all clean up prior ↵Gordon Sim2009-08-061-0/+4
| | | | | | to being destroyed) git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@801802 13f79535-47bb-0310-9956-ffa450edef68
* Rename of MessageStore::discardInit() to MessageStore::truncateInint(), ↵Kim van der Riet2009-08-051-1/+1
| | | | | | resulting from a cleanup of the code logic in the store. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@801239 13f79535-47bb-0310-9956-ffa450edef68
* Add directory to #includeAlan Conway2009-07-141-12/+12
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@793909 13f79535-47bb-0310-9956-ffa450edef68
* Replace getenv usage with more secure Windows calls - silences compile ↵Stephen D. Huston2009-07-131-3/+2
| | | | | | diagnostics. This involved adding a new method Broker::Options::getHome() implemented separately for Windows and posix BrokerDefaults.cpp git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@793716 13f79535-47bb-0310-9956-ffa450edef68
* Undo change from r774809.Alan Conway2009-05-151-2/+1
| | | | | | | | | | This fix is incorrect. The timer will go off in each member, and each one will send a response message which is replicated, resulting in a response from each member being enqueued rather than a single response. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@775182 13f79535-47bb-0310-9956-ffa450edef68
* Fix for unpredictable enqueues by timer-triggered management code in a cluster.Alan Conway2009-05-141-1/+2
| | | | | | | | | ManagementAgent uses Broker::getClusterMessageHandler() (if non-0) to enqueue timer-triggered messages. Cluster provides handler that enqueues via cluster multicast. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@774809 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1843 - Cleaned up the interface to the broker's internal management agent.Ted Ross2009-05-111-12/+11
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@773570 13f79535-47bb-0310-9956-ffa450edef68
* Fixed cluster store problem where second and subsequent cluster nodes (which ↵Kim van der Riet2009-05-081-17/+19
| | | | | | are persistent) to join a cluster fail with a "Exchange already exists: amq.direct (MessageStoreImpl.cpp:488)" message. To do this a new method was added to MessageStore called discardInit() which will throw away all restored data (if any) and restart as though no restore had taken place. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@773004 13f79535-47bb-0310-9956-ffa450edef68
* Remove useless qpid/shared_ptr.h wrapper.Alan Conway2009-05-061-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@772294 13f79535-47bb-0310-9956-ffa450edef68
* Revert r758359 STATUS_INVALID_PARAMETER changes; breaks build. Reopen QPID-1737Stephen D. Huston2009-03-251-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@758419 13f79535-47bb-0310-9956-ffa450edef68
* Apply patch to s/STATUS_INVALID_PARAMETER/STATUS_PARAMETER_INVALID/ to build ↵Stephen D. Huston2009-03-251-2/+2
| | | | | | on Win7SDK; fixes QPID-1737 git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@758359 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1721: Fixes for replication between clusters when new members are addedGordon Sim2009-03-091-0/+1
| | | | | | | | | | * suppress event generation during node catch up * ensure sequence counters used for duplicate detection are synchronised in both primary and dr clusters when new members join * connect queue with the event manager within queue registry rather than adapter as the latter path is not used for catchup git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@751719 13f79535-47bb-0310-9956-ffa450edef68
* Cluster support for message time-to-live.Alan Conway2009-02-091-0/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@742774 13f79535-47bb-0310-9956-ffa450edef68
* Cluster sets recovery flag on Broker for first member in cluster.Alan Conway2009-02-041-4/+11
| | | | | | | Disable recovery from local store if the recovery flag is not set. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@740793 13f79535-47bb-0310-9956-ffa450edef68