MB-21617: Change CAS resolution to nanoseconds 08/69708/7
authorJim Walker <jim@couchbase.com>
Tue, 8 Nov 2016 11:15:58 +0000 (11:15 +0000)
committerDave Rigby <daver@couchbase.com>
Thu, 10 Nov 2016 07:26:48 +0000 (07:26 +0000)
commit76736699d9b41c506015e0d96f7499de59d10d2d
tree55e9ed23bdf61c9aa533e6f1dc888672a692089e
parentb605803ccca27443a6be5d1cceedb4e92c74f9cd
MB-21617: Change CAS resolution to nanoseconds

This gives better compatibility with older datasets and a less
confusing experience if an old cluster did set_with_cas against
a new one.

The CAS is generated as a nanosecond value.

Drift is tracked though in microseconds to give a longer window before
we may overflow the counter. The config thresholds are also all ┬Ás
but converted to ns so we can correctly track drift.

A new max_cas_str is also added to assist the supportability of
LWW, so at a glance you can see what the max_cas means as a
date/time string.

Change-Id: I40fb89add968043aca01b1de103f62319d814a5c
Reviewed-on: http://review.couchbase.org/69708
Reviewed-by: Dave Rigby <daver@couchbase.com>
Tested-by: buildbot <build@couchbase.com>
docs/stats.org
src/hlc.h
src/vbucket.h
src/vbucketmap.cc
src/vbucketmap.h
tests/ep_testsuite.cc
tests/ep_testsuite_xdcr.cc