History log of /4.6.0/ep-engine/ (Results 1 - 25 of 5683)
Revision (<<< Hide revision tags) (Show revision tags >>>)Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
Revision tags: v4.6.5, v4.6.3, v4.6.4, v4.6.2, v4.6.1, v4.6.0
e4c8bcbb07-Dec-2016 Dave Rigby <daver@couchbase.com>

MB-21925: Fix queue_fill stat when persitenceCursor on queue_op::empty

There is a bug related to how we account for items when we enqueue
mutations to be persisted (Checkpoint::queueDirt

MB-21925: Fix queue_fill stat when persitenceCursor on queue_op::empty

There is a bug related to how we account for items when we enqueue
mutations to be persisted (Checkpoint::queueDirty). The bug occurs
when we enqueue an item which already exists (i.e. it is to be
de-duplicated), and the persistence cursor has not permitted any items
for that VBucket - i.e. at the very beginning of the lifetime of the
VBucket.

With the advent of the MB-20852 (the set_vbucket_state changes), the
first item in a Bucket's checkpoint is now a
queue_op::set_vbucket_state - previously it would have been a "normal"
item. When items are added to a checkpoint, we just update the queuing
stats - essentially there are two possibilities:

1. The item is a new key (NEW_KEY), or it's a key which isn't new but
has already been persisted (PERSIST_AGAIN) - we need to persist it -
increment queue_fill

2. The item can be de-duplcated (EXISTING_ITEM) - don't increment
queue_fill.

Essentially, there's a bug in this logic - we incorrectly mark the
incoming item as PERSIST_AGAIN, instead of EXISTING_ITEM. As a result
the queue_fill value is incorrectly inflated.

This is due to using a unsigned value for the mutation_id, which we
decrement by one if it's a meta_item. This should go to -1 (less than
any possible valid item id), but instead it goes to 2^63-1, *greater*
than any possible valid item (!)

Note: this is purely a stats issue, the actual item /is/ queued and
persisted correctly.

Change-Id: I8d40c417dc165e192b4f90e8cc16c6e87557d451
Reviewed-on: http://review.couchbase.org/70730
Tested-by: buildbot <build@couchbase.com>
Well-Formed: buildbot <build@couchbase.com>
Reviewed-by: Daniel Owen <owend@couchbase.com>

show more ...

d85969d501-Dec-2016 Dave Rigby <daver@couchbase.com>

MB-21867: test_item_pager: Retry on ENOMEM when fetching items

Change-Id: I9031ca1ff51aed609144ccf141897354138c2f88
Reviewed-on: http://review.couchbase.org/70515
Tested-by: buildbot

MB-21867: test_item_pager: Retry on ENOMEM when fetching items

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

show more ...

ba9153a724-Nov-2016 Jim Walker <jim@couchbase.com>

MB-21790: CheckpointTest.SeqnoAndHLCOrdering needs 1 checkpoint

Configure the test so that a single checkpoint is created, otherwise
the time-based closing code may split the data over m

MB-21790: CheckpointTest.SeqnoAndHLCOrdering needs 1 checkpoint

Configure the test so that a single checkpoint is created, otherwise
the time-based closing code may split the data over more than 1
checkpoint causing the final data checks to fail.

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

show more ...

36d700b124-Nov-2016 Jim Walker <jim@couchbase.com>

MB-21769: Fix vbstate snap start/end off by one

Recent changes to vbstate writing introduced an edge case regression.
If we force shutdown and had empty active vbuckets, after warmup

MB-21769: Fix vbstate snap start/end off by one

Recent changes to vbstate writing introduced an edge case regression.
If we force shutdown and had empty active vbuckets, after warmup
we will expose an incorrect failover table as we have an entry
for seq 1, yet the VB has high-seq of 0.

Change-Id: Iee67f71ce46c8eaf4f2cd822103354dcdecc04d8
Reviewed-on: http://review.couchbase.org/70340
Reviewed-by: Dave Rigby <daver@couchbase.com>
Reviewed-by: Manu Dhundi <manu@couchbase.com>
Tested-by: buildbot <build@couchbase.com>

show more ...

1b94e9c524-Nov-2016 Dave Rigby <daver@couchbase.com>

MB_21787: Remove log message from couch-kvstore for non-existent key

