History log of /6.0.3/kv_engine/engines/ep/src/collections/collections_types.h (Results 1 - 25 of 43)
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
# cd24b1b3 09-Mar-2018 Jim Walker <jim@couchbase.com>

MB-28773: Transfer the manifest UID to the replica VB

When a system event propagates a collection change, embed
the manifest UID in the event so that the replica is aware
of the UID

MB-28773: Transfer the manifest UID to the replica VB

When a system event propagates a collection change, embed
the manifest UID in the event so that the replica is aware
of the UID (and can persist/warm up from it).

Change-Id: I66e4ad4274558992b27c5ab02adb42295e761091
Reviewed-on: http://review.couchbase.org/91178
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Dave Rigby <daver@couchbase.com>

show more ...


Revision tags: v5.0.1
# dea18910 25-Oct-2017 Jim Walker <jim@couchbase.com>

MB-26455: Allow correct processing of 'old' keys and separator changes

The collection's separator can only be changed when 0 collections
exist. However nothing stops the separator from c

MB-26455: Allow correct processing of 'old' keys and separator changes

The collection's separator can only be changed when 0 collections
exist. However nothing stops the separator from changing if there are
deleted collections (and their keys) in play.

Prior to this commit each separator change resulted in a single system
event being mutated, that event had a static key. Thus a VB could have
the following sequence of keys/events.

1 fruit::1
2 fruit::2
<fruit collection is deleted>
<separator is changed from :: to - >
<fruit collection is recreated>
6 fruit-1
7 fruit-2
<fruit collection is deleted>
<separator is changed from - to # >
9 $collections_separator (the Item value contains the new separator)
10 $collections::fruit (fruit recreated)
11 fruit#1
12 fruit#2

In this sequence, some of the changes are lost historically because a
static key is used for the separator change. Between seqno 2 and 6 the
separator changed from :: to -, but the separator change system event
is currently at seqno 9 with # as its value.

With this setup a problem exists if we were to process the historical
data e.g. whilst backfilling for DCP or performing a compaction
collection erase. The problem is that when we go back to seqno 1 and
2, we have no knowledge of the separator for those items, all we have
is the current # separator. We cannot determine that fruit::1 is a
fruit collection key.

This commit addresses this problem by making each separator change
generate a unique key. The key itself will encode the new separator,
and because the key is unique it will reside at the correct point in
history for each separator change.

The unique key format will be:

$collections_separator:<seqno>:<new_separator>

With this change the above sequence now looks as:

1 fruit::1
2 fruit::2
<fruit collection is deleted>
4 $collections_separator:3:- (change separator to -)
<fruit collection is recreated>
6 fruit-1
7 fruit-2
<fruit collection is deleted>
9 $collections_separator:8:# (change separator to #)
10 $collections::fruit (fruit recreated)
11 fruit#1
12 fruit#2

Now the code which looks at the historical data (e.g. backfill) will
encounter these separator change keys before it encounters collection
keys using that separator. Backfill and collections-erase can just
maintain a current separator and can now correctly split keys to
discover the collection they belong to. The collections eraser and
KVStore scanning code now include a collections context which has data
and associated code for doing this tracking.

A final piece of the commit is the garbage collection of these unique
keys. i.e. if each separator change puts a unique key into the seqno
index, how can we clean these away when they're no longer needed (i.e.
all fruit:: keys purged)?

Whilst the eraser runs it tracks all 'separator change' keys, because
a separator change can only happen when 0 collections exist, it can
assume that all but the latest separator change key are redundant once
the erase has completed. This list of keys are simply deleted in the
normal way by pushing a deleted Item into the checkpoint once
compaction is complete.

Change-Id: I4b38b04ed72d6b39ceded4a860c15260fd394118
Reviewed-on: http://review.couchbase.org/84801
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Dave Rigby <daver@couchbase.com>

show more ...


# 4730ffcf 27-Oct-2017 Jim Walker <jim@couchbase.com>

MB-16181: Collection separator tidy-up

The default separator should be : not ::, so correct those tests
which have been written using ::

Change-Id: If44dc77744cb08d405092f030877

MB-16181: Collection separator tidy-up

The default separator should be : not ::, so correct those tests
which have been written using ::

Change-Id: If44dc77744cb08d405092f030877b8b2b07386a9
Reviewed-on: http://review.couchbase.org/85980
Reviewed-by: Dave Rigby <daver@couchbase.com>
Tested-by: Build Bot <build@couchbase.com>

show more ...


Revision tags: v5.1.0, v5.0.0
# cd98cc03 12-Sep-2017 Jim Walker <jim@couchbase.com>

MB-16181: Persist the collection UID as hex

