History log of /6.0.3/kv_engine/engines/default_engine/engine_manager.h (Results 1 - 3 of 3)
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, 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, v5.1.2, v5.1.1, v5.0.1, v5.1.0, v5.0.0, v4.6.2_ep, v4.6.2_mc, v4.6.1_ep, v4.6.0_ep, v4.5.1-MP1_mc
# d4b3338b 01-Nov-2016 Trond Norbye <trond.norbye@gmail.com>

MB-21512: Don't shutdown EngineManager twice

Previously we called the shutdown manually, and later on
it was called from the destructor without checking if
it was already shut down.

MB-21512: Don't shutdown EngineManager twice

Previously we called the shutdown manually, and later on
it was called from the destructor without checking if
it was already shut down.

In addition to that we had some cases where we could race
during shutdown by just checking an atomic variable if
we should add stuff to the internal queues or not. We
have to hold the mutex so that another thread can't change
that state right after we checked it, but before we added
our items to the list.

Change-Id: I7686e549f2e80bbdc165d608513b882774fe658e
Reviewed-on: http://review.couchbase.org/69335
Tested-by: buildbot <build@couchbase.com>
Reviewed-by: Dave Rigby <daver@couchbase.com>

show more ...


# 6232d98a 01-Nov-2016 Trond Norbye <trond.norbye@gmail.com>

Refactor: Move scrubberTask out of engine_manager.cc

Change-Id: I3540aa3e85e2b1ab19e7763a4b8a350505d43ee3
Reviewed-on: http://review.couchbase.org/69378
Tested-by: buildbot <build@co

Refactor: Move scrubberTask out of engine_manager.cc

Change-Id: I3540aa3e85e2b1ab19e7763a4b8a350505d43ee3
Reviewed-on: http://review.couchbase.org/69378
Tested-by: buildbot <build@couchbase.com>
Reviewed-by: Dave Rigby <daver@couchbase.com>

show more ...


Revision tags: 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, v4.1.0_ep, v3.1.2_ep, v4.1.0_mc, v3.1.2_mc, v3.1.1_mc, v3.1.1_ep, v4.0.0_ep, v4.0.0_mc, v3.1.0_ep, v3.1.0_mc, v3.1.6_mc, v3.0.2-MP2_mc
# 6bbec722 12-Dec-2014 jim <jim@couchbase.com>

Tynset - A multi-bucket default_engine

1. All buckets store their items in a single hash_table (assoc).
1.1 Each item key now has a bucket_id prepended to the key string.
1.2 The eng

Tynset - A multi-bucket default_engine

1. All buckets store their items in a single hash_table (assoc).
1.1 Each item key now has a bucket_id prepended to the key string.
1.2 The engine->assoc points to the single table and all code still
manipulates the table via the engine handle.

2. The bucket_id is managed by memcached 'core'
2.1 The bucket_id is a 32-bit unsigned integer which increments for
every bucket creation the process receives.
2.2 The bucket_id is not persisted, the same bucket after a restart is not
guaranteed the same bucket_id (this is subject to future change).
2.3 The bucket_id must not wrap (i.e. a bucket_id can't be reused)

3. Bucket deletion is performed by the item scrubber.
3.1 A single scrubber thread has a queue of engine's to scrub and delete.
3.2 Global cleanup/shutdown collects this single thread so that the DLL
can be safely unloaded.

Change-Id: Idc2bb6748dc75a227c97ad9c44445758b88015b0
Reviewed-on: http://review.couchbase.org/50122
Tested-by: buildbot <build@couchbase.com>
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>

show more ...