If an arithmetic operation is performed on a key which isn't resident,
on a full-eviction bucket then the following m

MB_21787: Remove log message from couch-kvstore for non-existent key

If an arithmetic operation is performed on a key which isn't resident,
on a full-eviction bucket then the following message is often printed
in the logs:

WARNING (default) Failed to fetch data from database, vBucket=0
key=Key_19 error=document not found [none]

This is unnecessarily verbose - this is not actually a warning in this
case and can quickly fill up the logs.

(Note: the reason this is shown is that prior to full-eviction, all
metadata would be resident and hence it would be unexpected to attempt
to read from disk a key which doesn't exist). However this is no
longer the case).

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

show more ...

b21b13b123-Nov-2016 Jim Walker <jim@couchbase.com>

MB-21777: max_cas_str not formatting on Linux

Seems an issue with snprintf where we use timeString as input and
output yields only the nanosecond fractions being printed.

Fix al

MB-21777: max_cas_str not formatting on Linux

Seems an issue with snprintf where we use timeString as input and
output yields only the nanosecond fractions being printed.

Fix also reduces buffers down, they're still bigger than we need, but
100 is way too much.

Change-Id: Ief6755d15d4d77a10a6c14fb76321893a7dd0d9c
Reviewed-on: http://review.couchbase.org/70298
Reviewed-by: David Haikney <david.haikney@couchbase.com>
Tested-by: buildbot <build@couchbase.com>
Reviewed-by: Dave Rigby <daver@couchbase.com>

show more ...

ceae5bdf21-Nov-2016 Dave Rigby <daver@couchbase.com>

Split test_curr_items test into 4 smaller tests