There's an inconsistency between what the set_collections manifest
JSON data encodes a UID (hex) and how the VB manifest stores the UID
(d

MB-16181: Persist the collection UID as hex

There's an inconsistency between what the set_collections manifest
JSON data encodes a UID (hex) and how the VB manifest stores the UID
(decimal).

Make the VB manifest store as hex for easier debugging/analysis of
collections.

Change-Id: Ia2d476e25b21d7161c9f9d40c437ba429b255643
Reviewed-on: http://review.couchbase.org/83352
Reviewed-by: Dave Rigby <daver@couchbase.com>
Tested-by: Build Bot <build@couchbase.com>

show more ...


# a9dea599 21-Sep-2017 Jim Walker <jim@couchbase.com>

MB-25342: Update how system events manage collections

Prior to this commit collection lifespans were managed with two system
events, CreateCollection and BeginDeleteCollection. These eve

MB-25342: Update how system events manage collections

Prior to this commit collection lifespans were managed with two system
events, CreateCollection and BeginDeleteCollection. These events
mapped to hidden documents (System namespace) and had unique keys.
Thus the life-span of collection beer, uid:1 may have a seqno 'stream'
as follows (e.g. if backfill from seqno 0).

seqno 3, key = $collections:create:beer:1 <- create marker
seqno 4, key = beer::document <- document in the collection
seqno 5, key = $collections:delete:beer:1 <- delete marker

Now due to the way we support multiple generations of collections
before the prior one is fully purged, this approach leads us to have a
seqno stream as follows (e.g. backfill from seqno 0)

seqno 3, key = $collections:create:beer:1 <- create marker
seqno 4, key = beer::document <- document in the collection
seqno 5, key = $collections:delete:beer:1 <- delete marker
seqno 6, key = $collections:create:beer:2 <- create marker
seqno 7, key = beer::document <- document in the collection
seqno 8, key = $collections:delete:beer:2 <- delete marker

With this approach (unique-keys) we have to maintain an increasing
amount of meta-data to enable correct clean-up of the old generations.
This growing meta-data would need to be in memory and the per VB
JSON manifest.

So to avoid this unbounded 'list' metadata this commit adjusts the way
collections spans are managed in-terms of checkpoints and persisted
data.

1. No longer do we have a Create and separate Delete event - a single
SystemEvent::Collection will be used to cover create and delete.

a) A single key represents all creates/deletes of a collection.
b) A delete of a collection is just a delete of that system key.

2. Collection create/delete now closes the checkpoint to ensure we
never de-dup create/delete/create into a single create, ensuring
a client tracking a vbucket sees explicit creates and deletes and
doesn't have to handle de-duplication E.g. "I've been told of
beer:2 but never saw delete(beer:1)?"

So the life span of a collection now generates sequence numbers as
follows:

seqno 3, key = $collections:beer <- create marker
seqno 4, key = beer::document <- document in the collection
seqno 5, key = $collections:beer del = true <- delete marker

Now if we dump the by-seqno index we see:

seqno 4, key = beer::document <- document in the collection
seqno 5, key = $collections:beer del = true <- delete marker

Now if we dump the by-seqno index after re-creating the collection,
we see.

seqno 4, key = beer::document <- document in the collection
seqno 6, key = $collections:beer <- create marker

And if we had performed cycles of create/delete we can see that there
are no longer many keys associated with the collection resulting in no
extra meta data to store so we can remove old markers.

Note in these examples, DCP wouldn't just replicate the by-seqno index
as seqno 4 can be identified as being logically deleted (it has a
seqno < start of beer). Additionally for a backfill from 0 in the
first example seqno 5 doesn't need to be sent either because the
client cannot know about the create. These enhancements are not part
of this commit.

Change-Id: I32f04e512ce039dce7d780323d9bf3642cc507fa
Reviewed-on: http://review.couchbase.org/83350
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Dave Rigby <daver@couchbase.com>

show more ...


# 30aab6b7 22-Aug-2017 Jim Walker <jim@couchbase.com>

MB-25342: Collection UID in the Manifest

Primarily update the JSON specification so that the 'set_collections'
command requires that collections are given a UID.

The purpose of

MB-25342: Collection UID in the Manifest

Primarily update the JSON specification so that the 'set_collections'
command requires that collections are given a UID.

The purpose of the UID is to allow KV-engine to see that a collection
was deleted and recreated without ever seeing the intermediate delete.
The collections management code will identify that it knows about a
collection, but because of the UID it can determine if the collection
it knows about is now defunct.

A secondary purpose is that DCP may allow clients to use UIDs when
filtering collections.

