History log of /5.5.2/kv_engine/engines/ep/tests/ep_testsuite_basic.cc (Results 1 - 25 of 79)
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
# a52ce0a4 10-Apr-2018 Jim Walker <jim@couchbase.com>

MB-29119: Replace revSeqno with a 48-bit counter

Prevent a value too large to be stored in couchstore
from being placed into Item/StoredValue and also the
_local document (via vbucke

MB-29119: Replace revSeqno with a 48-bit counter

Prevent a value too large to be stored in couchstore
from being placed into Item/StoredValue and also the
_local document (via vbucket_state).

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

show more ...


# f3cb0722 14-Mar-2018 Jim Walker <jim@couchbase.com>

Remove std::string DocKey constructor

ASAN highlighted that a DocKey was using out-of-scope data and this
was because we had constructed a DocKey using a std::string rvalue
so the Do

Remove std::string DocKey constructor

ASAN highlighted that a DocKey was using out-of-scope data and this
was because we had constructed a DocKey using a std::string rvalue
so the DocKey was viewing the std::string which was out-of-scope.

1) Directly disallow rvalue strings
2) For convenience allow const_char_buffer

A developer now has to do the following to bind to an rvalue string

DocKey stop {cb::const_char_buffer{std::string{"x"},
DocNamespace::DefaultCollection};

Change-Id: I4a2cbdeb25bccd7a6d862934f7e5228e603c5460
Reviewed-on: http://review.couchbase.org/90850
Reviewed-by: Dave Rigby <daver@couchbase.com>
Reviewed-by: Tim Bradgate <tim.bradgate@couchbase.com>
Tested-by: Build Bot <build@couchbase.com>

show more ...


# 2b9cd2be 05-Feb-2018 Dave Rigby <daver@couchbase.com>

Remove ForestKVStore

Remove support for ForestDB in KV-Engine. This code has already
bit-rotted (doesn't currently compile).

Change-Id: I3d4679da46d1b105be0b234f2193033b3edc3866

Remove ForestKVStore

Remove support for ForestDB in KV-Engine. This code has already
bit-rotted (doesn't currently compile).

Change-Id: I3d4679da46d1b105be0b234f2193033b3edc3866
Reviewed-on: http://review.couchbase.org/88863
Reviewed-by: Jim Walker <jim@couchbase.com>
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
Tested-by: Build Bot <build@couchbase.com>

show more ...


# 4d213801 17-Jan-2018 Jim Walker <jim@couchbase.com>

MB-26729: Enforce MaxTTL on SetWithMeta

Add MaxTTL checking code on the setWithMeta path to ensure incoming
meta ops don't escape the MaxTTL config.

Change-Id: I223cd194b120e2ab

MB-26729: Enforce MaxTTL on SetWithMeta

Add MaxTTL checking code on the setWithMeta path to ensure incoming
meta ops don't escape the MaxTTL config.

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

show more ...


# 2b7cbabb 08-Jan-2018 Jim Walker <jim@couchbase.com>

MB-26729: [4/n] Update set_param so max_ttl is a dynamic setting

Update set_param so that it can accept 'max_ttl' as a key and apply
the correct changes.

Change-Id: I8ee3742c345

MB-26729: [4/n] Update set_param so max_ttl is a dynamic setting

Update set_param so that it can accept 'max_ttl' as a key and apply
the correct changes.

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

show more ...


# 0b1ac1d7 09-Jan-2018 Jim Walker <jim@couchbase.com>

clang-format the ep_testsuite_basic testcases array

Apply clang-format to this large data array, that is
the only change in this commit.

Change-Id: I4da2866332122ad889871f961be4

clang-format the ep_testsuite_basic testcases array

Apply clang-format to this large data array, that is
the only change in this commit.

Change-Id: I4da2866332122ad889871f961be4ff5f4c46018c
Reviewed-on: http://review.couchbase.org/87597
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
Reviewed-by: Dave Rigby <daver@couchbase.com>
Tested-by: Build Bot <build@couchbase.com>

show more ...


# 0e30826e 04-Jan-2018 Manu Dhundi <manu@couchbase.com>

MB-25517: [1/n] Remove dead code related to CMD_FLUSH and DeleteAllTask

'CMD_FLUSH' uses background task 'DeleteAllTask' to reset all vbuckets.
Since this is not functional for a while (

MB-25517: [1/n] Remove dead code related to CMD_FLUSH and DeleteAllTask

'CMD_FLUSH' uses background task 'DeleteAllTask' to reset all vbuckets.
Since this is not functional for a while (apart from unit testing),
this commit removes the dead code related to this.

Note: 'DeleteAllTask' calls KVBucket::reset(). But that function is
called during bucket initialize as well and also appears to
be dead code. That dead code will be removed in subsequent
commit(s).

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

show more ...


# 5960e3d5 03-Jan-2018 Manu Dhundi <manu@couchbase.com>

MB-25517: Do not support CMD_FLUSH in ep-engine

Currently PROTOCOL_BINARY_CMD_FLUSH is used only in unit testing
in 'couchbase' buckets and is unused in 'ephemeral' buckets. We
plan

MB-25517: Do not support CMD_FLUSH in ep-engine

Currently PROTOCOL_BINARY_CMD_FLUSH is used only in unit testing
in 'couchbase' buckets and is unused in 'ephemeral' buckets. We
plan to get rid of the dead code eventually.

In this commit, we just return that the CMD_FLUSH is not supported
and skip the unit test cases that were testing the CMD_FLUSH.

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

show more ...


Revision tags: v5.0.1
# d8de1991 04-Dec-2017 Dave Rigby <daver@couchbase.com>

MB-27037: Remove unnecessary uses of item ptr in store()

Engine API store() method takes an optional 'outItem' parameter to
return the item stored. However, many instances of the code do

MB-27037: Remove unnecessary uses of item ptr in store()

Engine API store() method takes an optional 'outItem' parameter to
return the item stored. However, many instances of the code don't use
it; and simply immediatley release the item.

This is both unnecessarily complex, but also error-prone, as callers
need to check that the item is non-null before calling release (it
could be null if the store() failed).

Remove all instances of the outItem parameter where is it unused.

Change-Id: I149321f69bd3e8697c21cd2a62c0656589fbf091
Reviewed-on: http://review.couchbase.org/86311
Reviewed-by: Daniel Owen <owend@couchbase.com>
Tested-by: Build Bot <build@couchbase.com>

show more ...


# 393b038a 27-Nov-2017 Trond Norbye <trond.norbye@gmail.com>

Tighten up engine API; Require cookie and cas for store

The cookie contains the command context and needs to be present
to allow the engine to perform any callbacks into the core.

Tighten up engine API; Require cookie and cas for store

The cookie contains the command context and needs to be present
to allow the engine to perform any callbacks into the core.

The CAS is an out parameter so that the core won't have to call
into the engine again in order to figure out the resulting CAS
value.

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

show more ...


# 61e9d58c 09-Nov-2017 Jim Walker <jim@couchbase.com>

MB-26705: Re-run pager if memory is still high

Before the PagingVisitor finishes, re-check the status of memory.
We could still be in a memory condition situation and shouldn't
retur

MB-26705: Re-run pager if memory is still high

Before the PagingVisitor finishes, re-check the status of memory.
We could still be in a memory condition situation and shouldn't
return without waking the ItemPager for another round.

test_memory_limit has been 'ported' to the single threaded model
as the original test became unstable for a number of reasons, primarily
that the ejection didn't free memory because the checkpoint manager
still had a reference on the Blob. The ported test has also removed
some of the final parts of the original test that were unstable.

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

show more ...


# f9c178f3 23-Nov-2017 Trond Norbye <trond.norbye@gmail.com>

Tighten up engine API; Require cookie for get_stats

Use gsl::not_null for the cookie parameter passed into
the engine and the add_stats callback (as the core expects
it to be a valid

Tighten up engine API; Require cookie for get_stats

Use gsl::not_null for the cookie parameter passed into
the engine and the add_stats callback (as the core expects
it to be a valid cookie).

Change the two parameter key + keylen into a cb::const_char_buffer

A followup to this patch (and the other not_null patches) change
the void pointer to a Cookie object passed by reference.

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

show more ...


# c5a5199a 24-Nov-2017 Trond Norbye <trond.norbye@gmail.com>

Tighten up engine API: Require cookie for get_if

Change-Id: I8a05eb427362a658a0d27459f94b16931539aeca
Reviewed-on: http://review.couchbase.org/85977
Tested-by: Build Bot <build@couch

Tighten up engine API: Require cookie for get_if

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

show more ...


# f12f559e 24-Nov-2017 Trond Norbye <trond.norbye@gmail.com>

Tighten up engine API; Require cookie for flush

Change-Id: Iecc9fd34294be35aaa6eb410fad614366c0b3264
Reviewed-on: http://review.couchbase.org/85969
Reviewed-by: Dave Rigby <daver@cou

Tighten up engine API; Require cookie for flush

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

show more ...


# a14f9224 23-Nov-2017 Trond Norbye <trond.norbye@gmail.com>

Remove unused "cookie" parameter in engine API

release(), get_item_info(), set_item_info() and set_item_cas()
all ignored the cookie being passed in.

Remove the parameter as we

Remove unused "cookie" parameter in engine API

release(), get_item_info(), set_item_info() and set_item_cas()
all ignored the cookie being passed in.

Remove the parameter as we don't use it!

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

show more ...


# aaa22f27 14-Nov-2017 Paolo Cocchi <paolo.cocchi@couchbase.com>

RocksDB: Update the 'ep_testsuite' status

This change is the result of a complete review of the EPEngine
testsuites under RocksDB. A lot of tests previously skipped pass now.
The tes

RocksDB: Update the 'ep_testsuite' status

This change is the result of a complete review of the EPEngine
testsuites under RocksDB. A lot of tests previously skipped pass now.
The tests that still fail have been updated with some info.

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

show more ...


Revision tags: v5.1.0
# d985cda1 17-Oct-2017 Trond Norbye <trond.norbye@gmail.com>

MB-26218: Don't generate NMVB response packet from the engine

This duplicates the logic for the content of the NMVB packet
being created. Instead the engine should return the standard

MB-26218: Don't generate NMVB response packet from the engine

This duplicates the logic for the content of the NMVB packet
being created. Instead the engine should return the standard
error code, and the core will correctly generate the error
message in the standard location.

The problem this patch fix was that as part of refactoring
out the method to generate the NMVB would format and move
the response into the send buffer, except that due to the
return code from the the underlying engine the core thought
that the engine had modified the send buffer.
This buffer turned out to be empty (since it was
already "moved"), and the core would skip sending the
data.

Change-Id: Ib36d86548f718ff42ded69742436995ab9679758
Reviewed-on: http://review.couchbase.org/84503
Reviewed-by: Daniel Owen <owend@couchbase.com>
Reviewed-by: Dave Rigby <daver@couchbase.com>
Tested-by: Build Bot <build@couchbase.com>

show more ...


# c9535901 02-Oct-2017 Dave Rigby <daver@couchbase.com>

test_mb3169: Expand checkeq calls for intermediate state

Add additional check() calls for the intermediate state of test_mb3169
in ep_testsuite_basic. These were added when debugging a t

test_mb3169: Expand checkeq calls for intermediate state

Add additional check() calls for the intermediate state of test_mb3169
in ep_testsuite_basic. These were added when debugging a test failure;
the failure has now been fixed (in previous patches) but it seems
worth keeping the extra checks to aid in future debugging.

Change-Id: If146c5673b0af03db0c625f49dadcacfd05300ba
Reviewed-on: http://review.couchbase.org/84100
Reviewed-by: Sriram Ganesan <sriram@couchbase.com>
Tested-by: Build Bot <build@couchbase.com>

show more ...


Revision tags: v5.0.0
# aa8142e0 07-Sep-2017 Trond Norbye <trond.norbye@gmail.com>

MB-25935: ep-engine returns TMPFAIL instead of LOCKED for GETL

The correct return code from getl should be LOCKED_TMPFAIL

Change-Id: Idb6f7bff4b95f9616b308f00aa9675761173e291
Re

MB-25935: ep-engine returns TMPFAIL instead of LOCKED for GETL

The correct return code from getl should be LOCKED_TMPFAIL

Change-Id: Idb6f7bff4b95f9616b308f00aa9675761173e291
Reviewed-on: http://review.couchbase.org/83170
Reviewed-by: Sriram Ganesan <sriram@couchbase.com>
Reviewed-by: Dave Rigby <daver@couchbase.com>
Well-Formed: Build Bot <build@couchbase.com>
Tested-by: Build Bot <build@couchbase.com>

show more ...


# 8611dc8c 22-Aug-2017 Paolo Cocchi <paolo.cocchi@couchbase.com>

MB-25427 [1/4] Move GET_META to memcached - New functions in engines

GET_META command is currently implemented in engines (ep, default,
ewouldblock) under `unknown_command()`. Memcached

MB-25427 [1/4] Move GET_META to memcached - New functions in engines

GET_META command is currently implemented in engines (ep, default,
ewouldblock) under `unknown_command()`. Memcached does not know
about GET_META, thus the MCBP request/response decoding/encoding
are delegated to the engines.
With this change we want to move all MCBP processing to memcached
and make the engines to peform only the bucket operations (i.e.,
retrieving the item metadata from memory or disk).
This first patch adds the new `get_meta()` functions into engines
and updates the engine testsuites to use the new API.
For now we do not switch the execution to the new implementation,
we will switch in a following patch.

Change-Id: Idda5e377d35a257287f39ef66e7915eb0ff22ef0
Reviewed-on: http://review.couchbase.org/82401
Reviewed-by: Dave Rigby <daver@couchbase.com>
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
Tested-by: Build Bot <build@couchbase.com>

show more ...


# 3df4fcad 26-Jul-2017 James Harrison <00jamesh@gmail.com>

RocksDB: Implement RocksDBKVStore::scan basics

Lays the initial groundwork for iterating all keys by seqno.

At the moment, the ColumnFamily mapping seqno=>key will grow forever; we

RocksDB: Implement RocksDBKVStore::scan basics

Lays the initial groundwork for iterating all keys by seqno.

At the moment, the ColumnFamily mapping seqno=>key will grow forever; we
do not ever remove old mappings. This could be done in a compaction
filter, or a periodic task etc. The main costs currently are slower
scans as time is wasted ignoring seqno=>key mappings where the seqno is
no longer current, and ever growing storage usage.

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

show more ...


# 4cfa9e09 24-Jul-2017 James Harrison <00jamesh@gmail.com>

RocksDB: Persist tombstones in RocksDBKVStore

We cannot map a KVStore level `del` to a RocksDB `Delete` because the
deleted item actually needs to remain as a tombstone.
This is reso

RocksDB: Persist tombstones in RocksDBKVStore

We cannot map a KVStore level `del` to a RocksDB `Delete` because the
deleted item actually needs to remain as a tombstone.
This is resolved by implementing RocksDBKVStore::del as a RocksDB `Put`.

NB: Until expiration is implemented, tombstones will never be purged.

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

show more ...


# d159d3e3 24-Aug-2017 James Harrison <00jamesh@gmail.com>

RocksDB: Prevent delVBucket racing with the flusher

Accessing the WriteBatch from both the flusher and delVBucket can lead
to corruption, but writing two batches to the DB concurrently i

RocksDB: Prevent delVBucket racing with the flusher

Accessing the WriteBatch from both the flusher and delVBucket can lead
to corruption, but writing two batches to the DB concurrently is safe.

*However*, delVBucket needs synchronisation to prevent the flusher
committing its batch while delVBucket is in progress, to prevent writes
which occur during a vBucket being recreated being lost.

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

show more ...


# fe95c63e 21-Aug-2017 James Harrison <00jamesh@gmail.com>

RocksDB: Skip tests failing when using RocksDB

Skips a number of testsuite tests dependent on functionality not yet
implemented in RocksDBKVStore. Tests run as normal against couchstore.

RocksDB: Skip tests failing when using RocksDB

Skips a number of testsuite tests dependent on functionality not yet
implemented in RocksDBKVStore. Tests run as normal against couchstore.

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

show more ...


# ad70faf1 11-Jul-2017 Manu Dhundi <manu@couchbase.com>

MB-25173: Enable a temporarily disabled test for Ephemeral buckets

The test enabled checks "vbucket deletion doesn't affect new data".

Change-Id: I6b96fcc3848873e4d01b9d3e93203e07d5

MB-25173: Enable a temporarily disabled test for Ephemeral buckets

The test enabled checks "vbucket deletion doesn't affect new data".

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

show more ...


1234