test_curr_items performs a number of different checks on the
curr_items stat. To simplify diagnosing issues with it (there's been a
nu

Split test_curr_items test into 4 smaller tests

test_curr_items performs a number of different checks on the
curr_items stat. To simplify diagnosing issues with it (there's been a
number of intermittent failures), break it into four sub-tests.

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

show more ...

7459d66c21-Nov-2016 Dave Rigby <daver@couchbase.com>

Remove duplicate full_eviction tests from ep_testsuite

Now we run all ep testsuites in with full and value eviction modes,
there is no need to run some specific tests in full_eviction

Remove duplicate full_eviction tests from ep_testsuite

Now we run all ep testsuites in with full and value eviction modes,
there is no need to run some specific tests in full_eviction
mode. Remove them.

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

show more ...

2e5daf7c22-Nov-2016 Daniel Owen <owend@couchbase.com>

MB-21765: Missing lock from doWorkerStat

tMutex must be acquired before accessing the threadQ data structure.

07:01:46 WARNING: ThreadSanitizer: data race (pid=32512)
07:01:46 W

MB-21765: Missing lock from doWorkerStat

tMutex must be acquired before accessing the threadQ data structure.

07:01:46 WARNING: ThreadSanitizer: data race (pid=32512)
07:01:46 Write of size 8 at 0x7d1c00016eb8 by thread T9 (mutexes: write M27337):
07:01:46 #0 operator delete(void*) <null> (engine_testapp+0x000000464cbb)
07:01:46 #1 <null> <null> (libstdc++.so.6+0x0000000c1ac7)
07:01:46 #2 ExecutorThread::run() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/executorthread.cc:127 (ep.so+0x0000000f7ff5)
07:01:46 #3 launch_executor_thread(void*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/executorthread.cc:32 (ep.so+0x0000000f78a5)
07:01:46 #4 CouchbaseThread::run() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/platform/src/cb_pthreads.cc:58 (libplatform_so.so.0.1.0+0x000000007b91)
07:01:46 #5 platform_thread_wrap(void*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/platform/src/cb_pthreads.cc:71 (libplatform_so.so.0.1.0+0x000000005e92)
07:01:46
07:01:46 Previous read of size 8 at 0x7d1c00016eb8 by main thread (mutexes: write M20977, write M26658):
07:01:46 #0 strlen <null> (engine_testapp+0x0000004652af)
07:01:46 #1 showJobLog(char const*, char const*, std::vector<TaskLogEntry, std::allocator<TaskLogEntry> > const&, void const*, void (char const*, unsigned short, char const*, unsigned int, void const*)) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/statwriter.h:39 (ep.so+0x0000000f346b)
07:01:46 #2 ExecutorPool::doWorkerStat(EventuallyPersistentEngine*, void const*, void (char const*, unsigned short, char const*, unsigned int, void const*)) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/executorpool.cc:801 (ep.so+0x0000000f2ce2)
07:01:46 #3 EventuallyPersistentEngine::getStats(void const*, char const*, int, void (char const*, unsigned short, char const*, unsigned int, void const*)) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-master/ep-engine/src/ep_engine.cc:4383 (ep.so+0x0000000c30bf)

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

show more ...

67f15f5921-Nov-2016 Dave Rigby <daver@couchbase.com>

Fix error in Blob::operator==

Fix typo in Blob::operaror== - incorrect comparision of
extMetaLen. Introduced by http://review.couchbase.org/69477

Bug identified by Coverity:

Fix error in Blob::operator==

Fix typo in Blob::operaror== - incorrect comparision of
extMetaLen. Introduced by http://review.couchbase.org/69477

Bug identified by Coverity:

CID 153111: Incorrect expression (CONSTANT_EXPRESSION_RESULT)
"lhs.extMetaLen == lhs.extMetaLen" is always true regardless of
the values of its operands because those operands are identical. This
occurs as the logical second operand of "&&".

Change-Id: I87529e6a3801358bafe265869125c2eff2d40587
Reviewed-on: http://review.couchbase.org/70168
Tested-by: buildbot <build@couchbase.com>
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>

show more ...

21ed005e21-Nov-2016 Dave Rigby <daver@couchbase.com>

MB-21738: Fix potential crash due to race deleting VBucket

There is a potential race condition in
VBucketMap::setPersistenceCheckpointId during VBucket deletion which
can result in d

MB-21738: Fix potential crash due to race deleting VBucket

There is a potential race condition in
VBucketMap::setPersistenceCheckpointId during VBucket deletion which
can result in dereferencing a deleted pointer, triggering a segfault.

The issue is that setPersistenceCheckpointId can dereference a RCPtr
which has just become null. The issue is on line 177 - we dutifully
check if is valid, but then re-fetch the VBucket - at which point it
may have been set to null by another thread (such as when a VBucket is
deleted).

Fix is to just use the local `vb` to dereference.

Change-Id: I683cb0d0cfe37e710e98ba6bbf1ddd4cf3682a35
Reviewed-on: http://review.couchbase.org/70163
Reviewed-by: David Haikney <david.haikney@couchbase.com>
Tested-by: buildbot <build@couchbase.com>

show more ...

8d564a0c17-Nov-2016 Jim Walker <jim@couchbase.com>

MB-21599: Prevent LWW XDCR from non LWW cluster

Add support for FORCE_ACCEPT_WITH_META_OPS
- This flag must be set if the bucket is lww
- Error if the bucket is !lww

Add s

MB-21599: Prevent LWW XDCR from non LWW cluster

Add support for FORCE_ACCEPT_WITH_META_OPS
- This flag must be set if the bucket is lww
- Error if the bucket is !lww

Add support for REGENERATE_CAS
- This flag requires SKIP_CONFLICT_RESOLUTION
- When the item is stored, its CAS is re-created.

Tidy up test code relating to *_with_meta and add more extensive
testing of options and nmeta.

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

show more ...

8b7ee5ae18-Nov-2016 Dave Rigby <daver@couchbase.com>

MB-21539: Address raciness / intermittent timeout in test_mb16357

This is a multithreaded test which attempts to run the compactor
concurrently with a DCP stream when a vBucket flips to

MB-21539: Address raciness / intermittent timeout in test_mb16357

This is a multithreaded test which attempts to run the compactor
concurrently with a DCP stream when a vBucket flips to
replica. However, there is no interlocking of the threads' startup,
which can result in the compaction running and completing before the
DCP thread reaches line 810 (where it busy-waits for
ep_pending_compactions != 0). As a result the test can get stuck at
that line and timeout.

Address this by introducing synchronisation between the two threads -
ensure that the compactor thread is ready and about to compact before
advancing the DCP thread.

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

show more ...

3682f84318-Nov-2016 Jim Walker <jim@couchbase.com>

MB-21716: Consistent drift_threshold parameters

Change hlc_ahead to hlc_drift_ahead

Same for behind parameters.

Change-Id: I9331772c736767fecc82350087f581cdf13801a9
Rev

MB-21716: Consistent drift_threshold parameters

Change hlc_ahead to hlc_drift_ahead

Same for behind parameters.

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

show more ...

2eca4d5515-Nov-2016 Jim Walker <jim@couchbase.com>

MB-21685: Use EWOULDBLOCK variant of delVBucket

The test can occasionally fail because a delete overlaps
the test code which has set the VB active and written data.
The data in the o

MB-21685: Use EWOULDBLOCK variant of delVBucket

The test can occasionally fail because a delete overlaps
the test code which has set the VB active and written data.
The data in the overlap gets deleted from disk.

MB-21687 covers the overlap issue for delVBucket without the async=0
parameter.

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

show more ...

5350f91518-Nov-2016 Jim Walker <jim@couchbase.com>

MB-21724: Reduce iterations in CheckpointTest basic_chk_test

Reduce number of items and reduce threads and items further when
running under valgrind.

Also removed a sleep(1) and

MB-21724: Reduce iterations in CheckpointTest basic_chk_test

Reduce number of items and reduce threads and items further when
running under valgrind.

Also removed a sleep(1) and fixed the thread start/wait code
that relied on the sleep(1).

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

show more ...

807ed07418-Nov-2016 Jim Walker <jim@couchbase.com>

MB-21725: test_exp_persisted_set_del check for greater or equal 1

The test stores key twice and waits for ep_total_persisted to equal 1.
The test fails because the wait_for stat function

MB-21725: test_exp_persisted_set_del check for greater or equal 1

The test stores key twice and waits for ep_total_persisted to equal 1.
The test fails because the wait_for stat function timesout, the
total persisted is 2.

If the flusher ran quickly we may actually have a value of 2.

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

show more ...

fc7d5f3d01-Nov-2016 Dave Rigby <daver@couchbase.com>

MB-21540: ep-engine: Remove abort()

Final set of changes to remove abort() from ep_engine production code;
replacing with exceptions where a dynamic error is still required.

All

MB-21540: ep-engine: Remove abort()

Final set of changes to remove abort() from ep_engine production code;
replacing with exceptions where a dynamic error is still required.

All non-test ep-engine code is now abort-free :)