The UID must be a JSON string that stores a 64-bit unsigned integer
encoded in hex.

Note it is the cluster managements responsibility to ensure that a UID
is unique enough that it doesn't collide with a previous generation
before that generation has been fully deleted (note once a generation
has been fully deleted, a UID could be re-used).

Change-Id: I6f9bbde00783a7a93511bb5ee426b8c43d8c019f
Reviewed-on: http://review.couchbase.org/83227
Reviewed-by: Dave Rigby <daver@couchbase.com>
Tested-by: Build Bot <build@couchbase.com>

show more ...


# 9160b844 04-Aug-2017 Jim Walker <jim@couchbase.com>

MB-25342: Introduce Collection::uid to the VB::Manifest

Many functions on VB::Manifest required the caller to specify the name
and a uint32_t as separate parameters when trying to identi

MB-25342: Introduce Collection::uid to the VB::Manifest

Many functions on VB::Manifest required the caller to specify the name
and a uint32_t as separate parameters when trying to identify a
collection. This is now cleaned up so that a new class is used when
identifying a specific 'generation' of a collection.

As part of this new class we are removing the use of 'revision' and
replacing it with 'uid', however we use the Manifest::revision as
the uid and later changes will change the Manifest format so that each
collection is assigned a uid.

As part of the clean-up of revision usage this commit fixes some short
comings in the VB::Manifest management where a delete of a collection
was updating it's revision, forcing later callers of completeDeletion
to use the newer revision, instead of referring to the collection by
the correct name:rev from when it was created.

This commit additionally cleans up the separator changed path which
was needlessly passing the revision through the various code paths and
even over DCP. There is no need it was set and never read.

Change-Id: I0d81ccb9a7c7b7505d0f021b284b368f7a60f88e
Reviewed-on: http://review.couchbase.org/81984
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Dave Rigby <daver@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
# e57f09f4 23-Mar-2017 Jim Walker <jim@couchbase.com>

MB-16181: Build SystemEvent keys with the collections separator

The keys were fixed as $collections::<event> but are now changed
so that the :: is the collections separator.

Thi

MB-16181: Build SystemEvent keys with the collections separator

The keys were fixed as $collections::<event> but are now changed
so that the :: is the collections separator.

This allows code to split the event key if they wish using the
same code they would split document keys.

Change-Id: I48575d295f8c058a79cf208fe3c9d3a9b3c9ed15
Reviewed-on: http://review.couchbase.org/78136
Reviewed-by: Dave Rigby <daver@couchbase.com>
Tested-by: Build Bot <build@couchbase.com>

show more ...


Revision tags: v4.6.2_mc, v4.6.1_ep
# 10dad95b 01-Mar-2017 Jim Walker <jim@couchbase.com>

MB-16181: Enable separator modifications

Up until now the separator was fixed as the default value of "::".
This commit allows incoming manifests to change the separator if
allowed,

MB-16181: Enable separator modifications

Up until now the separator was fixed as the default value of "::".
This commit allows incoming manifests to change the separator if
allowed, as follows:

1. No open collections exist.
2. Only the default collection exists.

A separator can be changed by two manifest "types" (when the above
rules are met)

1. A manifest that has a new "separator" field
2. A manifest that has a new "separator" field and a new "collection"

In the first case a new/dedicated SystemEvent is required that ensures
a serialised copy of the manifest is flushed.

In the second case the CreateCollection event will also flush the
new separator.

Change-Id: I6b563c32882b4c45ed5a3858da834ef733e08abc
Reviewed-on: http://review.couchbase.org/74608
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Dave Rigby <daver@couchbase.com>

show more ...


# d7615449 06-Feb-2017 Jim Walker <jim@couchbase.com>

MB-16181: Flusher integration with set/get support

This commit ties together collections code so that system events
and manifest updates are now applied to storage.

This commit

MB-16181: Flusher integration with set/get support

This commit ties together collections code so that system events
and manifest updates are now applied to storage.

This commit updates the threading model to ensure concurrent sets and
collection manifest changes are interlocked.

All keys read and written belong to the default collection and because
the $default collection is pre-allocated, get and set with this patch
are successful, even with the collection policing in place.

Test code can now make use of new VBucket methods so that the
collection state can be changed and we can write tests that drive
data into collections (and check the collections policing).

A new class, SystemEventFlush, captures the extra state a single
run of the flusher needs for the handling of SystemEvents (the writing
special documents and _local docs)

This commit enables set/get only to be collection aware - each
datapath in/out method will need similar "isValid" checks.

Change-Id: Ia6e6cb14d7e0fa2c418e0f52d9ab38ab36baf12d
Reviewed-on: http://review.couchbase.org/73125
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Dave Rigby <daver@couchbase.com>

