History log of /5.5.2/kv_engine/engines/ep/src/atomicqueue.h (Results 1 - 15 of 15)
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
# e671c1d5 15-May-2018 Dave Rigby <daver@couchbase.com>

MB-29675: Remove unnecessary ConnMap shared_ptr refcount changes

ConnMap uses shared_ptrs to maintain various containers of connection
objects. There are a number of places where we unne

MB-29675: Remove unnecessary ConnMap shared_ptr refcount changes

ConnMap uses shared_ptrs to maintain various containers of connection
objects. There are a number of places where we unnecessarily
increment/decrement the refcounts of the underlying shared_ptr objects
- for example:

- When creating new Stream objects we copy the local shared_ptr into
the map (rc:1 -> rc:2); then the local pointer goes out of scope
(rc:2 -> rc:1).

- When iterating through connection objects we iterate by value, which
creates a temporary shared_ptr which only exists for the loop body
scope.

- When calling functions which don't always take a refcount on the
shared_ptr (e.g. notifyPausedConnection) we pass by value which
forces a refcount to be taken.

Remove these unnecessary refcount changes.

Change-Id: Id16ac82f581410c006df69366ace35213a7b56a7
Reviewed-on: http://review.couchbase.org/94204
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
Reviewed-by: Jim Walker <jim@couchbase.com>
Reviewed-by: Tim Bradgate <tim.bradgate@couchbase.com>
Tested-by: Build Bot <build@couchbase.com>

show more ...


# 86e16334 27-Feb-2018 Dave Rigby <daver@couchbase.com>

Remove pre MSVC-2015 code / workarounds

Now we are only build with Visual Studio 2015 upwards (_MSC_VER ==
1900) we can remove code/workarounds for previous versions; or use
existing

Remove pre MSVC-2015 code / workarounds

Now we are only build with Visual Studio 2015 upwards (_MSC_VER ==
1900) we can remove code/workarounds for previous versions; or use
existing platform-abstractions from platform.

Change-Id: Icc623728238df21b6ffb06024c8a8e1b01dee4db
Reviewed-on: http://review.couchbase.org/90134
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
Tested-by: Build Bot <build@couchbase.com>

show more ...


Revision tags: v5.0.1, v5.1.0, v5.0.0
# e04af9d0 24-Aug-2017 Dave Rigby <daver@couchbase.com>

KVStore: move impl-only types to kvstore_priv.h

kvstore.h currently contains two classes of code - (1) the interface
for using KVStore subclasses, and (2) types and code used by
subc

KVStore: move impl-only types to kvstore_priv.h

kvstore.h currently contains two classes of code - (1) the interface
for using KVStore subclasses, and (2) types and code used by
subclasses and to implement KVStore. This results in unnecessary code
being pulled in to files which just want to /use/ KVStore, and don't
need to implement it.

As such, create a new private header - kvstore_priv.h - to contain the
implementation details and move implementaiton code to this file.

Change-Id: Icfd721ffbb39005d7392f27806882d4b4ab97bc1
Reviewed-on: http://review.couchbase.org/82683
Reviewed-by: Manu Dhundi <manu@couchbase.com>
Tested-by: Build Bot <build@couchbase.com>

show more ...


# ef22f9b0 25-May-2017 Dave Rigby <daver@couchbase.com>

Move ep-engine to engines/ep


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
# 1fe3aac8 07-Jul-2016 Manu Dhundi <manu@couchbase.com>

MB-20054: Fix windows build error by adding size() func in class AtomicQueue

Change-Id: I808e31c9a9ba97b67e75c07534350aa91cb040a2
Reviewed-on: http://review.couchbase.org/65596
Well-

MB-20054: Fix windows build error by adding size() func in class AtomicQueue

Change-Id: I808e31c9a9ba97b67e75c07534350aa91cb040a2
Reviewed-on: http://review.couchbase.org/65596
Well-Formed: buildbot <build@couchbase.com>
Tested-by: buildbot <build@couchbase.com>
Reviewed-by: Sriram Ganesan <sriram@couchbase.com>
Reviewed-by: Will Gardner <will.gardner@couchbase.com>

show more ...


# b77fd62a 16-Jun-2016 Dave Rigby <daver@couchbase.com>

MB-20054: Backport ep-engine_unit_tests from watson to 3.0.x

In Watson we have created a set of 'unit' (i.e. class-level) tests for
ep-engine. To assist in backporting bug fixes, and spe

MB-20054: Backport ep-engine_unit_tests from watson to 3.0.x

