CCBC-439: Provided better help text/usage for cbc subcommands

This adds some subcommand help by using --help

Change-Id: Ic6f67ac9fdaddc37028d3518dbc6a3b06bddc4a0
Reviewed-on: http://review.couchbase.org/41195
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Update release notes with recent changes

For some reason these were omitted during their respective commits.

Change-Id: I358354e2333a99ac50b12cdeeb3adf62250996d9
Reviewed-on: http://review.couchbase.org/41299
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
cbc: Fix ignoring of cbcrc options

Some cbcrc options were previously being ignored due to their
corresponding Option structures not being marked as 'passed' or 'found',
but merely containing a default value. The code which would then apply
the options ended up ignoring these values because the passed flag was
off. This ensures that the pass flag is set when the defaults are loaded
from a config file.

Change-Id: I4705690e3a53eb3876790e0b932ccccbce09f1b0
Reviewed-on: http://review.couchbase.org/41300
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
CCBC-318: Implement key stats feature

This adds a new command options to the lcb_CMDSTATS structure which
allows to interpret the key as a document ID for which stats should be
returned from its related nodes.

Change-Id: Ic5a93dba109a5973cc64b7c1c0cff1e87cb77ac5
Reviewed-on: http://review.couchbase.org/41288
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
pillowfight: use api3

Change-Id: Ia4f826c90ff4aaacf8d33e75d11a7866571c470c
Reviewed-on: http://review.couchbase.org/41361
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Brett Lawson <brett19@gmail.com>
pillowfight: reclarify set/get rates

The --ratio option has been renamed to --set-pct (with the alias `-r`
still being preserved).

Change-Id: I729bfe3eb88452640fe90955ca1fd28b541a0e8b
Reviewed-on: http://review.couchbase.org/41362
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
CCCP: log node we're requesting the config from

This came up while trying to analyze a log from a user, and realizing
there was no clear mention in the log about which node CCCP was going to
use to collect its configuration.

Change-Id: Ic6b239b45e7f4b7a043b4370ff5a9b0ad4b06ed7
Reviewed-on: http://review.couchbase.org/41208
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Brett Lawson <brett19@gmail.com>
Send LCB_CONNECT_ERROR, not LCB_UNKNOWN_HOST for connection failures

UNKNOWN_HOST should only be delivered when getaddrinfo() fails.

Change-Id: I32ade7c7de2e0d86a41d49bb7beb2bd9cfbeab83
Reviewed-on: http://review.couchbase.org/41392
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Brett Lawson <brett19@gmail.com>
CCBC-508: Mark hashkey as volatile in the API

This commit marks the hashkey/nhashkey fields in the v2 API as being
private and volatile.

The APIv3 hashkey field has been reworded to _hashkey to further convey
the private/volatile nature of this key.

Change-Id: Ib0d21e688aeb9638250b769e9c29ee0f47dde682
Reviewed-on: http://review.couchbase.org/41317
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Brett Lawson <brett19@gmail.com>
Remove outdated tests/README

We'll write a new section about this later on

Change-Id: I0c7d00efdd1b37c9ef854a17f2a4c9bbd66e4d37
Reviewed-on: http://review.couchbase.org/41445
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
check-all: Allow convenience --gtest_filter passthrough

Technically the harness allows additional arguments after a lone '--' to
be passed to the test binary itself. Since the --gtest_filter option is
so common, it's easier to just avoid the '--' if possible, altogether.

Change-Id: I88a320df3b82317a66cf2f7cd252c206d4119277
Reviewed-on: http://review.couchbase.org/41446
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Add cmake uninstall target

Change-Id: Id841f695eb0f464cd29ff251b5c03499ba90bce0
Reviewed-on: http://review.couchbase.org/41449
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Update contributing information

Change-Id: If4d34f487b962bd83fc7cfd9540cdb36c7f0db7f
Reviewed-on: http://review.couchbase.org/39462
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
CCBC-513, CCBC-514: Fix helper header paths

This makes autotools install the 'helper' headers (bsdio-inl.c and such)
in their proper paths (i.e. include/libcouchbase/plugins/io/..) rather
than at the top-level include/libcouchbase.

Change-Id: I805c592c7e3a0fcad73e0e14fbc82795b2e0940c
Reviewed-on: http://review.couchbase.org/41450
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
CCBC-512: Reword `lock` option in lcb_CMDGET

The key is accessible via get and other routines, however it cannot be
modified via the mutation operations, and cannot be locked again during
the duration of the lock.

Change-Id: Ib0e1c437f9f80d7fa7b23ab7f89c52082e4c3f12
Reviewed-on: http://review.couchbase.org/41380
Reviewed-by: Matt Ingenthron <matt@couchbase.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
CCBC-515: Check that config is not NULL for rget3

This also performs the same check in some other API entry points as well

Change-Id: I792c5d5cb4e930c584c0d5509f590d43b54a9e83
Reviewed-on: http://review.couchbase.org/41464
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
cmake: Build libuv on Windows, if found

Change-Id: Ibb6bb0b393322a731dc0743cb1c7b2aff5f64a68
Reviewed-on: http://review.couchbase.org/41471
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
confmon: Don't delay between providers for initial config

For < 2.5 clusters, we have an automatic failure for CCCP. Let's try to
not force the user to wait 100ms

Change-Id: Ie8c71030faa3903b10ed7adb2e449d205d43899e
Reviewed-on: http://review.couchbase.org/41501
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Don't automatically include api3.h in couchbase.h

Technically this is an experimental API. Some things may fail still
(such as various field name changes). We'll include it automatically
(and move the older API to a different file) once it's been marked as
stable.

Change-Id: I85d0c7090e4b4a52a01dca090c8bab8cbfeb6f5f
Reviewed-on: http://review.couchbase.org/41477
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Explicitly include api3.h in iotests

Fixes build failure

Change-Id: Ia63bf706999551d6b9024718ec4eaadee47a94ca
Reviewed-on: http://review.couchbase.org/41503
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>