summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Cahill <michael.cahill@wiredtiger.com>2015-01-27 12:25:22 +1100
committerMichael Cahill <michael.cahill@wiredtiger.com>2015-01-27 12:25:22 +1100
commit695bae9649a3d24ad3898bf90291d09d3050db75 (patch)
tree10383835e87e108e85529e29abbf32554310e16d
parent271db862ec94d824553e41654303edc0f203fc91 (diff)
downloadmongo-695bae9649a3d24ad3898bf90291d09d3050db75.tar.gz
Apply the cache size adjustment when checking if the cache is full. That should play nice with shared caches.
refs #1590
-rw-r--r--dist/api_data.py10
-rw-r--r--dist/s_string.ok1
-rw-r--r--dist/stat_data.py2
-rw-r--r--src/config/config_def.c10
-rw-r--r--src/conn/conn_cache.c8
-rw-r--r--src/include/cache.i5
-rw-r--r--src/include/connection.h3
-rw-r--r--src/include/stat.h1
-rw-r--r--src/include/wiredtiger.in240
-rw-r--r--src/support/stat.c2
-rw-r--r--tools/stat_data.py2
11 files changed, 138 insertions, 146 deletions
diff --git a/dist/api_data.py b/dist/api_data.py
index f0afec41810..7754a3a1d13 100644
--- a/dist/api_data.py
+++ b/dist/api_data.py
@@ -313,14 +313,14 @@ connection_runtime_config = [
min='1MB', max='10TB'),
Config('cache_overhead', '8', r'''
assume the heap allocator overhead is the specified percentage, and
- decrement the cache size by that amount (for example, if the cache
- size is 100GB, a percentage of 10 means WiredTiger limits itself to a
- cache size of 90GB). This value is configurable because different heap
+ adjust the cache size by that amount (for example, if the cache size is
+ 100GB, a percentage of 10 means WiredTiger limits itself to allocating
+ 90GB of memory). This value is configurable because different heap
allocators have different overhead and different workloads will have
different heap allocation sizes and patterns, therefore applications
may need to adjust this value based on allocator choice and behavior
- in measured workloads''',
- min='0', max='20'),
+ in measured workloads''',
+ min='0', max='30'),
Config('checkpoint', '', r'''
periodically checkpoint the database''',
type='category', subconfig=[
diff --git a/dist/s_string.ok b/dist/s_string.ok
index f4ddea2ae06..cea96db2848 100644
--- a/dist/s_string.ok
+++ b/dist/s_string.ok
@@ -398,6 +398,7 @@ agc
alfred
alloc
allocator
+allocators
allocfile
allocsize
amd
diff --git a/dist/stat_data.py b/dist/stat_data.py
index 45eece65f83..29e62944e9a 100644
--- a/dist/stat_data.py
+++ b/dist/stat_data.py
@@ -150,8 +150,6 @@ connection_stats = [
'bytes currently in the cache', 'no_clear,no_scale'),
CacheStat('cache_bytes_max',
'maximum bytes configured', 'no_clear,no_scale'),
- CacheStat('cache_bytes_max_adjusted',
- 'maximum bytes configured, adjusted for overhead', 'no_clear,no_scale'),
CacheStat('cache_bytes_read', 'bytes read into cache'),
CacheStat('cache_bytes_write', 'bytes written from cache'),
CacheStat('cache_eviction_app', 'pages evicted by application threads'),
diff --git a/src/config/config_def.c b/src/config/config_def.c
index 6d5a7eef224..646551cdd38 100644
--- a/src/config/config_def.c
+++ b/src/config/config_def.c
@@ -82,7 +82,7 @@ static const WT_CONFIG_CHECK confchk_statistics_log_subconfigs[] = {
static const WT_CONFIG_CHECK confchk_connection_reconfigure[] = {
{ "async", "category", NULL, confchk_async_subconfigs },
- { "cache_overhead", "int", "min=0,max=20", NULL },
+ { "cache_overhead", "int", "min=0,max=30", NULL },
{ "cache_size", "int", "min=1MB,max=10TB", NULL },
{ "checkpoint", "category", NULL,
confchk_checkpoint_subconfigs },
@@ -327,7 +327,7 @@ static const WT_CONFIG_CHECK confchk_transaction_sync_subconfigs[] = {
static const WT_CONFIG_CHECK confchk_wiredtiger_open[] = {
{ "async", "category", NULL, confchk_async_subconfigs },
{ "buffer_alignment", "int", "min=-1,max=1MB", NULL },
- { "cache_overhead", "int", "min=0,max=20", NULL },
+ { "cache_overhead", "int", "min=0,max=30", NULL },
{ "cache_size", "int", "min=1MB,max=10TB", NULL },
{ "checkpoint", "category", NULL,
confchk_checkpoint_subconfigs },
@@ -377,7 +377,7 @@ static const WT_CONFIG_CHECK confchk_wiredtiger_open[] = {
static const WT_CONFIG_CHECK confchk_wiredtiger_open_all[] = {
{ "async", "category", NULL, confchk_async_subconfigs },
{ "buffer_alignment", "int", "min=-1,max=1MB", NULL },
- { "cache_overhead", "int", "min=0,max=20", NULL },
+ { "cache_overhead", "int", "min=0,max=30", NULL },
{ "cache_size", "int", "min=1MB,max=10TB", NULL },
{ "checkpoint", "category", NULL,
confchk_checkpoint_subconfigs },
@@ -428,7 +428,7 @@ static const WT_CONFIG_CHECK confchk_wiredtiger_open_all[] = {
static const WT_CONFIG_CHECK confchk_wiredtiger_open_basecfg[] = {
{ "async", "category", NULL, confchk_async_subconfigs },
{ "buffer_alignment", "int", "min=-1,max=1MB", NULL },
- { "cache_overhead", "int", "min=0,max=20", NULL },
+ { "cache_overhead", "int", "min=0,max=30", NULL },
{ "cache_size", "int", "min=1MB,max=10TB", NULL },
{ "checkpoint", "category", NULL,
confchk_checkpoint_subconfigs },
@@ -475,7 +475,7 @@ static const WT_CONFIG_CHECK confchk_wiredtiger_open_basecfg[] = {
static const WT_CONFIG_CHECK confchk_wiredtiger_open_usercfg[] = {
{ "async", "category", NULL, confchk_async_subconfigs },
{ "buffer_alignment", "int", "min=-1,max=1MB", NULL },
- { "cache_overhead", "int", "min=0,max=20", NULL },
+ { "cache_overhead", "int", "min=0,max=30", NULL },
{ "cache_size", "int", "min=1MB,max=10TB", NULL },
{ "checkpoint", "category", NULL,
confchk_checkpoint_subconfigs },
diff --git a/src/conn/conn_cache.c b/src/conn/conn_cache.c
index 3326c6dd708..b278d7a6b8a 100644
--- a/src/conn/conn_cache.c
+++ b/src/conn/conn_cache.c
@@ -28,12 +28,9 @@ __wt_cache_config(WT_SESSION_IMPL *session, const char *cfg[])
*/
if (!F_ISSET(conn, WT_CONN_CACHE_POOL)) {
WT_RET(__wt_config_gets(session, cfg, "cache_size", &cval));
- conn->cache_bytes_max = conn->cache_size = (uint64_t)cval.val;
+ conn->cache_size = (uint64_t)cval.val;
WT_RET(__wt_config_gets(session, cfg, "cache_overhead", &cval));
conn->cache_overhead = (int)cval.val;
- if (cval.val != 0)
- conn->cache_size -=
- (conn->cache_size * (uint64_t)cval.val) / 100;
} else {
WT_RET(__wt_config_gets(
session, cfg, "shared_cache.reserve", &cval));
@@ -145,8 +142,7 @@ __wt_cache_stats_update(WT_SESSION_IMPL *session)
cache = conn->cache;
stats = &conn->stats;
- WT_STAT_SET(stats, cache_bytes_max, conn->cache_bytes_max);
- WT_STAT_SET(stats, cache_bytes_max_adjusted, conn->cache_size);
+ WT_STAT_SET(stats, cache_bytes_max, conn->cache_size);
WT_STAT_SET(stats, cache_bytes_inuse, __wt_cache_bytes_inuse(cache));
WT_STAT_SET(stats, cache_overhead, conn->cache_overhead);
diff --git a/src/include/cache.i b/src/include/cache.i
index ee969255241..877818a618a 100644
--- a/src/include/cache.i
+++ b/src/include/cache.i
@@ -90,6 +90,10 @@ __wt_eviction_check(WT_SESSION_IMPL *session, int *fullp, int wake)
dirty_inuse = cache->bytes_dirty;
bytes_max = conn->cache_size + 1;
+ /* Adjust the cache size to take allocation overhead into account. */
+ if (conn->cache_overhead != 0)
+ bytes_max -= (bytes_max * (uint64_t)conn->cache_overhead) / 100;
+
/* Calculate the cache full percentage. */
*fullp = (int)((100 * bytes_inuse) / bytes_max);
@@ -98,6 +102,7 @@ __wt_eviction_check(WT_SESSION_IMPL *session, int *fullp, int wake)
(bytes_inuse > (cache->eviction_trigger * bytes_max) / 100 ||
dirty_inuse > (cache->eviction_dirty_target * bytes_max) / 100))
WT_RET(__wt_evict_server_wake(session));
+
return (0);
}
diff --git a/src/include/connection.h b/src/include/connection.h
index 83a5b507d95..ff34b014ecf 100644
--- a/src/include/connection.h
+++ b/src/include/connection.h
@@ -196,9 +196,8 @@ struct __wt_connection_impl {
uint32_t hazard_max; /* Hazard array size */
WT_CACHE *cache; /* Page cache */
- uint64_t cache_bytes_max; /* Configured cache size */
int cache_overhead; /* Cache percent adjustment */
- uint64_t cache_size; /* Adjusted (real) cache size */
+ uint64_t cache_size; /* Configured cache size */
WT_TXN_GLOBAL txn_global; /* Global transaction state */
diff --git a/src/include/stat.h b/src/include/stat.h
index 5ccb91ba6bd..f8c3e43a898 100644
--- a/src/include/stat.h
+++ b/src/include/stat.h
@@ -155,7 +155,6 @@ struct __wt_connection_stats {
WT_STATS cache_bytes_dirty;
WT_STATS cache_bytes_inuse;
WT_STATS cache_bytes_max;
- WT_STATS cache_bytes_max_adjusted;
WT_STATS cache_bytes_read;
WT_STATS cache_bytes_write;
WT_STATS cache_eviction_app;
diff --git a/src/include/wiredtiger.in b/src/include/wiredtiger.in
index a36e1dd9a52..00754a5f40d 100644
--- a/src/include/wiredtiger.in
+++ b/src/include/wiredtiger.in
@@ -1538,14 +1538,14 @@ struct __wt_connection {
* integer between 1 and 20; default \c 2.}
* @config{ ),,}
* @config{cache_overhead, assume the heap allocator overhead is the
- * specified percentage\, and decrement the cache size by that amount
- * (for example\, if the cache size is 100GB\, a percentage of 10 means
- * WiredTiger limits itself to a cache size of 90GB). This value is
+ * specified percentage\, and adjust the cache size by that amount (for
+ * example\, if the cache size is 100GB\, a percentage of 10 means
+ * WiredTiger limits itself to allocating 90GB of memory). This value is
* configurable because different heap allocators have different
* overhead and different workloads will have different heap allocation
* sizes and patterns\, therefore applications may need to adjust this
* value based on allocator choice and behavior in measured workloads.,
- * an integer between 0 and 20; default \c 8.}
+ * an integer between 0 and 30; default \c 8.}
* @config{cache_size, maximum heap memory to allocate for the cache. A
* database should configure either \c cache_size or \c shared_cache but
* not both., an integer between 1MB and 10TB; default \c 100MB.}
@@ -1874,13 +1874,13 @@ struct __wt_connection {
* should be used (4KB on Linux systems\, zero elsewhere)., an integer between
* -1 and 1MB; default \c -1.}
* @config{cache_overhead, assume the heap allocator overhead is the specified
- * percentage\, and decrement the cache size by that amount (for example\, if
- * the cache size is 100GB\, a percentage of 10 means WiredTiger limits itself
- * to a cache size of 90GB). This value is configurable because different heap
+ * percentage\, and adjust the cache size by that amount (for example\, if the
+ * cache size is 100GB\, a percentage of 10 means WiredTiger limits itself to
+ * allocating 90GB of memory). This value is configurable because different heap
* allocators have different overhead and different workloads will have
* different heap allocation sizes and patterns\, therefore applications may
* need to adjust this value based on allocator choice and behavior in measured
- * workloads., an integer between 0 and 20; default \c 8.}
+ * workloads., an integer between 0 and 30; default \c 8.}
* @config{cache_size, maximum heap memory to allocate for the cache. A
* database should configure either \c cache_size or \c shared_cache but not
* both., an integer between 1MB and 10TB; default \c 100MB.}
@@ -3200,230 +3200,228 @@ extern int wiredtiger_extension_terminate(WT_CONNECTION *connection);
#define WT_STAT_CONN_CACHE_BYTES_INUSE 1021
/*! cache: maximum bytes configured */
#define WT_STAT_CONN_CACHE_BYTES_MAX 1022
-/*! cache: maximum bytes configured, adjusted for overhead */
-#define WT_STAT_CONN_CACHE_BYTES_MAX_ADJUSTED 1023
/*! cache: bytes read into cache */
-#define WT_STAT_CONN_CACHE_BYTES_READ 1024
+#define WT_STAT_CONN_CACHE_BYTES_READ 1023
/*! cache: bytes written from cache */
-#define WT_STAT_CONN_CACHE_BYTES_WRITE 1025
+#define WT_STAT_CONN_CACHE_BYTES_WRITE 1024
/*! cache: pages evicted by application threads */
-#define WT_STAT_CONN_CACHE_EVICTION_APP 1026
+#define WT_STAT_CONN_CACHE_EVICTION_APP 1025
/*! cache: checkpoint blocked page eviction */
-#define WT_STAT_CONN_CACHE_EVICTION_CHECKPOINT 1027
+#define WT_STAT_CONN_CACHE_EVICTION_CHECKPOINT 1026
/*! cache: unmodified pages evicted */
-#define WT_STAT_CONN_CACHE_EVICTION_CLEAN 1028
+#define WT_STAT_CONN_CACHE_EVICTION_CLEAN 1027
/*! cache: page split during eviction deepened the tree */
-#define WT_STAT_CONN_CACHE_EVICTION_DEEPEN 1029
+#define WT_STAT_CONN_CACHE_EVICTION_DEEPEN 1028
/*! cache: modified pages evicted */
-#define WT_STAT_CONN_CACHE_EVICTION_DIRTY 1030
+#define WT_STAT_CONN_CACHE_EVICTION_DIRTY 1029
/*! cache: pages selected for eviction unable to be evicted */
-#define WT_STAT_CONN_CACHE_EVICTION_FAIL 1031
+#define WT_STAT_CONN_CACHE_EVICTION_FAIL 1030
/*! cache: pages evicted because they exceeded the in-memory maximum */
-#define WT_STAT_CONN_CACHE_EVICTION_FORCE 1032
+#define WT_STAT_CONN_CACHE_EVICTION_FORCE 1031
/*! cache: pages evicted because they had chains of deleted items */
-#define WT_STAT_CONN_CACHE_EVICTION_FORCE_DELETE 1033
+#define WT_STAT_CONN_CACHE_EVICTION_FORCE_DELETE 1032
/*! cache: failed eviction of pages that exceeded the in-memory maximum */
-#define WT_STAT_CONN_CACHE_EVICTION_FORCE_FAIL 1034
+#define WT_STAT_CONN_CACHE_EVICTION_FORCE_FAIL 1033
/*! cache: hazard pointer blocked page eviction */
-#define WT_STAT_CONN_CACHE_EVICTION_HAZARD 1035
+#define WT_STAT_CONN_CACHE_EVICTION_HAZARD 1034
/*! cache: internal pages evicted */
-#define WT_STAT_CONN_CACHE_EVICTION_INTERNAL 1036
+#define WT_STAT_CONN_CACHE_EVICTION_INTERNAL 1035
/*! cache: maximum page size at eviction */
-#define WT_STAT_CONN_CACHE_EVICTION_MAXIMUM_PAGE_SIZE 1037
+#define WT_STAT_CONN_CACHE_EVICTION_MAXIMUM_PAGE_SIZE 1036
/*! cache: eviction server candidate queue empty when topping up */
-#define WT_STAT_CONN_CACHE_EVICTION_QUEUE_EMPTY 1038
+#define WT_STAT_CONN_CACHE_EVICTION_QUEUE_EMPTY 1037
/*! cache: eviction server candidate queue not empty when topping up */
-#define WT_STAT_CONN_CACHE_EVICTION_QUEUE_NOT_EMPTY 1039
+#define WT_STAT_CONN_CACHE_EVICTION_QUEUE_NOT_EMPTY 1038
/*! cache: eviction server evicting pages */
-#define WT_STAT_CONN_CACHE_EVICTION_SERVER_EVICTING 1040
+#define WT_STAT_CONN_CACHE_EVICTION_SERVER_EVICTING 1039
/*! cache: eviction server populating queue, but not evicting pages */
-#define WT_STAT_CONN_CACHE_EVICTION_SERVER_NOT_EVICTING 1041
+#define WT_STAT_CONN_CACHE_EVICTION_SERVER_NOT_EVICTING 1040
/*! cache: eviction server unable to reach eviction goal */
-#define WT_STAT_CONN_CACHE_EVICTION_SLOW 1042
+#define WT_STAT_CONN_CACHE_EVICTION_SLOW 1041
/*! cache: pages split during eviction */
-#define WT_STAT_CONN_CACHE_EVICTION_SPLIT 1043
+#define WT_STAT_CONN_CACHE_EVICTION_SPLIT 1042
/*! cache: pages walked for eviction */
-#define WT_STAT_CONN_CACHE_EVICTION_WALK 1044
+#define WT_STAT_CONN_CACHE_EVICTION_WALK 1043
/*! cache: in-memory page splits */
-#define WT_STAT_CONN_CACHE_INMEM_SPLIT 1045
+#define WT_STAT_CONN_CACHE_INMEM_SPLIT 1044
/*! cache: percentage overhead */
-#define WT_STAT_CONN_CACHE_OVERHEAD 1046
+#define WT_STAT_CONN_CACHE_OVERHEAD 1045
/*! cache: tracked dirty pages in the cache */
-#define WT_STAT_CONN_CACHE_PAGES_DIRTY 1047
+#define WT_STAT_CONN_CACHE_PAGES_DIRTY 1046
/*! cache: pages currently held in the cache */
-#define WT_STAT_CONN_CACHE_PAGES_INUSE 1048
+#define WT_STAT_CONN_CACHE_PAGES_INUSE 1047
/*! cache: pages read into cache */
-#define WT_STAT_CONN_CACHE_READ 1049
+#define WT_STAT_CONN_CACHE_READ 1048
/*! cache: pages written from cache */
-#define WT_STAT_CONN_CACHE_WRITE 1050
+#define WT_STAT_CONN_CACHE_WRITE 1049
/*! connection: pthread mutex condition wait calls */
-#define WT_STAT_CONN_COND_WAIT 1051
+#define WT_STAT_CONN_COND_WAIT 1050
/*! cursor: cursor create calls */
-#define WT_STAT_CONN_CURSOR_CREATE 1052
+#define WT_STAT_CONN_CURSOR_CREATE 1051
/*! cursor: cursor insert calls */
-#define WT_STAT_CONN_CURSOR_INSERT 1053
+#define WT_STAT_CONN_CURSOR_INSERT 1052
/*! cursor: cursor next calls */
-#define WT_STAT_CONN_CURSOR_NEXT 1054
+#define WT_STAT_CONN_CURSOR_NEXT 1053
/*! cursor: cursor prev calls */
-#define WT_STAT_CONN_CURSOR_PREV 1055
+#define WT_STAT_CONN_CURSOR_PREV 1054
/*! cursor: cursor remove calls */
-#define WT_STAT_CONN_CURSOR_REMOVE 1056
+#define WT_STAT_CONN_CURSOR_REMOVE 1055
/*! cursor: cursor reset calls */
-#define WT_STAT_CONN_CURSOR_RESET 1057
+#define WT_STAT_CONN_CURSOR_RESET 1056
/*! cursor: cursor search calls */
-#define WT_STAT_CONN_CURSOR_SEARCH 1058
+#define WT_STAT_CONN_CURSOR_SEARCH 1057
/*! cursor: cursor search near calls */
-#define WT_STAT_CONN_CURSOR_SEARCH_NEAR 1059
+#define WT_STAT_CONN_CURSOR_SEARCH_NEAR 1058
/*! cursor: cursor update calls */
-#define WT_STAT_CONN_CURSOR_UPDATE 1060
+#define WT_STAT_CONN_CURSOR_UPDATE 1059
/*! data-handle: connection dhandles swept */
-#define WT_STAT_CONN_DH_CONN_HANDLES 1061
+#define WT_STAT_CONN_DH_CONN_HANDLES 1060
/*! data-handle: connection candidate referenced */
-#define WT_STAT_CONN_DH_CONN_REF 1062
+#define WT_STAT_CONN_DH_CONN_REF 1061
/*! data-handle: connection sweeps */
-#define WT_STAT_CONN_DH_CONN_SWEEPS 1063
+#define WT_STAT_CONN_DH_CONN_SWEEPS 1062
/*! data-handle: connection time-of-death sets */
-#define WT_STAT_CONN_DH_CONN_TOD 1064
+#define WT_STAT_CONN_DH_CONN_TOD 1063
/*! data-handle: session dhandles swept */
-#define WT_STAT_CONN_DH_SESSION_HANDLES 1065
+#define WT_STAT_CONN_DH_SESSION_HANDLES 1064
/*! data-handle: session sweep attempts */
-#define WT_STAT_CONN_DH_SESSION_SWEEPS 1066
+#define WT_STAT_CONN_DH_SESSION_SWEEPS 1065
/*! connection: files currently open */
-#define WT_STAT_CONN_FILE_OPEN 1067
+#define WT_STAT_CONN_FILE_OPEN 1066
/*! log: log buffer size increases */
-#define WT_STAT_CONN_LOG_BUFFER_GROW 1068
+#define WT_STAT_CONN_LOG_BUFFER_GROW 1067
/*! log: total log buffer size */
-#define WT_STAT_CONN_LOG_BUFFER_SIZE 1069
+#define WT_STAT_CONN_LOG_BUFFER_SIZE 1068
/*! log: log bytes of payload data */
-#define WT_STAT_CONN_LOG_BYTES_PAYLOAD 1070
+#define WT_STAT_CONN_LOG_BYTES_PAYLOAD 1069
/*! log: log bytes written */
-#define WT_STAT_CONN_LOG_BYTES_WRITTEN 1071
+#define WT_STAT_CONN_LOG_BYTES_WRITTEN 1070
/*! log: yields waiting for previous log file close */
-#define WT_STAT_CONN_LOG_CLOSE_YIELDS 1072
+#define WT_STAT_CONN_LOG_CLOSE_YIELDS 1071
/*! log: total size of compressed records */
-#define WT_STAT_CONN_LOG_COMPRESS_LEN 1073
+#define WT_STAT_CONN_LOG_COMPRESS_LEN 1072
/*! log: total in-memory size of compressed records */
-#define WT_STAT_CONN_LOG_COMPRESS_MEM 1074
+#define WT_STAT_CONN_LOG_COMPRESS_MEM 1073
/*! log: log records too small to compress */
-#define WT_STAT_CONN_LOG_COMPRESS_SMALL 1075
+#define WT_STAT_CONN_LOG_COMPRESS_SMALL 1074
/*! log: log records not compressed */
-#define WT_STAT_CONN_LOG_COMPRESS_WRITE_FAILS 1076
+#define WT_STAT_CONN_LOG_COMPRESS_WRITE_FAILS 1075
/*! log: log records compressed */
-#define WT_STAT_CONN_LOG_COMPRESS_WRITES 1077
+#define WT_STAT_CONN_LOG_COMPRESS_WRITES 1076
/*! log: maximum log file size */
-#define WT_STAT_CONN_LOG_MAX_FILESIZE 1078
+#define WT_STAT_CONN_LOG_MAX_FILESIZE 1077
/*! log: pre-allocated log files prepared */
-#define WT_STAT_CONN_LOG_PREALLOC_FILES 1079
+#define WT_STAT_CONN_LOG_PREALLOC_FILES 1078
/*! log: number of pre-allocated log files to create */
-#define WT_STAT_CONN_LOG_PREALLOC_MAX 1080
+#define WT_STAT_CONN_LOG_PREALLOC_MAX 1079
/*! log: pre-allocated log files used */
-#define WT_STAT_CONN_LOG_PREALLOC_USED 1081
+#define WT_STAT_CONN_LOG_PREALLOC_USED 1080
/*! log: log read operations */
-#define WT_STAT_CONN_LOG_READS 1082
+#define WT_STAT_CONN_LOG_READS 1081
/*! log: records processed by log scan */
-#define WT_STAT_CONN_LOG_SCAN_RECORDS 1083
+#define WT_STAT_CONN_LOG_SCAN_RECORDS 1082
/*! log: log scan records requiring two reads */
-#define WT_STAT_CONN_LOG_SCAN_REREADS 1084
+#define WT_STAT_CONN_LOG_SCAN_REREADS 1083
/*! log: log scan operations */
-#define WT_STAT_CONN_LOG_SCANS 1085
+#define WT_STAT_CONN_LOG_SCANS 1084
/*! log: consolidated slot closures */
-#define WT_STAT_CONN_LOG_SLOT_CLOSES 1086
+#define WT_STAT_CONN_LOG_SLOT_CLOSES 1085
/*! log: logging bytes consolidated */
-#define WT_STAT_CONN_LOG_SLOT_CONSOLIDATED 1087
+#define WT_STAT_CONN_LOG_SLOT_CONSOLIDATED 1086
/*! log: consolidated slot joins */
-#define WT_STAT_CONN_LOG_SLOT_JOINS 1088
+#define WT_STAT_CONN_LOG_SLOT_JOINS 1087
/*! log: consolidated slot join races */
-#define WT_STAT_CONN_LOG_SLOT_RACES 1089
+#define WT_STAT_CONN_LOG_SLOT_RACES 1088
/*! log: slots selected for switching that were unavailable */
-#define WT_STAT_CONN_LOG_SLOT_SWITCH_FAILS 1090
+#define WT_STAT_CONN_LOG_SLOT_SWITCH_FAILS 1089
/*! log: record size exceeded maximum */
-#define WT_STAT_CONN_LOG_SLOT_TOOBIG 1091
+#define WT_STAT_CONN_LOG_SLOT_TOOBIG 1090
/*! log: failed to find a slot large enough for record */
-#define WT_STAT_CONN_LOG_SLOT_TOOSMALL 1092
+#define WT_STAT_CONN_LOG_SLOT_TOOSMALL 1091
/*! log: consolidated slot join transitions */
-#define WT_STAT_CONN_LOG_SLOT_TRANSITIONS 1093
+#define WT_STAT_CONN_LOG_SLOT_TRANSITIONS 1092
/*! log: log sync operations */
-#define WT_STAT_CONN_LOG_SYNC 1094
+#define WT_STAT_CONN_LOG_SYNC 1093
/*! log: log write operations */
-#define WT_STAT_CONN_LOG_WRITES 1095
+#define WT_STAT_CONN_LOG_WRITES 1094
/*! LSM: sleep for LSM checkpoint throttle */
-#define WT_STAT_CONN_LSM_CHECKPOINT_THROTTLE 1096
+#define WT_STAT_CONN_LSM_CHECKPOINT_THROTTLE 1095
/*! LSM: sleep for LSM merge throttle */
-#define WT_STAT_CONN_LSM_MERGE_THROTTLE 1097
+#define WT_STAT_CONN_LSM_MERGE_THROTTLE 1096
/*! LSM: rows merged in an LSM tree */
-#define WT_STAT_CONN_LSM_ROWS_MERGED 1098
+#define WT_STAT_CONN_LSM_ROWS_MERGED 1097
/*! LSM: application work units currently queued */
-#define WT_STAT_CONN_LSM_WORK_QUEUE_APP 1099
+#define WT_STAT_CONN_LSM_WORK_QUEUE_APP 1098
/*! LSM: merge work units currently queued */
-#define WT_STAT_CONN_LSM_WORK_QUEUE_MANAGER 1100
+#define WT_STAT_CONN_LSM_WORK_QUEUE_MANAGER 1099
/*! LSM: tree queue hit maximum */
-#define WT_STAT_CONN_LSM_WORK_QUEUE_MAX 1101
+#define WT_STAT_CONN_LSM_WORK_QUEUE_MAX 1100
/*! LSM: switch work units currently queued */
-#define WT_STAT_CONN_LSM_WORK_QUEUE_SWITCH 1102
+#define WT_STAT_CONN_LSM_WORK_QUEUE_SWITCH 1101
/*! LSM: tree maintenance operations scheduled */
-#define WT_STAT_CONN_LSM_WORK_UNITS_CREATED 1103
+#define WT_STAT_CONN_LSM_WORK_UNITS_CREATED 1102
/*! LSM: tree maintenance operations discarded */
-#define WT_STAT_CONN_LSM_WORK_UNITS_DISCARDED 1104
+#define WT_STAT_CONN_LSM_WORK_UNITS_DISCARDED 1103
/*! LSM: tree maintenance operations executed */
-#define WT_STAT_CONN_LSM_WORK_UNITS_DONE 1105
+#define WT_STAT_CONN_LSM_WORK_UNITS_DONE 1104
/*! connection: memory allocations */
-#define WT_STAT_CONN_MEMORY_ALLOCATION 1106
+#define WT_STAT_CONN_MEMORY_ALLOCATION 1105
/*! connection: memory frees */
-#define WT_STAT_CONN_MEMORY_FREE 1107
+#define WT_STAT_CONN_MEMORY_FREE 1106
/*! connection: memory re-allocations */
-#define WT_STAT_CONN_MEMORY_GROW 1108
+#define WT_STAT_CONN_MEMORY_GROW 1107
/*! thread-yield: page acquire busy blocked */
-#define WT_STAT_CONN_PAGE_BUSY_BLOCKED 1109
+#define WT_STAT_CONN_PAGE_BUSY_BLOCKED 1108
/*! thread-yield: page acquire eviction blocked */
-#define WT_STAT_CONN_PAGE_FORCIBLE_EVICT_BLOCKED 1110
+#define WT_STAT_CONN_PAGE_FORCIBLE_EVICT_BLOCKED 1109
/*! thread-yield: page acquire locked blocked */
-#define WT_STAT_CONN_PAGE_LOCKED_BLOCKED 1111
+#define WT_STAT_CONN_PAGE_LOCKED_BLOCKED 1110
/*! thread-yield: page acquire read blocked */
-#define WT_STAT_CONN_PAGE_READ_BLOCKED 1112
+#define WT_STAT_CONN_PAGE_READ_BLOCKED 1111
/*! thread-yield: page acquire time sleeping (usecs) */
-#define WT_STAT_CONN_PAGE_SLEEP 1113
+#define WT_STAT_CONN_PAGE_SLEEP 1112
/*! connection: total read I/Os */
-#define WT_STAT_CONN_READ_IO 1114
+#define WT_STAT_CONN_READ_IO 1113
/*! reconciliation: page reconciliation calls */
-#define WT_STAT_CONN_REC_PAGES 1115
+#define WT_STAT_CONN_REC_PAGES 1114
/*! reconciliation: page reconciliation calls for eviction */
-#define WT_STAT_CONN_REC_PAGES_EVICTION 1116
+#define WT_STAT_CONN_REC_PAGES_EVICTION 1115
/*! reconciliation: split bytes currently awaiting free */
-#define WT_STAT_CONN_REC_SPLIT_STASHED_BYTES 1117
+#define WT_STAT_CONN_REC_SPLIT_STASHED_BYTES 1116
/*! reconciliation: split objects currently awaiting free */
-#define WT_STAT_CONN_REC_SPLIT_STASHED_OBJECTS 1118
+#define WT_STAT_CONN_REC_SPLIT_STASHED_OBJECTS 1117
/*! connection: pthread mutex shared lock read-lock calls */
-#define WT_STAT_CONN_RWLOCK_READ 1119
+#define WT_STAT_CONN_RWLOCK_READ 1118
/*! connection: pthread mutex shared lock write-lock calls */
-#define WT_STAT_CONN_RWLOCK_WRITE 1120
+#define WT_STAT_CONN_RWLOCK_WRITE 1119
/*! session: open cursor count */
-#define WT_STAT_CONN_SESSION_CURSOR_OPEN 1121
+#define WT_STAT_CONN_SESSION_CURSOR_OPEN 1120
/*! session: open session count */
-#define WT_STAT_CONN_SESSION_OPEN 1122
+#define WT_STAT_CONN_SESSION_OPEN 1121
/*! transaction: transaction begins */
-#define WT_STAT_CONN_TXN_BEGIN 1123
+#define WT_STAT_CONN_TXN_BEGIN 1122
/*! transaction: transaction checkpoints */
-#define WT_STAT_CONN_TXN_CHECKPOINT 1124
+#define WT_STAT_CONN_TXN_CHECKPOINT 1123
/*! transaction: transaction checkpoint currently running */
-#define WT_STAT_CONN_TXN_CHECKPOINT_RUNNING 1125
+#define WT_STAT_CONN_TXN_CHECKPOINT_RUNNING 1124
/*! transaction: transaction checkpoint max time (msecs) */
-#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MAX 1126
+#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MAX 1125
/*! transaction: transaction checkpoint min time (msecs) */
-#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MIN 1127
+#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MIN 1126
/*! transaction: transaction checkpoint most recent time (msecs) */
-#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_RECENT 1128
+#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_RECENT 1127
/*! transaction: transaction checkpoint total time (msecs) */
-#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_TOTAL 1129
+#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_TOTAL 1128
/*! transaction: transactions committed */
-#define WT_STAT_CONN_TXN_COMMIT 1130
+#define WT_STAT_CONN_TXN_COMMIT 1129
/*! transaction: transaction failures due to cache overflow */
-#define WT_STAT_CONN_TXN_FAIL_CACHE 1131
+#define WT_STAT_CONN_TXN_FAIL_CACHE 1130
/*! transaction: transaction range of IDs currently pinned */
-#define WT_STAT_CONN_TXN_PINNED_RANGE 1132
+#define WT_STAT_CONN_TXN_PINNED_RANGE 1131
/*! transaction: transactions rolled back */
-#define WT_STAT_CONN_TXN_ROLLBACK 1133
+#define WT_STAT_CONN_TXN_ROLLBACK 1132
/*! connection: total write I/Os */
-#define WT_STAT_CONN_WRITE_IO 1134
+#define WT_STAT_CONN_WRITE_IO 1133
/*!
* @}
diff --git a/src/support/stat.c b/src/support/stat.c
index 968ab4ba977..c1de6bdd9ce 100644
--- a/src/support/stat.c
+++ b/src/support/stat.c
@@ -367,8 +367,6 @@ __wt_stat_init_connection_stats(WT_CONNECTION_STATS *stats)
stats->cache_inmem_split.desc = "cache: in-memory page splits";
stats->cache_eviction_internal.desc = "cache: internal pages evicted";
stats->cache_bytes_max.desc = "cache: maximum bytes configured";
- stats->cache_bytes_max_adjusted.desc =
- "cache: maximum bytes configured, adjusted for overhead";
stats->cache_eviction_maximum_page_size.desc =
"cache: maximum page size at eviction";
stats->cache_eviction_dirty.desc = "cache: modified pages evicted";
diff --git a/tools/stat_data.py b/tools/stat_data.py
index 37a1ff8ed1d..da6fb3a7f7f 100644
--- a/tools/stat_data.py
+++ b/tools/stat_data.py
@@ -4,7 +4,6 @@ no_scale_per_second_list = [
'async: maximum work queue length',
'cache: bytes currently in the cache',
'cache: maximum bytes configured',
- 'cache: maximum bytes configured, adjusted for overhead',
'cache: maximum page size at eviction',
'cache: pages currently held in the cache',
'cache: percentage overhead',
@@ -58,7 +57,6 @@ no_scale_per_second_list = [
no_clear_list = [
'cache: bytes currently in the cache',
'cache: maximum bytes configured',
- 'cache: maximum bytes configured, adjusted for overhead',
'cache: pages currently held in the cache',
'cache: percentage overhead',
'connection: files currently open',