Change-Id: I9702b6bbaf28267b696498067318e78af0988002
Reviewed-on: http://review.couchbase.org/69376
Reviewed-by: Daniel Owen <owend@couchbase.com>
Reviewed-by: Jim Walker <jim@couchbase.com>
Tested-by: buildbot <build@couchbase.com>

show more ...

f0612cf418-Nov-2016 Dave Rigby <daver@couchbase.com>

MB-21568: Don't double-free newdb if rewind_db_header fails

If couchstore_rewind_db_header() fails, then it will free the DB
before returning, so we need to ensure that the DbHolder does

MB-21568: Don't double-free newdb if rewind_db_header fails

If couchstore_rewind_db_header() fails, then it will free the DB
before returning, so we need to ensure that the DbHolder doesn't cause
a double-free by also trying to free the Db.

Found during merge to master where we have improved couchstore testing
(CouchKVStoreErrorInjectionTest)

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

show more ...

Revision tags: v4.6.0-DP, v4.5.1, v4.1.2, v3.1.6
6aaef17517-Jun-2016 Manu Dhundi <manu@couchbase.com>

MB-19929: Fix sporadic failure in 'dcp cursor dropping' test

In cursor dropping test the max_size and chk_max_items should be such
that 2 checkpoints are created. The test simulates a ca

MB-19929: Fix sporadic failure in 'dcp cursor dropping' test

In cursor dropping test the max_size and chk_max_items should be such
that 2 checkpoints are created. The test simulates a case where of
the 2 checkpoints, the DCP cursor from one of them is dropped.

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

show more ...

8bf1427316-Nov-2016 Dave Rigby <daver@couchbase.com>

MB-21650: Prevent false sharing of frequently modified memory stats

We record the memory usage, memory overhead and number of Items per
bucket, in the EPStats object. These stats are ver

MB-21650: Prevent false sharing of frequently modified memory stats

We record the memory usage, memory overhead and number of Items per
bucket, in the EPStats object. These stats are very frequenly updated
(on every memory allocation/deallocation, and every Item
creation/destruction), and they are updated from all threads. This can
cause false sharing between these values if they co-exist in the same
cache line.