In Watson we have created a set of 'unit' (i.e. class-level) tests for
ep-engine. To assist in backporting bug fixes, and specifically their
unit tests (to demonstrate they are correct), this patch backports the
test infrastructure itself.

Note these tests require GTest, so the CMake changes necessary for it
have also been included.

Tests are a backport from couchbase/watson as of commit feda304.
Modified to handle changes in APIs etc, and to remove tests
which fail on 3.0.x as we never chose to fix them in the 3.0.x
branch.

Change-Id: Iaaf59b0d8d6ba0a2211b630ba00fd837ca01614a
Reviewed-on: http://review.couchbase.org/64979
Well-Formed: buildbot <build@couchbase.com>
Tested-by: buildbot <build@couchbase.com>
Reviewed-by: Jim Walker <jim@couchbase.com>

show more ...


Revision tags: v4.5.0_mc, v4.5.0_ep, v4.1.1_ep, v3.1.5_ep, v4.1.1_mc
# 66bb41ad 04-Mar-2016 Dave Rigby <daver@couchbase.com>

Remove AtomicValue and Mutex defines

We already removed our own custom AtomicValue and Mutex classes when
we moved to C++11; replacing them with #defines to std::atomic and
std::mute

Remove AtomicValue and Mutex defines

We already removed our own custom AtomicValue and Mutex classes when
we moved to C++11; replacing them with #defines to std::atomic and
std::mutex respectively. This patch completes that changover, using
the underlying types directly so it's easier to see what is actually
being used.

Change-Id: If3f717f766727042cd81ae7b8c65f9a19934f2fa
Reviewed-on: http://review.couchbase.org/60925
Tested-by: buildbot <build@couchbase.com>
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
Reviewed-by: Will Gardner <will.gardner@couchbase.com>

show more ...


# 967bc0b6 17-May-2016 Dave Rigby <daver@couchbase.com>

MB-19503: Expand ConnMap notify unit test for unpaused case

Expand the unit/regression test for MB-19503 to check for the case
where notifyAllPausedConnections() is called when a connect

MB-19503: Expand ConnMap notify unit test for unpaused case

Expand the unit/regression test for MB-19503 to check for the case
where notifyAllPausedConnections() is called when a connection is not
paused.

Checks for the case where:

1. notifyAllPausedConnections() is called on unpaused connection
2. the connection is later re-paused.
3. notifyPausedConnection() is called

We fail to correctly add a pending notification, meaning a subsequent
notifyAllPausedConnections() does not notify.

Change-Id: Ibe2e110736463eaf8311b01ebe631c96a28384ce
Reviewed-on: http://review.couchbase.org/64104
Reviewed-by: Jim Walker <jim@couchbase.com>
Tested-by: buildbot <build@couchbase.com>

show more ...


Revision tags: v3.1.4_ep, v3.1.4_mc, v3.1.5_mc, v3.1.3_ep, v4.1.0_ep
# 44137813 05-Nov-2015 Dave Rigby <daver@couchbase.com>

Simplify common.h: add utility.h [2/3]

Create a new utility.h header file and move some of the functions /
macros which virtually everyone uses to there. utility.h has
significantly

Simplify common.h: add utility.h [2/3]

Create a new utility.h header file and move some of the functions /
macros which virtually everyone uses to there. utility.h has
significantly fewer dependancies, and such is much cheaper to include
than common.h

Update users of these functions / macros (DISALLOW_COPY_ON_ASSIGN, LOG
etc) to use utility.h instead of common.h

Change-Id: I3f93435c82950bd2a20b416af2b2e5011a931e04
Reviewed-on: http://review.couchbase.org/56704
Tested-by: buildbot <build@couchbase.com>
Reviewed-by: abhinav dangeti <abhinav@couchbase.com>
Reviewed-by: Chiyoung Seo <chiyoung@couchbase.com>

show more ...


Revision tags: v3.1.2_ep, v4.1.0_mc
# 9b87636e 25-Sep-2015 Dave Rigby <daver@couchbase.com>

MB-16056: Use exceptions instead of cb_assert() [10]

Tenth set of changes to migrate away from cb_assert() and use
exceptions where applicable for invalid input / logic errors.

MB-16056: Use exceptions instead of cb_assert() [10]

Tenth set of changes to migrate away from cb_assert() and use
exceptions where applicable for invalid input / logic errors.

This is a "tidy-up" patch - fixes the remaining 13 or so cb_asserts
which I skipped over in the first pass as they had some form of subtly
to them. Highlights of interesting asserts:

- BgFetcher::start/stop, ConnNotifier::start/stop : These were
asserting on taskId being >0. However taskId is set in the ExTask
constructor using a atomic increment so cannot see any need for this
assert.