show more ...


# 99b0b58b 09-Feb-2017 Jim Walker <jim@couchbase.com>

MB-16181: Use cb::const_char_buffer over const std::string ref

It will be easier/cheaper to integrate the DCP side of the collections
work if we can update a collection from a DCP messag

MB-16181: Use cb::const_char_buffer over const std::string ref

It will be easier/cheaper to integrate the DCP side of the collections
work if we can update a collection from a DCP message. The "easy/cheaper"
benefit being that we can just use a cb::const_char_buffer initialised to
the packet's collection name and length data, rather than being forced to
create and copy into a std::string.

Change-Id: I58858e9a1f4fe7f0c6b382160764f68c63a6fb97
Reviewed-on: http://review.couchbase.org/73444
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Manu Dhundi <manu@couchbase.com>
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>

show more ...


# d87fd7e6 25-Jan-2017 Jim Walker <jim@couchbase.com>

MB-16181: Update completeDeletion to push system events

Update the completeDeletion function and the JSON generation so
that we can support the cases of completely deleting a collection

MB-16181: Update completeDeletion to push system events

Update the completeDeletion function and the JSON generation so
that we can support the cases of completely deleting a collection
or just updating a "isDeleting" collection.

Deleting a collection creates an event in the data-stream that
will trigger the flusher to write the manifest (subsequent integration
will update the flusher).

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

show more ...


# 2f12cd1a 18-Jan-2017 Jim Walker <jim@couchbase.com>

MB-16181: Add SystemEventFactory

The SystemEventFactory creates Item objects representing
the following system events.

- create collection
- begin delete collection

MB-16181: Add SystemEventFactory

The SystemEventFactory creates Item objects representing
the following system events.

- create collection
- begin delete collection

An Item which represents a SystemEvent will eventually flow through
checkpoints to the flusher and DCP.

A simple test checks the Item is as expected.

- The operation is system_event.
- The flags return the detailed event type.

Change-Id: If8bdd92f83428538125ff18344cce71dbacfc2d9
Reviewed-on: http://review.couchbase.org/73113
Reviewed-by: Dave Rigby <daver@couchbase.com>
Tested-by: Build Bot <build@couchbase.com>

show more ...


# cab1f89e 12-Jan-2017 Jim Walker <jim@couchbase.com>

MB-16181: Add Collections::Manifest

A class which can convert a JSON manifest into something usable
by other parts of the code.

Change-Id: I2201457539ad9172002d5ff07d767ccf8d88b

MB-16181: Add Collections::Manifest

A class which can convert a JSON manifest into something usable
by other parts of the code.

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

show more ...


Revision tags: 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
# d02d8c21 12-Aug-2016 Dave Rigby <daver@couchbase.com>

Remove hooksApi global; reduce coupling with MemoryTracker

MemoryTracker is somewhat tightly coupled with ep_engine.cc as it uses
the getHooksApi() function to obtain the memory allocato

Remove hooksApi global; reduce coupling with MemoryTracker

MemoryTracker is somewhat tightly coupled with ep_engine.cc as it uses
the getHooksApi() function to obtain the memory allocator hooks.

Firstly this makes it hard to test - compile one file and you have to
include the other, and it's also difficult to provide a different
hooks api - either for injecting a mock one for testing, or simply to
use the 'normal' hooks API but without pulling in ep-engine.

Secondly, there is unnecessary indirection in NewHook / DeleteHook -
which are called on every new/delete so performance is relevant
there. By giving the MemoryTracker it's own copy of the alloc_hooks
(instead of calling getHooksApi() on every call) we can reduce the
amount of work in NewHook / DeleteHook by approx. 50% (measured in
terms of x64 instructions).

Change-Id: Ia0f8ebb0a5263567dc08b32fe6ff9b7ea9eefa92
Reviewed-on: http://review.couchbase.org/68210
Reviewed-by: Daniel Owen <owend@couchbase.com>
Tested-by: buildbot <build@couchbase.com>

show more ...


Revision tags: 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
# 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 ...


Revision tags: v3.1.4_ep, v3.1.4_mc, v3.1.5_mc, v3.1.3_ep
# b9334207 30-Nov-2015 Dave Rigby <daver@couchbase.com>

Mutex modernization [2/2]: Use std::condition_variable for SyncObject

Change Mutex to a typedef to std::mutex, and use
std::condition_variable for the implementation of SyncObject.

Mutex modernization [2/2]: Use std::condition_variable for SyncObject

Change Mutex to a typedef to std::mutex, and use
std::condition_variable for the implementation of SyncObject.

