Revision tags: v7.0.2, v6.6.3, v7.0.1, v7.0.0, v6.6.2, v6.5.2, v6.6.1, v6.0.5, v6.6.0, v6.5.1, v6.0.4, v6.5.0, v6.0.3 |
|
#
1dea040b |
| 09-Aug-2019 |
Dave Rigby <daver@couchbase.com> |
daemon/ExecutorPool: fix violations of ODR The class ExecutorPool in daemon/executorpool.h has the same symbol name as the one in engines/ep/src/executorpool.h. This violates the One
daemon/ExecutorPool: fix violations of ODR The class ExecutorPool in daemon/executorpool.h has the same symbol name as the one in engines/ep/src/executorpool.h. This violates the One Definition Rule (ODR). This problem has _apparently_ not been noticed thus far, however when attempting to build with UBSan without optimization (-O0) it manifests as an attempt to delete an invalid pointer. Note the backtrace below - between frames #11 and #10 we flip between the destructors of ep-ExecutorPool and daemon-ExecutorPool, this results in attemptint to delete a pointer which is actually an object vtable at frame #5: #5 0x00000000013c638f in std::_Destroy<...> (__pointer=0x7fffe5c276f0 <vtable for ExecutorPool+16>) at /usr/local/include/c++/7.3.0/bits/stl_construct.h:98 ... #9 0x00000000013a043a in std::vector<...>::~vector (this=0x615000082080, __in_chrg=<optimized out>) at /usr/local/include/c++/7.3.0/bits/stl_vector.h:434 #10 0x000000000139084c in ExecutorPool::~ExecutorPool (this=0x615000082080, __in_chrg=<optimized out>) at kv_engine/daemon/executorpool.h:35 #11 0x00007fffe4425fe6 in ExecutorPool::~ExecutorPool (this=0x615000082080, __in_chrg=<optimized out>) at kv_engine/engines/ep/src/executorpool.cc:191 #12 0x00007fffe44245df in ExecutorPool::shutdown () at kv_engine/engines/ep/src/executorpool.cc:151 Fix by moving the daemon ExecutorPool into the `cb` namespace (that class arrived later and is used less, so is the easier one to rename). Change-Id: Id6e5e154b9acc42d6b05e5cec5ec95ae72741462 Reviewed-on: http://review.couchbase.org/113139 Reviewed-by: James Harrison <james.harrison@couchbase.com> Tested-by: Build Bot <build@couchbase.com> Reviewed-by: Trond Norbye <trond.norbye@couchbase.com>
show more ...
|
Revision tags: v5.5.4, v5.5.5, v5.5.6, v6.0.1, v5.5.3, v6.0.0, v5.1.3, v5.5.2, v5.5.1 |
|
#
ea15e773 |
| 29-Jun-2018 |
Dave Rigby <daver@couchbase.com> |
Remove unnecessary headers (daemon / cookie) Remove unncessary headers and #includes; mostly centered around cookie.h (but spreading out from there...) Change-Id: Id0e0045b0b015
Remove unnecessary headers (daemon / cookie) Remove unncessary headers and #includes; mostly centered around cookie.h (but spreading out from there...) Change-Id: Id0e0045b0b015fe75bf347ff784ecfea0102ed27 Reviewed-on: http://review.couchbase.org/96335 Reviewed-by: Tim Bradgate <tim.bradgate@couchbase.com> Reviewed-by: Trond Norbye <trond.norbye@gmail.com> Tested-by: Build Bot <build@couchbase.com>
show more ...
|
Revision tags: v5.1.2, v5.1.1, v5.0.1, v5.1.0, v5.0.0 |
|
#
4a6a43c1 |
| 03-Jun-2017 |
Will Gardner <willg@rdner.io> |
Add ability to mock ProcessClock in ExecutorPool This makes use of platform's new ProcessClockSource interface to make it possible to inject a different clock source into the Executo
Add ability to mock ProcessClock in ExecutorPool This makes use of platform's new ProcessClockSource interface to make it possible to inject a different clock source into the ExecutorPool which allows for changing the time during tests in a reliable, efficient manner. This patch also exposes queue sizes for the various executor queues. This is intended for use in the tests to verify which queue a task resides in but is also a useful stat to be exposed in future. Finally this patch updates the FutureExecuton test in the executor test suite to make use of a mock clock source to allow for a more robust and thorough test of the futureq behaviour. Change-Id: Ie2c164ac34fe7d66b8210b5c5188837788b775d6 Reviewed-on: http://review.couchbase.org/79022 Reviewed-by: Dave Rigby <daver@couchbase.com> Tested-by: Build Bot <build@couchbase.com>
show more ...
|
#
fd603705 |
| 05-May-2017 |
Will Gardner <willg@rdner.io> |
Add ability to schedule tasks to be runnable in the future Tasks can be schedule to be made runnable in the future via the `makeRunnable(time)` method. The daemon periodically checks
Add ability to schedule tasks to be runnable in the future Tasks can be schedule to be made runnable in the future via the `makeRunnable(time)` method. The daemon periodically checks per-executor lists of future scheduled tasks and sets them as runnable when the designated time has passed. Change-Id: I6d456e23ebc7ade1b8742d2ee8e22ee7d0b30050 Reviewed-on: http://review.couchbase.org/77735 Tested-by: Build Bot <build@couchbase.com> Reviewed-by: Dave Rigby <daver@couchbase.com>
show more ...
|
Revision tags: v4.6.2_ep, v4.6.2_mc, v4.6.1_ep, v4.6.0_ep, v4.5.1-MP1_mc, v4.6.0-DP_mc, v4.6.0-DP_ep, v4.5.1-MP1_ep, v4.1.2-MP2_mc, v4.5.1_mc, v4.6.0_mc, v4.1.2-MP1_ep, v3.1.6_ep, v4.5.0_mc, v4.5.0_ep, v4.1.1_ep, v3.1.5_ep, v4.1.1_mc, v3.1.4_ep, v3.1.4_mc, v3.1.5_mc, v3.1.3_ep |
|
#
2a8eac92 |
| 17-Nov-2015 |
Trond Norbye <trond.norbye@gmail.com> |
Add executor and task infrastructure We want to be able to support out of order responses in greenstack so we need to be able to offload waiting for the responses and pick up such re
Add executor and task infrastructure We want to be able to support out of order responses in greenstack so we need to be able to offload waiting for the responses and pick up such results in a generic way. Change-Id: Ibfdb50bc7a35ac0511ee01d66424ea3d8dabc713 Reviewed-on: http://review.couchbase.org/57255 Tested-by: buildbot <build@couchbase.com> Reviewed-by: Dave Rigby <daver@couchbase.com>
show more ...
|