History log of /5.5.2/kv_engine/ (Results 1 - 25 of 12113)
Revision (<<< Hide revision tags) (Show revision tags >>>)Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
Revision tags: v6.0.3, v5.5.4, v5.5.5, v5.5.3, v6.0.0, v5.5.2
84af631510-Sep-2018 Jim Walker <jim@couchbase.com>

MB-31141: Don't reject snappy|raw DCP deletes

A related bug means that is possible for 5.x to create
deletes with a non-zero raw value. When 5.5x backfills such
an item for transmiss

MB-31141: Don't reject snappy|raw DCP deletes

A related bug means that is possible for 5.x to create
deletes with a non-zero raw value. When 5.5x backfills such
an item for transmission to another 5.5x node (and snappy
is enabled), the delete gets sent with a snappy datatype
and rejected by the target node, which triggers a rebalance
failure.

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

show more ...

bb60376f03-Sep-2018 Jim Walker <jim@couchbase.com>

MB-31141: Account for nmeta in deleteWithMeta

When calculating the item size in deleteWithMeta we must
ensure nmeta is removed from the calculated size.

Tests added for both set

MB-31141: Account for nmeta in deleteWithMeta

When calculating the item size in deleteWithMeta we must
ensure nmeta is removed from the calculated size.

Tests added for both set and del withMeta

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

show more ...

Revision tags: v5.5.1
610e6d3824-Jul-2018 Dave Rigby <daver@couchbase.com>

MB-30610: Don't fail server_socket() if at least one protocol successful

When attempting to listen to all protocols on a given network
interface, return success from server_socket() as l

MB-30610: Don't fail server_socket() if at least one protocol successful

When attempting to listen to all protocols on a given network
interface, return success from server_socket() as long as at least one
of IPv4,IPv6 was successful.

Note this restores to the pre-5.5 behaviour -
http://review.couchbase.org/#/c/90791/ (added in 5.5) changed to fail
if any protocol which was enabled failed.

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

show more ...

96853b1d25-Jul-2018 Dave Rigby <daver@couchbase.com>

Merge branch 'spock' into vulcan

* spock:
MB-30303: Subdoc regression tests for backtick un-escaping issue

Change-Id: I3408dd621f6530e4d99f2e77cc99316c8e85f85d


Revision tags: v5.1.2
d6ec50c127-Jun-2018 Dave Rigby <daver@couchbase.com>

MB-30303: Subdoc regression tests for backtick un-escaping issue

Regression tests for how KV-Engine subdoc API uses subjson to parse
backticked escaped paths.