Note these two changes are mutually dependent hence being done in the
same patch.

Change-Id: Ife74822e9c4e04efefff446e964a952b672a1f91
Reviewed-on: http://review.couchbase.org/57328
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
Tested-by: buildbot <build@couchbase.com>
Reviewed-by: Chiyoung Seo <chiyoung@couchbase.com>

show more ...


# df3730be 30-Nov-2015 Dave Rigby <daver@couchbase.com>

Mutex modernization [1/2]: Replace with std::mutex

Update the API of Mutex to match that of std::mutex, and SyncObject to
match that of std::condition_variable in preparation for replaci

Mutex modernization [1/2]: Replace with std::mutex

Update the API of Mutex to match that of std::mutex, and SyncObject to
match that of std::condition_variable in preparation for replacing
Mutex and SyncObject with the C++11 standard library equivilents.

Change-Id: I5625d980b11144f681f7e717df87c8b5f323dc7c
Reviewed-on: http://review.couchbase.org/57327
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
Reviewed-by: Chiyoung Seo <chiyoung@couchbase.com>
Tested-by: buildbot <build@couchbase.com>

show more ...


Revision tags: 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, 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, v3.0.2_ep, v3.0.2_mc, v3.0.1_mc, v3.0.0_ep, v3.0.0-beta3_mc, v3.0.0_mc, v3.0.0-beta2_mc
# 08276dd4 26-Jul-2014 Chiyoung Seo <chiyoung.seo@gmail.com>

MB-11731 Reduce the lock overhead among flusher, VB deletion, and compaction

This change reduces the lock blocking overhead among flusher, vbucket
deletion, compaction, and snapshot task

MB-11731 Reduce the lock overhead among flusher, VB deletion, and compaction

This change reduces the lock blocking overhead among flusher, vbucket
deletion, compaction, and snapshot tasks, by skipping the rest of
tasks if a lock is already grabbed by one task.

Change-Id: I643d7fe74150b5ead5c1368d660deb3c64dd1d01
Reviewed-on: http://review.couchbase.org/39910
Reviewed-by: David Liao <david.liao@couchbase.com>
Tested-by: Chiyoung Seo <chiyoung@couchbase.com>

show more ...


Revision tags: v3.0.0-beta1_mc, v2.5.1_ep, v2.5.1-MP1-A_mc, v2.5.0_mc, v2.5.0-dp1_mc
# 1b2a19ba 06-Nov-2013 Trond Norbye <trond.norbye@gmail.com>

call cb_thread_self instead of pthread_self

Change-Id: I2509b9710b0caa0324ec39a18cf82cd8cb1751b8
Reviewed-on: http://review.couchbase.org/30092
Reviewed-by: Trond Norbye <trond.norby

call cb_thread_self instead of pthread_self

Change-Id: I2509b9710b0caa0324ec39a18cf82cd8cb1751b8
Reviewed-on: http://review.couchbase.org/30092
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
Tested-by: Trond Norbye <trond.norbye@gmail.com>

show more ...


# ad9cc7e3 04-Nov-2013 Trond Norbye <trond.norbye@gmail.com>

Use our own mutex abstraction

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

Use our own mutex abstraction

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

show more ...


# 4db168a3 03-Nov-2013 Trond Norbye <trond.norbye@gmail.com>

Use our thread abstraction layer

Change-Id: I5d52d55ea603d8e53c9b39a94fa3029cdad50748
Reviewed-on: http://review.couchbase.org/30013
Reviewed-by: Chiyoung Seo <chiyoung@couchbase.com

Use our thread abstraction layer

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

show more ...


Revision tags: v2.2.0_mc, 2.1.1r_ep, 2.1.0r_ep, 2.0.2r_ep, 2.0.2r_mc, 2.0.1-macosx_ep, 2.0.1-linux_ep
# 66eb94d0 17-Jan-2013 Mike Wiederhold <mike@couchbase.com>

MB-7728: Add copyright headers to all files

This is something that our cpplint tool turns on and it makes
our product look a little bit more profesional. I have also
enabled the tool

MB-7728: Add copyright headers to all files

This is something that our cpplint tool turns on and it makes
our product look a little bit more profesional. I have also
enabled the tool to begin checking for these headers so it will
start complaining if we add a new file without a copyright header.

Change-Id: Ie956fdf7027bf56d9665ee455acd3c109fcacc76
Reviewed-on: http://review.couchbase.org/24560
Reviewed-by: Chiyoung Seo <chiyoung.seo@gmail.com>
Reviewed-by: Jin Lim <jin@couchbase.com>
Tested-by: Michael Wiederhold <mike@couchbase.com>

show more ...


12