History log of /6.0.3/kv_engine/engines/ep/src/collections/manifest.h (Results 1 - 12 of 12)
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
# f1bc7c68 08-Mar-2018 Jim Walker <jim@couchbase.com>

MB-28773: Require UID in the Manifest

Update the Manifest JSON code so that we expect a UID in the manifest

The UID follows the same format as the collection UID and its purpose

MB-28773: Require UID in the Manifest

Update the Manifest JSON code so that we expect a UID in the manifest

The UID follows the same format as the collection UID and its purpose
is to allow easy identification of a buckets collection settings.

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

show more ...


Revision tags: v5.0.1
# 9c782e35 05-Dec-2017 Jim Walker <jim@couchbase.com>

MB-27121: [1/3] Add GET_MANIFEST support to KV Manifest class

The GET_MANIFEST command will return the last manifest which was
applied using SET_MANIFEST.

Add a toJson method to

MB-27121: [1/3] Add GET_MANIFEST support to KV Manifest class

The GET_MANIFEST command will return the last manifest which was
applied using SET_MANIFEST.

Add a toJson method to Collections::Manifest which returns a legal
JSON std::string.

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

show more ...


# 9628a0d6 07-Dec-2017 Jim Walker <jim@couchbase.com>

MB-27122: [2/2] Do not initialise the current manifest

As described in the MB, it is risky to initialise the current manifest
to a 'default' state. It is safer to run without a manifest

MB-27122: [2/2] Do not initialise the current manifest

As described in the MB, it is risky to initialise the current manifest
to a 'default' state. It is safer to run without a manifest as we
really should only operate on what the cluster_manager tells us.

This leads to one situation in DcpOpen where we must fail the open
if the manifest hasn't yet been set, this situation is now flagged
by a new error code "no_collections_manifest" allowing what should
be a temporary failure (cluster manager should always push a manifest)
to be observed.

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

show more ...


# 6e741613 28-Nov-2017 Jim Walker <jim@couchbase.com>

MB-16181: Make collection size be configurable

Current PRD stated 1,000 collections per bucket maximum, so enforce
this using a config param - "collections_max_size"

Change-Id:

MB-16181: Make collection size be configurable

Current PRD stated 1,000 collections per bucket maximum, so enforce
this using a config param - "collections_max_size"

Change-Id: I482d96a806539aaadf0a045a21b49f398bc899d3
Reviewed-on: http://review.couchbase.org/86000
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 ...


# 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 ...


Revision tags: v4.6.2_ep
# 9e4dcf1f 23-Mar-2017 Jim Walker <jim@couchbase.com>

MB-16181: Add more ostream operators and dump methods

Add more ostream operators to the Collections classes and also give
them dump() methods so we can easily trigger output to stderr.

MB-16181: Add more ostream operators and dump methods

Add more ostream operators to the Collections classes and also give
them dump() methods so we can easily trigger output to stderr.

Finally add a hook so we can force the logging of a lot of collection
state, this will eventually be migrated to stats and more supported
debug methods.

Change-Id: I18abe41cd8f00fe18cb4fb972fcc054375f02d39
Reviewed-on: http://review.couchbase.org/78639
Reviewed-by: Dave Rigby <daver@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


# 042bf504 14-Mar-2017 Jim Walker <jim@couchbase.com>

MB-16181: Add Collections Filter classes and test

Two classes exist for filtering.

Collections::Filter
Collections::VB::Filter

The idea is that a DCP producer will esta

MB-16181: Add Collections Filter classes and test

Two classes exist for filtering.

Collections::Filter
Collections::VB::Filter

The idea is that a DCP producer will establish a Collections::Filter
that lives for the lifetime of the DCP producer.

As the DCP producer creates streams, a Collections::VB::Filter is
assigned to the stream which contains the real set of collections to
filter (and also the actual "filter" function).

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

show more ...


# 1cc862a6 12-May-2017 Jim Walker <jim@couchbase.com>

MB-16181: Make server deny creation of reserved collections

The design has always stated that _ and $ would be reserved for
system use. Make sure the server enforces this by checking the

MB-16181: Make server deny creation of reserved collections

The design has always stated that _ and $ would be reserved for
system use. Make sure the server enforces this by checking the
names on incoming manifests.

1. Any _ prefixed collection will cause the Manifest construction to
throw invalid_argument.

2. Any $ prefixed collection which is not $default will cause the
Manifest construction to throw invalid_argument.

Change-Id: I1e5daf2ae87cba2a8dbcdda4c9bb0be66e40ffae
Reviewed-on: http://review.couchbase.org/78074
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
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
# 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 ...