summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/sys
Commit message (Collapse)AuthorAgeFilesLines
* Added Windows high-res timer output. Resolves QPID-3236Stephen D. Huston2011-05-071-6/+29
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1100638 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3236 - Add high-resolution timestamps to log files for debug ↵Kim van der Riet2011-05-022-0/+16
| | | | | | situations. Windows impl has a stub only. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1098554 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3227: assert if application or reserved header overflows send buffer.Ken Giusti2011-04-292-5/+9
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1097934 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3227: account for extra header bytes when computing data size for send ↵Ken Giusti2011-04-273-11/+14
| | | | | | buffers. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1097102 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3199: Locking error qpid::sys::StateMonitorAndrew Stitcher2011-04-111-4/+4
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1091224 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3187: Added exception handling safeguard for timer tasksGordon Sim2011-04-051-1/+5
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1088951 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3129: cluster_tests.LongTests.test_failover hangsAlan Conway2011-03-301-10/+27
| | | | | | | | | | | | | | | | | Fix is a race condition in posix/Socket.cpp Socket::connect. When connecting to a port on the same host which no longer has a process associated with it the OS occasionally chooses the remote port (which is unoccupied) as the port to bind the local end of the socket, resulting in a "circular" connection. This seems like something the OS should prevent but I have confirmed that the sporadic hangs in cluster_tests.LongTests.test_failover on RHEL5 are caused by such a circular connection. The fix is to detect circular connections and raise an error. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1087052 13f79535-47bb-0310-9956-ffa450edef68
* qpid-3171Michael Goulish2011-03-301-1/+1
| | | | | | | | | | | | | | | | | | | | The registration of the codec happens on a different thread from the use of the codec. It is possible for the registration to occur after the first attempted use. In my testing, this happened 3% of the time -- 165 times out of 5000 tests -- when using RDMA transport, and 0 times out of 5000 when using TCP. Which is why we didn't notice it earlier. We have a function that tells when we are ready to encode -- CyrusSecurityLayer::canEncode. But it does not check the validity of the codec pointer before using it, so it cores in this situation. I believe simply checking that pointer is probably the best solution. Introducing that check caused the crash not to show up in 10,000 trials. There were also no hangs. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1087047 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Fix qpidd late/overran warnings.Alan Conway2011-03-182-9/+13
| | | | | | | Warnings for late-and-overrun tasks were not being correctly reported. Lateness for overrun tasks below the late threshold were not being reported. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1082954 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3121: Fix linking on windowsGordon Sim2011-03-081-2/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1079313 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3121: Cluster management inconsistency when using persistent store.Alan Conway2011-03-072-4/+24
| | | | | | | | | | | | | | | | | | | | With the store doing async completions, completion IO callbacks could be queued differently on different nodes. This led to inconsistent management changes in a cluster when a connection was modified in an IO callback. Fix was to mark IO callback processing as not cluster safe, so connections don't record management stats during an IO callback. Test changes: - enable durable tests in test_management. - add substitutions to mask known issue of inconsistent "stats changed" messages. - add transactional client to test_management. - ignore heartbeat connection close logs in cluster_test_logs.py - make brokertest.retry more accurate - fix minor bug in brokertest.log_ready. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1078947 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2216: bump up log levelGordon Sim2011-03-071-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1078882 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2935: merge producer flow control (C++ broker).Ken Giusti2011-02-192-5/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1072356 13f79535-47bb-0310-9956-ffa450edef68
* Fix missing QPID_COMMON_EXTERN in sys/Socket.h, causing windows build failure.Alan Conway2011-02-021-2/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1066581 13f79535-47bb-0310-9956-ffa450edef68
* Resolves QPID-3031. Allows client connection options to specify an SSL ↵Jonathan Robie2011-02-022-27/+47
| | | | | | cert-name. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1066508 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3007: Unique management identifier for connections.Alan Conway2011-02-016-10/+21
| | | | | | | | | | | | | | | Management was using remote socket address (host:port) to identify connections, but this is not a unique identifier. Both the local and remote addresses are needed to uniquely identify a connection - see http://www.faqs.org/rfcs/rfc793.html. This was causing management errors (multiple objects using same identifier) and cluster failures (invalid-arg exception) due to inconsistencies caused by the incorrect management map. This commit uses "localhost:localport-remotehost:remoteport" as a unique identifier. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1066220 13f79535-47bb-0310-9956-ffa450edef68
* Rename Rdma send buffer operations.Andrew Stitcher2010-12-237-21/+21
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1052331 13f79535-47bb-0310-9956-ffa450edef68
* Changes due to review comments from Doug Ledford:Andrew Stitcher2010-12-236-25/+26
| | | | | | | | - Removed lock unsafe operation Rdma::QueuePair::bufferAvailable() and replaced the unavailable case with failing getBuffer(). - Improved asserts in the Rdma::QueuePair::getBuffer() code. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1052330 13f79535-47bb-0310-9956-ffa450edef68
* Implementation for v1 rdma protocol - append sent credit and flags wordAndrew Stitcher2010-12-234-26/+77
| | | | | | | | | after sent frame (instead of sending it in immediate data). Small change to send buffer management to support this to 0 dataCount when returning buffers. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1052329 13f79535-47bb-0310-9956-ffa450edef68
* Reduce rdma scatter gathers allocated per queue pair to 1 as iWarpAndrew Stitcher2010-12-231-2/+5
| | | | | | only supports 1 sge. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1052328 13f79535-47bb-0310-9956-ffa450edef68
* Fix error handling for ibv_post_send() & ibv_port_recv()Andrew Stitcher2010-12-231-3/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1052327 13f79535-47bb-0310-9956-ffa450edef68
* Allow for the case where we get an rdma reject because there is no one listeningAndrew Stitcher2010-12-231-4/+14
| | | | | | on the resolved address git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1052326 13f79535-47bb-0310-9956-ffa450edef68
* Factored rdma sending/receiving code out to make manipulatingAndrew Stitcher2010-12-232-24/+42
| | | | | | credit isolated git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1052325 13f79535-47bb-0310-9956-ffa450edef68
* Reject attempts to connect with version of rdma protocol we don't understandAndrew Stitcher2010-12-232-1/+17
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1052324 13f79535-47bb-0310-9956-ffa450edef68
* Plumb rdma protocol version into Rdma::AsynchIOAndrew Stitcher2010-12-235-0/+7
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1052323 13f79535-47bb-0310-9956-ffa450edef68
* Add in some useful rdma warnings when we reject a connectionAndrew Stitcher2010-12-231-1/+10
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1052321 13f79535-47bb-0310-9956-ffa450edef68
* Add code to switch on/off byteswapping of RDMA ConnectionParamsAndrew Stitcher2010-12-232-15/+60
| | | | | | | | depending on detected protocol version. To give some backwards compatibility and fix a previous error which sent connection params in host order. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1052320 13f79535-47bb-0310-9956-ffa450edef68
* Added test into RdmaClient to be sure the messages we receive are theAndrew Stitcher2010-12-231-8/+40
| | | | | | | same as the message we sent. Use a pseudo random non-repetetive stream as the message to be sure there is no reordering or repeating of messages. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1052319 13f79535-47bb-0310-9956-ffa450edef68
* Allow RdmaClient to be interruptedAndrew Stitcher2010-12-231-2/+6
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1052318 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2967 Windows broker fails to destroy connections if client exits abruptlyCharles E. Rolke2010-12-151-3/+4
| | | | | | | In win::AsynchIOReadComplete(): If there is no data, always call notifyEof(). If status is nonZero then also call notifyDisconnect(). Reviewed by astitcher. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1049702 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2966: Add QMF method to dynamically set the log level.Gordon Sim2010-12-102-1/+8
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1044248 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
* 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
* 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
* Serialise close into the data callbacks:Andrew Stitcher2010-10-122-4/+22
| | | | | | | | | 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
* Converted four files from DOS format to Unix format to match all of the otherTed Ross2010-10-112-852/+852
| | | | | | | | | files in their respective directories. This is a non-substantive change, only end-of-line formatting was modified. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1021423 13f79535-47bb-0310-9956-ffa450edef68
* Break deadlock caused when ClusterTimer::drop is called concurrently with ↵Alan Conway2010-09-091-5/+8
| | | | | | Timer::add. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@995426 13f79535-47bb-0310-9956-ffa450edef68
* Fix to allow compilation with libibverbs 1.1.2Andrew Stitcher2010-09-082-2/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@995165 13f79535-47bb-0310-9956-ffa450edef68
* Stop the client side Rdma code from receiving connection events before the ↵Andrew Stitcher2010-09-082-0/+5
| | | | | | | | data events are stopped to avoid any events after the Rdma::Connector is deleted git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@995145 13f79535-47bb-0310-9956-ffa450edef68
* Delay daemon side Rdma connection disconnect() so that it happens serialisedAndrew Stitcher2010-09-083-1/+23
| | | | | | to the data channel for the connection. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@995143 13f79535-47bb-0310-9956-ffa450edef68
* Avoid Rdma::AsynchIO leaking when stopped without being drained andAndrew Stitcher2010-09-081-1/+3
| | | | | | | add in asserts to be sure that you call stopped and drained callbacks in the correct state git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@995142 13f79535-47bb-0310-9956-ffa450edef68
* Only delete Rdma server side connections when the client disconnects -Andrew Stitcher2010-09-082-12/+16
| | | | | | | this avoids a race between the disconnect event and deleting the connection upon closing. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@995141 13f79535-47bb-0310-9956-ffa450edef68
* Reordered members of RdmaIOHandler to ensure correct destruction orderAndrew Stitcher2010-09-081-4/+5
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@995140 13f79535-47bb-0310-9956-ffa450edef68