(Note: MB-30303 is

MB-30303: Subdoc regression tests for backtick un-escaping issue

Regression tests for how KV-Engine subdoc API uses subjson to parse
backticked escaped paths.

(Note: MB-30303 is the 5.1.x backport of MB-30278).

Change-Id: I42a144ba3f37c38d3e4ca0f8990652cda85011c2
Reviewed-on: http://review.couchbase.org/97313
Well-Formed: Build Bot <build@couchbase.com>
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Jim Walker <jim@couchbase.com>

show more ...

9d91274427-Jun-2018 Dave Rigby <daver@couchbase.com>

MB-30278: Subdoc regression tests for backtick un-escaping issue

Regression tests for how KV-Engine subdoc API uses subjson to parse
backticked escaped paths.

Change-Id: I42a144

MB-30278: Subdoc regression tests for backtick un-escaping issue

Regression tests for how KV-Engine subdoc API uses subjson to parse
backticked escaped paths.

Change-Id: I42a144ba3f37c38d3e4ca0f8990652cda85011c2
Reviewed-on: http://review.couchbase.org/96259
Well-Formed: Build Bot <build@couchbase.com>
Reviewed-by: Tim Bradgate <tim.bradgate@couchbase.com>
Tested-by: Build Bot <build@couchbase.com>

show more ...

2b37a5ae22-Jun-2018 Sriram Ganesan <sriram@couchbase.com>

MB-30234: Revert "Always close replica-checkpoint on memory-snapshot-end"

This reverts commit 075614a6174625523172089bb726536be398f1da (MB-30019)

Reverting this commit as this has r

MB-30234: Revert "Always close replica-checkpoint on memory-snapshot-end"

This reverts commit 075614a6174625523172089bb726536be398f1da (MB-30019)

Reverting this commit as this has resulted in a throughput degradation

Change-Id: I12ba07f8155c998c0c797bf88baa6fa569a404bf
Reviewed-on: http://review.couchbase.org/96014
Well-Formed: Build Bot <build@couchbase.com>
Reviewed-by: Dave Finlay <dave.finlay@couchbase.com>
Tested-by: Dave Finlay <dave.finlay@couchbase.com>

show more ...

eebaff6220-Jun-2018 Trond Norbye <trond.norbye@gmail.com>

MB-30183: Create audit records for X.509 authentication

Create an audit event as part of authentication with SSL
certificates

Change-Id: I64b02a9ee6bf7623da379b4b43c4467dd7559ab

MB-30183: Create audit records for X.509 authentication

Create an audit event as part of authentication with SSL
certificates

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

show more ...

53b5abdb20-Jun-2018 Dave Rigby <daver@couchbase.com>

MB-30190: Check if Blob is present before calculating uncompressedLength

As identified by UndefinedSanitizer; if we attempt to eject an item
which is compressed then during the HashTable

MB-30190: Check if Blob is present before calculating uncompressedLength

As identified by UndefinedSanitizer; if we attempt to eject an item
which is compressed then during the HashTable statistics update we
unconditionally dereference the value pointer; which is now null:

if (mcbp::datatype::is_snappy(v.getDatatype())) {
size_t uncompressed_length = cb::compression::get_uncompressed_length(
cb::compression::Algorithm::Snappy,
{v.getValue()->getData(), v.valuelen()});
^^
dereference of potentially null `v`

In the case of UBSan this reports an error. Without UBSan (on
Linux/GCC 7.3 at least) the compiler generates an address offset
calculation without reading memory so getData() returns a bogus
close-to-zero address.

Fix by checking for null before dereferencing the pointer; to simplify
the code the size calculation is moved into StoredValue.

Also expand the HashTable unit tests to catch this - prevously this
was only identified in the larger ep_testsuite tests.

Change-Id: I56dc0cf18a6aeaa547ca55558dd65e92df2f90f0
Reviewed-on: http://review.couchbase.org/95886
Reviewed-by: Tim Bradgate <tim.bradgate@couchbase.com>
Tested-by: Build Bot <build@couchbase.com>
Well-Formed: Build Bot <build@couchbase.com>

show more ...

865fbe3920-Jun-2018 Jim Walker <jim@couchbase.com>

MB-30137: Decrement total on-disk items for deletes for full eviction

In in the case of full eviction, the total number of on-disk items
is the source of truth about the total number of

MB-30137: Decrement total on-disk items for deletes for full eviction

In in the case of full eviction, the total number of on-disk items
is the source of truth about the total number of items in the
database. Consider the following scenario for a key K:

(i) store(K, V1): onDiskItems - 1 after persistence
(ii) delete(K): onDiskItems - 1 (before persistence)
(iii) Before persistence of (ii) store(K, V2): onDiskItems - 2

Persistence Callback of (ii) will notice that the rev seqno has
changed because of (iii) and hence will not decrement the
on-disk items. Solution is to decrement the on-disk items on
persistence of a deleted item even if the rev seqno has been
updated

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

show more ...

e427cb7418-Jun-2018 Dave Rigby <daver@couchbase.com>

MB-30148: ep_testsuite: ensure Item is reserved before reading

TSan reports the follow use-after-free error:

WARNING: ThreadSanitizer: heap-use-after-free (pid=5347)
R

MB-30148: ep_testsuite: ensure Item is reserved before reading

TSan reports the follow use-after-free error:

WARNING: ThreadSanitizer: heap-use-after-free (pid=5347)
Read of size 1 at 0x7b7400040609 by main thread:
#0 memcmp <null> (libtsan.so.0+0x000000043643)
#1 check_key_value() kv_engine/engines/ep/tests/ep_testsuite_common.cc:468 (ep_testsuite.so+0x0000000975ad)
#2 test_mem_stats kv_engine/engines/ep/tests/ep_testsuite.cc:2036 (ep_testsuite.so+0x00000002c5c6)
#3 execute_test kv_engine/programs/engine_testapp/engine_testapp.cc:1102 (engine_testapp+0x00000041b0ba)
#4 main kv_engine/programs/engine_testapp/engine_testapp.cc:1499 (engine_testapp+0x00000041c5b2)

Previous write of size 8 at 0x7b7400040608 by thread T11 (mutexes: write M3231945710371016):
#0 operator delete() <null> (libtsan.so.0+0x00000006a7b4)
#1 Blob::operator delete() kv_engine/engines/ep/src/blob.h:124 (ep.so+0x0000001959c2)
#2 Blob::Deleter::operator()(TaggedPtr<Blob>) kv_engine/engines/ep/src/blob.h:137 (ep.so+0x0000001959c2)
#3 SingleThreadedRCPtr<Blob, TaggedPtr<Blob>, Blob::Deleter>::swap(TaggedPtr<Blob>) kv_engine/engines/ep/src/atomic.h:362 (ep.so+0x0000001959c2)
#4 SingleThreadedRCPtr<Blob, TaggedPtr<Blob>, Blob::Deleter>::reset(TaggedPtr<Blob>) kv_engine/engines/ep/src/atomic.h:298 (ep.so+0x0000001959c2)
#5 StoredValue::replaceValue(TaggedPtr<Blob>) kv_engine/engines/ep/src/stored-value.h:540 (ep.so+0x0000001959c2)
#6 StoredValue::storeCompressedBuffer(cb::const_char_buffer) kv_engine/engines/ep/src/stored-value.cc:362 (ep.so+0x0000001959c2)
#7 HashTable::storeCompressedBuffer(cb::const_char_buffer, StoredValue&) kv_engine/engines/ep/src/hash_table.cc:620 (ep.so+0x00000012be5c)
#8 ItemCompressorVisitor::visit(HashTable::HashBucketLock const&, StoredValue&) kv_engine/engines/ep/src/item_compressor_visitor.cc:52 (ep.so+0x000000139780)
#9 HashTable::pauseResumeVisit(HashTableVisitor&, HashTable::Position&) kv_engine/engines/ep/src/hash_table.cc:753 (ep.so+0x000000127b6c)
#10 PauseResumeVBAdapter::visit(VBucket&) kv_engine/engines/ep/src/vb_visitors.cc:36 (ep.so+0x0000001a81b1)
#11 KVBucket::pauseResumeVisit(PauseResumeVBVisitor&, KVBucketIface::Position&) kv_engine/engines/ep/src/kv_bucket.cc:2177 (ep.so+0x000000158ec9)
#12 ItemCompressorTask::run() kv_engine/engines/ep/src/item_compressor.cc:70 (ep.so+0x000000138204)
#13 ExecutorThread::run() kv_engine/engines/ep/src/executorthread.cc:146 (ep.so+0x00000011da74)
#14 launch_executor_thread kv_engine/engines/ep/src/executorthread.cc:34 (ep.so+0x00000011e0ae)
#15 CouchbaseThread::run() platform/src/cb_pthreads.cc:59 (libplatform_so.so.0.1.0+0x000000009cc9)
#16 platform_thread_wrap platform/src/cb_pthreads.cc:72 (libplatform_so.so.0.1.0+0x000000009cc9)
#17 <null> <null> (libtsan.so.0+0x000000024feb)

Mutex M3231945710371016 is already destroyed.

The issue is in In check_key_value(); which uses get_item_info() to
retrieve the address and size of the value (Blob) of the given key
before checking it. get_item_info() doesn't retain a reference on the
underlying engine's Item and consequently Blob. As such it's not safe
to access the underlying Blob.

Fix by explicitly fetching the Item via get(), and retaining the
return value for the duration of accessing the Blob. This ensures the
ref-count is kept and so the Blob cannot be deleted while
check_key_value() is accessing it.

Change-Id: If6cefef4d988ca26c33e798ecc383e94478c474d
Reviewed-on: http://review.couchbase.org/95743
Well-Formed: Build Bot <build@couchbase.com>
Reviewed-by: Tim Bradgate <tim.bradgate@couchbase.com>
Reviewed-by: Sriram Ganesan <sriram@couchbase.com>
Tested-by: Build Bot <build@couchbase.com>

show more ...

80650a7019-Jun-2018 Dave Rigby <daver@couchbase.com>

MB-30167: Make test_create_new_checkpoint more robust

This test intermittently fails with the following error:

Test failed: `' (Expected `3', got `4' - Last closed checkpoint Id

MB-30167: Make test_create_new_checkpoint more robust

This test intermittently fails with the following error:

Test failed: `' (Expected `3', got `4' - Last closed checkpoint Id for VB 0 should be 3)

The test itself seems correct, however it lacks a number of
intermediate checks; the final check of the checkpoint IDs could have
differed in a number of places ealier.

Re-write the test to be more strict / controlled; which should
hopefully avoid any intermitent failures.

Change-Id: I6dc7e3f441b12a2ec1d92ab0df6eabbec2035139
Reviewed-on: http://review.couchbase.org/95812
Reviewed-by: Tim Bradgate <tim.bradgate@couchbase.com>
Well-Formed: Build Bot <build@couchbase.com>
Tested-by: Build Bot <build@couchbase.com>

show more ...

9df3480814-Jun-2018 Jim Walker <jim@couchbase.com>

MB-29816: Add test-case to show how get can be impacted

Simple test which has 1 key stored and then does a get of the
stored key plus a get of a non-existent key.

We disable blo

MB-29816: Add test-case to show how get can be impacted

Simple test which has 1 key stored and then does a get of the
stored key plus a get of a non-existent key.

We disable bloom-filters to ensure the non-existent GET turns
into a bgFetch

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

show more ...

3c0339fa08-Jun-2018 Tim Bradgate <tim.bradgate@couchbase.com>

MB-29816: Properly handle return codes from couchstore within couch-kvstore

Whilst this is not the cause of the issue, investigation into the code
paths led to the discovery we are not a

MB-29816: Properly handle return codes from couchstore within couch-kvstore

Whilst this is not the cause of the issue, investigation into the code
paths led to the discovery we are not always handling the return codes
from couchstore within the saveDocs method. As such, fix this so we
are protected from potential failures.

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

show more ...

9993d01a08-Jun-2018 Dave Rigby <daver@couchbase.com>

MB-29858: Include 'streamRegistered' in ActiveStream stats

Change-Id: Ieeeb9933c0d689fbf8dac7512333ccbc15031cd1
Reviewed-on: http://review.couchbase.org/95364
Well-Formed: Build Bot

MB-29858: Include 'streamRegistered' in ActiveStream stats

Change-Id: Ieeeb9933c0d689fbf8dac7512333ccbc15031cd1
Reviewed-on: http://review.couchbase.org/95364
Well-Formed: Build Bot <build@couchbase.com>
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Tim Bradgate <tim.bradgate@couchbase.com>

show more ...

0bcca93912-Jun-2018 Sriram Ganesan <sriram@couchbase.com>

MB-28685: Expand ep_testsuite ephemeral tests to all compression modes

As part of expanding ep_testsuite to run for all compression modes,
run the ep_testsuite ephemeral tests for all mo

MB-28685: Expand ep_testsuite ephemeral tests to all compression modes

As part of expanding ep_testsuite to run for all compression modes,
run the ep_testsuite ephemeral tests for all modes

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

show more ...

2e3b59f612-Jun-2018 Sriram Ganesan <sriram@couchbase.com>

MB-28685: Expand ep_testsuite tests for compression active mode

As part of expanding ep_testsuite to work with all compression
modes, run the ep_testsuite tests for active compression mo

MB-28685: Expand ep_testsuite tests for compression active mode

As part of expanding ep_testsuite to work with all compression
modes, run the ep_testsuite tests for active compression mode

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

show more ...

4451984b13-Jun-2018 Sriram Ganesan <sriram@couchbase.com>

MB-30097: Use valueSize() instead of using size directly

The higher order bit of the size of a Blob will be set if the value if
uncompressible. The valueSize() function will clear the bi

MB-30097: Use valueSize() instead of using size directly

The higher order bit of the size of a Blob will be set if the value if
uncompressible. The valueSize() function will clear the bit and return
the actual size of the value. The valueSize() function needs to be used
in the copy contructor of the Blob to use a memcpy instead of using
the size variable directly.

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

show more ...

3c15b33b12-Jun-2018 Sriram Ganesan <sriram@couchbase.com>

MB-28685: Expand ep_testsuite full eviction tests to passive mode

As part of expanding the ep_testsuite to work in different compression
modes, support full eviction tests in passive mod

MB-28685: Expand ep_testsuite full eviction tests to passive mode

As part of expanding the ep_testsuite to work in different compression
modes, support full eviction tests in passive mode

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

show more ...

e499bd3011-Jun-2018 Sriram Ganesan <sriram@couchbase.com>

MB-28685: Expand ep_testsuite value_eviction tests to passive mode

As part of expanding the different ep_testsuite tests to work in
different compression modes, this change will support

MB-28685: Expand ep_testsuite value_eviction tests to passive mode

As part of expanding the different ep_testsuite tests to work in
different compression modes, this change will support the different
ep_testsuite value_eviction tests to passive compression mode

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

show more ...

075614a606-Jun-2018 Paolo Cocchi <paolo.cocchi@couchbase.com>

MB-30019: Always close replica-checkpoint on memory-snapshot-end

Currently, when a Consumer receives the shapshot-end mutation of a
memory-snapshot we close the current open checkpoint o

MB-30019: Always close replica-checkpoint on memory-snapshot-end

Currently, when a Consumer receives the shapshot-end mutation of a
memory-snapshot we close the current open checkpoint only if
(mem_used > high_watermark).
As seen in MB-30019, we may end up with keeping big checkpoints in
memory when a Consumer has received the latest snapshot.
We this patch we unconditionally close a open replica-checkpoint when
the Consumer receives the snapshot-end mutation for a memory-sanpshot.

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

show more ...

1aae4b1606-Jun-2018 Dave Rigby <daver@couchbase.com>

MB-29858: Include start time in 'Slow cmd' trace info

When recording Slow commands in phosphor trace, use the recently-added
TRACE_COMPLETE macro to trace the event start in addition to

MB-29858: Include start time in 'Slow cmd' trace info

When recording Slow commands in phosphor trace, use the recently-added
TRACE_COMPLETE macro to trace the event start in addition to its
duration.

Change-Id: I4e1bfcbc88dfdafeb2a3765adb2e624dde1ce62a
Reviewed-on: http://review.couchbase.org/95258
Reviewed-by: Tim Bradgate <tim.bradgate@couchbase.com>
Tested-by: Build Bot <build@couchbase.com>

show more ...

Revision tags: v5.1.1
aecc3a7517-Apr-2018 Dave Rigby <daver@couchbase.com>

DcpConsumer: split possible failure causes into own log message

If DcpConsumer::streamEnd() fails to find a valid stream to operate
on, log each possible different failure individually.

DcpConsumer: split possible failure causes into own log message

If DcpConsumer::streamEnd() fails to find a valid stream to operate
on, log each possible different failure individually.

Change-Id: Ib02e75bc2c5c88d1335b76b3bb93cfd794ecabc8
Reviewed-on: http://review.couchbase.org/93615
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Tim Bradgate <tim.bradgate@couchbase.com>

show more ...

7db63be907-Jun-2018 Dave Rigby <daver@couchbase.com>

MB-29872: Make DCP disconnect timeout log message clearer

Improve the log message printed when DcpProducer disconnects due to
idle timeout being exceeded - make it explicit the numbers q

MB-29872: Make DCP disconnect timeout log message clearer

Improve the log message printed when DcpProducer disconnects due to
idle timeout being exceeded - make it explicit the numbers quoted are
durations and not timestamps.

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

show more ...

dacd2e6d06-Jun-2018 Sriram Ganesan <sriram@couchbase.com>

MB-29861: Generate a delete time for a deletion during backfill

Deletes need to have delete time set in the expiry field, so that
during compaction tombstones will be purged after a spec

MB-29861: Generate a delete time for a deletion during backfill

Deletes need to have delete time set in the expiry field, so that
during compaction tombstones will be purged after a specified
purge interval. But delete times were only being generated in
the checkpoint manager and were not generated for deletes that
were received during a disk backfill, thus causing delete time
to be set as 0. Fix this by also generating the delete time
for those backfill deletes.

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

show more ...

12345678910>>...485