History log of /6.6.0/kv_engine/daemon/executorpool.cc (Results 1 - 5 of 5)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
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 ...