- FailoverTable : These were postcondition checks that we had at least
1 failover entry after various operations. However we can change
them into precondiion checks on the input, and throw an exception if
the proposed new value is not valid (i.e. turn it into a
precondition check).

Change-Id: Iac6fff0b42e55e62fa6d0eeca446f8bfb094f3aa
Reviewed-on: http://review.couchbase.org/55608
Tested-by: buildbot <build@couchbase.com>
Reviewed-by: Chiyoung Seo <chiyoung@couchbase.com>

show more ...


Revision tags: 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
# 609dc362 20-Mar-2015 Mike Wiederhold <mikewied06@gmail.com>

Remove the kvstore dependency on vbucket.h

Change-Id: Ieac521023a95f4269cea543303cb54de2c7d33aa
Reviewed-on: http://review.couchbase.org/48762
Reviewed-by: Sriram Ganesan <sriram@cou

Remove the kvstore dependency on vbucket.h

Change-Id: Ieac521023a95f4269cea543303cb54de2c7d33aa
Reviewed-on: http://review.couchbase.org/48762
Reviewed-by: Sriram Ganesan <sriram@couchbase.com>
Tested-by: Michael Wiederhold <mike@couchbase.com>

show more ...


Revision tags: v3.0.2-MP2_mc, v3.0.2_ep, v3.0.2_mc
# c7dbf39f 11-Nov-2014 Mike Wiederhold <mike@couchbase.com>

The atomic queue shouldn't use a different atomic class

Even if we're have c++11 atomics the atomic queue would use the
old atomic code. This change makes sure that we use a single
i

The atomic queue shouldn't use a different atomic class

Even if we're have c++11 atomics the atomic queue would use the
old atomic code. This change makes sure that we use a single
implementation.

Change-Id: Ibf315ece1f34c719e6ff6309d3e9fc68668c1d89
Reviewed-on: http://review.couchbase.org/43073
Reviewed-by: abhinav dangeti <abhinav@couchbase.com>
Tested-by: Michael Wiederhold <mike@couchbase.com>

show more ...


Revision tags: v3.0.1_mc, v3.0.0_ep, v3.0.0-beta3_mc, v3.0.0_mc, v3.0.0-beta2_mc, v3.0.0-beta1_mc
# 53f39370 20-Mar-2014 David Liao <liaodw@gmail.com>

MB-10259: Increase max number of threads AtomicQueue supports.

Increase the limit from 100 to 500 to handle large number of CPU
cores. Also added an assert if this limit is exceeded.

MB-10259: Increase max number of threads AtomicQueue supports.

Increase the limit from 100 to 500 to handle large number of CPU
cores. Also added an assert if this limit is exceeded.

Change-Id: If9445a8c91c0daf9475a711145cccc7de8986e53
Reviewed-on: http://review.couchbase.org/34699
Tested-by: buildbot <build@couchbase.com>
Reviewed-by: Chiyoung Seo <chiyoung@couchbase.com>
Tested-by: Chiyoung Seo <chiyoung@couchbase.com>

show more ...


Revision tags: v2.5.1_ep, v2.5.1-MP1-A_mc, v2.5.0_mc
# bc643383 03-Jan-2014 Trond Norbye <trond.norbye@gmail.com>

Completely hide CouchbaseAtomic for win32

Change-Id: I1a66d40bfb2134a72c88eaaba0cdfdf66ed272dc
Reviewed-on: http://review.couchbase.org/31567
Reviewed-by: Dave Rigby <daver@couchbase

Completely hide CouchbaseAtomic for win32

Change-Id: I1a66d40bfb2134a72c88eaaba0cdfdf66ed272dc
Reviewed-on: http://review.couchbase.org/31567
Reviewed-by: Dave Rigby <daver@couchbase.com>
Tested-by: Trond Norbye <trond.norbye@gmail.com>

show more ...


# ac923d00 01-Jan-2014 Trond Norbye <trond.norbye@gmail.com>

Refactor: Split atomic.h into multiple files

The AtomicQueue is only used in one place, and the ThreadLocal
is also just two places. This is the first step trying to
minimize their s

Refactor: Split atomic.h into multiple files

The AtomicQueue is only used in one place, and the ThreadLocal
is also just two places. This is the first step trying to
minimize their scope.

Change-Id: I390ad00685b2d4b789790eca1e4d29617c573e03
Reviewed-on: http://review.couchbase.org/31416
Reviewed-by: Chiyoung Seo <chiyoung@couchbase.com>
Tested-by: Chiyoung Seo <chiyoung@couchbase.com>

show more ...