MB-24055: remove defaultNum{Buckets,Locks}, use config.json instead 86/77886/5
authorDave Rigby <daver@couchbase.com>
Tue, 9 May 2017 12:20:31 +0000 (13:20 +0100)
committerDave Rigby <daver@couchbase.com>
Fri, 12 May 2017 09:07:28 +0000 (09:07 +0000)
commit166e06fcdba538674c04599a86a97dbc0337ea54
tree3b88b8e74cf66e55e83ef59dc92bd23286d76d16
parentefcc90d2f697d09c29359f745e2bc156a089aa7d
MB-24055: remove defaultNum{Buckets,Locks}, use config.json instead

HashTable defines it's own set of default values for the hash table
initial size and number of locks. This appears to be a remnant of a
time before the central configuration.json we now know and love.

Having both is over-complex and confusing - it might /appear/ that the
default ht_size is 47 (from configuration.json), but in fact the
default is 3 - as hard-coded in hash_table.cc

Given we have config.json now, just use that as the holder of the
default sizes (and which can be overridden by ns_server if
desired). As such HashTable now requires an explicit initialSize and
nLocks in the constructor - which in normal usage will simply come
from the config.

Note that there should be no material change in the values used for
ht_locks or ht_size when run as a full Couchbase Server instance - if
a value is passed in by ns_server (via bucket config string) that will
be used; otherwise the previous values of defaultNum{Buckets,Locks} -
3 and 193 respectively - are used. In unit tests, any previously
overridden values have been updated here to the same values.

Change-Id: I8e3067014714a48acf1954310fdf13dce0b731d7
Reviewed-on: http://review.couchbase.org/77886
Reviewed-by: James Harrison <james.harrison@couchbase.com>
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
Tested-by: Build Bot <build@couchbase.com>
benchmarks/access_scanner_bench.cc
configuration.json
src/ep_engine.cc
src/hash_table.cc
src/hash_table.h
src/vbucket.cc
tests/module_tests/hash_table_test.cc
tests/module_tests/item_pager_test.cc
tests/module_tests/stored_value_test.cc