A recent change (66882e8 - MB-20852 [17/N]: Serialize VB state
changes) added a new element to EPStats which resulted in the layout
of that class changing such that memory stat variables (memOverhead,
numItem, totalMemory) ended up on the same cache line. This resulted
in a signficant regression (1.9M op/s -> 1.4M ops) in the performance
of the 'kv_max_ops_reads_512_avg_ops_hera_kv' test, due to false
sharing between these variables.

To address this, ensure that each variable is placed on its own cache
line to prevent false sharing, by using the CachelinePadded template
class.

Change-Id: I8316637a7a0c6fd05fd6f6ba24a1df44c43390c5
Reviewed-on: http://review.couchbase.org/69951
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
Tested-by: buildbot <build@couchbase.com>

show more ...

637ecccd16-Nov-2016 Dave Rigby <daver@couchbase.com>

MB-21650: Don't copy key when servicing memcached get() request

In the get request path (EvpGet() and onwards) we take a copy of the
key from the request packet into a std::string. This

MB-21650: Don't copy key when servicing memcached get() request

In the get request path (EvpGet() and onwards) we take a copy of the
key from the request packet into a std::string. This is then passed
around ep-engine (read-only) to retrieve the document to return to the
user.

This incurs the cost of creating a std::string object per get request,
along with the related memory tracking overheads which are not
insigificant (see ObjectRegistry).

To reduce this cost, use a const_sized_buffer (essentially a pair of
{const char*, size_t}) for the key, relying on the fact that the
client's request is always available in the request packet owned by
memcached.

On the 2-node 'hera' cluster this improves the op/s of the following
pillowfight benchmark, from 1.8M op/s total to 2.3M op/s:

cbc-pillowfight --spec couchbase://172.23.96.117:12000/default \
--batch-size 1000 --num-items 1000000 --num-threads 50 \
--min-size 512 --max-size 512 --set-pct 20

(client running on 3rd hera-client node).

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

show more ...

e908379817-Nov-2016 Daniel Owen <owend@couchbase.com>

MB-20079: Ensure updateWaketimeIfLessThan performs a compare_exchange

The patch MB-20079: Use std::chrono::steady_clock (ProcessClock) with
changeID: I2fc9688abb782fe2c9e80efb6da840be364

MB-20079: Ensure updateWaketimeIfLessThan performs a compare_exchange

The patch MB-20079: Use std::chrono::steady_clock (ProcessClock) with
changeID: I2fc9688abb782fe2c9e80efb6da840be3643d4a5 introduced a bug
where the waketime could be incorrectly updated, due to not performing
a compare_exchange_strong.

This patch reverts to using a compare_exchange_strong, ensuring that
waketime is only updated if it is less than the input time_point.

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

show more ...

fd43a40d17-Nov-2016 Jim Walker <jim@couchbase.com>

MB-21568: Lock inversion issue in rollback

vbsetMutex must be obtained before vb::stateMutex.

the rollback path needs to keep both held until
complete so some refactoring to exp

MB-21568: Lock inversion issue in rollback

vbsetMutex must be obtained before vb::stateMutex.

the rollback path needs to keep both held until
complete so some refactoring to expose
_UNLOCKED variants of setVBucketState and resetVbucket
so there's no subsequent inversion risk

Change-Id: I16d869277ad5609b6b45042ea32b3f1037faeb72
Reviewed-on: http://review.couchbase.org/70029
Reviewed-by: Dave Rigby <daver@couchbase.com>
Reviewed-by: Manu Dhundi <manu@couchbase.com>
Tested-by: buildbot <build@couchbase.com>

show more ...

5731cac917-Nov-2016 Jim Walker <jim@couchbase.com>

MB-21568: Use signed int64 when comparing against item bySeqno

addresses compiler warning

Change-Id: I63ae0f15baf6512679ca32491b707500309b09e9
Reviewed-on: http://review.couchba

MB-21568: Use signed int64 when comparing against item bySeqno

addresses compiler warning

Change-Id: I63ae0f15baf6512679ca32491b707500309b09e9
Reviewed-on: http://review.couchbase.org/70024
Reviewed-by: Dave Rigby <daver@couchbase.com>
Tested-by: Dave Rigby <daver@couchbase.com>

show more ...

12345678910>>...228