diff options
author | Luke Chen <luke.chen@mongodb.com> | 2020-07-03 17:59:59 +1000 |
---|---|---|
committer | Luke Chen <luke.chen@mongodb.com> | 2020-07-03 17:59:59 +1000 |
commit | 09eac8deb5d7d953dc974010c10bef577fa30dee (patch) | |
tree | 264ae759a03135b73fd4f5a1b957177578f2968d /src/third_party/wiredtiger | |
parent | 6f8fb7e4c6259e9bca0a33cd8c681be7f9447f97 (diff) | |
download | mongo-09eac8deb5d7d953dc974010c10bef577fa30dee.tar.gz |
Import wiredtiger: d09046d3d6edb1677739eafd7b63b840c92cf9c9 from branch mongodb-4.4
ref: 95e4b38eeb..d09046d3d6
for: 4.4.0-rc13
WT-6444 Abort a transaction if it is force evicting and oldest
Diffstat (limited to 'src/third_party/wiredtiger')
-rw-r--r-- | src/third_party/wiredtiger/dist/stat_data.py | 1 | ||||
-rw-r--r-- | src/third_party/wiredtiger/import.data | 2 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/btree/bt_read.c | 8 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/evict/evict_lru.c | 2 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/include/extern.h | 2 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/include/stat.h | 1 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/include/wiredtiger.in | 753 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/support/stat.c | 4 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/txn/txn.c | 15 | ||||
-rw-r--r-- | src/third_party/wiredtiger/test/suite/test_prepare08.py | 2 | ||||
-rw-r--r-- | src/third_party/wiredtiger/test/suite/test_prepare10.py | 2 |
11 files changed, 412 insertions, 380 deletions
diff --git a/src/third_party/wiredtiger/dist/stat_data.py b/src/third_party/wiredtiger/dist/stat_data.py index 0a00d74797d..2983413071d 100644 --- a/src/third_party/wiredtiger/dist/stat_data.py +++ b/src/third_party/wiredtiger/dist/stat_data.py @@ -247,6 +247,7 @@ connection_stats = [ CacheStat('cache_eviction_force_hs_fail', 'forced eviction - history store pages failed to evict while session has history store cursor open'), CacheStat('cache_eviction_force_hs_success', 'forced eviction - history store pages successfully evicted while session has history store cursor open'), CacheStat('cache_eviction_force_retune', 'force re-tuning of eviction workers once in a while'), + CacheStat('cache_eviction_force_rollback', 'forced eviction - session returned rollback error while force evicting due to being oldest'), CacheStat('cache_eviction_get_ref', 'eviction calls to get a page'), CacheStat('cache_eviction_get_ref_empty', 'eviction calls to get a page found queue empty'), CacheStat('cache_eviction_get_ref_empty2', 'eviction calls to get a page found queue empty after locking'), diff --git a/src/third_party/wiredtiger/import.data b/src/third_party/wiredtiger/import.data index 20bc3f560d7..3979665a7b7 100644 --- a/src/third_party/wiredtiger/import.data +++ b/src/third_party/wiredtiger/import.data @@ -2,5 +2,5 @@ "vendor": "wiredtiger", "github": "wiredtiger/wiredtiger.git", "branch": "mongodb-4.4", - "commit": "95e4b38eebbb4050b2144341c5f60e5a2f5c40b9" + "commit": "d09046d3d6edb1677739eafd7b63b840c92cf9c9" } diff --git a/src/third_party/wiredtiger/src/btree/bt_read.c b/src/third_party/wiredtiger/src/btree/bt_read.c index a54a4c3beda..064868a6848 100644 --- a/src/third_party/wiredtiger/src/btree/bt_read.c +++ b/src/third_party/wiredtiger/src/btree/bt_read.c @@ -351,6 +351,14 @@ read: else if (ret == EBUSY) { WT_NOT_READ(ret, 0); WT_STAT_CONN_INCR(session, page_forcible_evict_blocked); + /* + * Forced eviction failed: check if this transaction is keeping content pinned + * in cache. + */ + if (force_attempts > 1 && + (ret = __wt_txn_is_blocking(session, true)) == WT_ROLLBACK) + WT_STAT_CONN_INCR(session, cache_eviction_force_rollback); + WT_RET(ret); stalled = true; break; } diff --git a/src/third_party/wiredtiger/src/evict/evict_lru.c b/src/third_party/wiredtiger/src/evict/evict_lru.c index b303f524ef3..c004e782c57 100644 --- a/src/third_party/wiredtiger/src/evict/evict_lru.c +++ b/src/third_party/wiredtiger/src/evict/evict_lru.c @@ -2309,7 +2309,7 @@ __wt_cache_eviction_worker(WT_SESSION_IMPL *session, bool busy, bool readonly, d * rolled back. Ignore if in recovery, those transactions can't be rolled back. */ if (!F_ISSET(conn, WT_CONN_RECOVERING) && __wt_cache_stuck(session)) { - ret = __wt_txn_is_blocking(session); + ret = __wt_txn_is_blocking(session, false); if (ret == WT_ROLLBACK) { --cache->evict_aggressive_score; WT_STAT_CONN_INCR(session, txn_fail_cache); diff --git a/src/third_party/wiredtiger/src/include/extern.h b/src/third_party/wiredtiger/src/include/extern.h index 143bd3e9e45..513013eab3c 100644 --- a/src/third_party/wiredtiger/src/include/extern.h +++ b/src/third_party/wiredtiger/src/include/extern.h @@ -1483,7 +1483,7 @@ extern int __wt_txn_global_shutdown(WT_SESSION_IMPL *session, const char *config WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result)); extern int __wt_txn_init(WT_SESSION_IMPL *session, WT_SESSION_IMPL *session_ret) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result)); -extern int __wt_txn_is_blocking(WT_SESSION_IMPL *session) +extern int __wt_txn_is_blocking(WT_SESSION_IMPL *session, bool conservative) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result)); extern int __wt_txn_log_commit(WT_SESSION_IMPL *session, const char *cfg[]) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result)); diff --git a/src/third_party/wiredtiger/src/include/stat.h b/src/third_party/wiredtiger/src/include/stat.h index ee0e4778457..dd6bc42118a 100644 --- a/src/third_party/wiredtiger/src/include/stat.h +++ b/src/third_party/wiredtiger/src/include/stat.h @@ -393,6 +393,7 @@ struct __wt_connection_stats { int64_t cache_eviction_force; int64_t cache_eviction_force_fail; int64_t cache_eviction_force_fail_time; + int64_t cache_eviction_force_rollback; int64_t cache_eviction_hazard; int64_t cache_hazard_checks; int64_t cache_hazard_walks; diff --git a/src/third_party/wiredtiger/src/include/wiredtiger.in b/src/third_party/wiredtiger/src/include/wiredtiger.in index b740d1966be..3f2334e74ab 100644 --- a/src/third_party/wiredtiger/src/include/wiredtiger.in +++ b/src/third_party/wiredtiger/src/include/wiredtiger.in @@ -5182,880 +5182,885 @@ extern int wiredtiger_extension_terminate(WT_CONNECTION *connection); #define WT_STAT_CONN_CACHE_EVICTION_FORCE_FAIL 1096 /*! cache: forced eviction - pages selected unable to be evicted time */ #define WT_STAT_CONN_CACHE_EVICTION_FORCE_FAIL_TIME 1097 +/*! + * cache: forced eviction - session returned rollback error while force + * evicting due to being oldest + */ +#define WT_STAT_CONN_CACHE_EVICTION_FORCE_ROLLBACK 1098 /*! cache: hazard pointer blocked page eviction */ -#define WT_STAT_CONN_CACHE_EVICTION_HAZARD 1098 +#define WT_STAT_CONN_CACHE_EVICTION_HAZARD 1099 /*! cache: hazard pointer check calls */ -#define WT_STAT_CONN_CACHE_HAZARD_CHECKS 1099 +#define WT_STAT_CONN_CACHE_HAZARD_CHECKS 1100 /*! cache: hazard pointer check entries walked */ -#define WT_STAT_CONN_CACHE_HAZARD_WALKS 1100 +#define WT_STAT_CONN_CACHE_HAZARD_WALKS 1101 /*! cache: hazard pointer maximum array length */ -#define WT_STAT_CONN_CACHE_HAZARD_MAX 1101 +#define WT_STAT_CONN_CACHE_HAZARD_MAX 1102 /*! cache: history store key truncation calls that returned restart */ -#define WT_STAT_CONN_CACHE_HS_KEY_TRUNCATE_MIX_TS_RESTART 1102 +#define WT_STAT_CONN_CACHE_HS_KEY_TRUNCATE_MIX_TS_RESTART 1103 /*! cache: history store key truncation due to mixed timestamps */ -#define WT_STAT_CONN_CACHE_HS_KEY_TRUNCATE_MIX_TS 1103 +#define WT_STAT_CONN_CACHE_HS_KEY_TRUNCATE_MIX_TS 1104 /*! * cache: history store key truncation due to the key being removed from * the data page */ -#define WT_STAT_CONN_CACHE_HS_KEY_TRUNCATE_ONPAGE_REMOVAL 1104 +#define WT_STAT_CONN_CACHE_HS_KEY_TRUNCATE_ONPAGE_REMOVAL 1105 /*! cache: history store score */ -#define WT_STAT_CONN_CACHE_HS_SCORE 1105 +#define WT_STAT_CONN_CACHE_HS_SCORE 1106 /*! cache: history store table insert calls */ -#define WT_STAT_CONN_CACHE_HS_INSERT 1106 +#define WT_STAT_CONN_CACHE_HS_INSERT 1107 /*! cache: history store table insert calls that returned restart */ -#define WT_STAT_CONN_CACHE_HS_INSERT_RESTART 1107 +#define WT_STAT_CONN_CACHE_HS_INSERT_RESTART 1108 /*! cache: history store table max on-disk size */ -#define WT_STAT_CONN_CACHE_HS_ONDISK_MAX 1108 +#define WT_STAT_CONN_CACHE_HS_ONDISK_MAX 1109 /*! cache: history store table on-disk size */ -#define WT_STAT_CONN_CACHE_HS_ONDISK 1109 +#define WT_STAT_CONN_CACHE_HS_ONDISK 1110 /*! * cache: history store table out-of-order resolved updates that lose * their durable timestamp */ -#define WT_STAT_CONN_CACHE_HS_ORDER_LOSE_DURABLE_TIMESTAMP 1110 +#define WT_STAT_CONN_CACHE_HS_ORDER_LOSE_DURABLE_TIMESTAMP 1111 /*! * cache: history store table out-of-order updates that were fixed up by * moving existing records */ -#define WT_STAT_CONN_CACHE_HS_ORDER_FIXUP_MOVE 1111 +#define WT_STAT_CONN_CACHE_HS_ORDER_FIXUP_MOVE 1112 /*! * cache: history store table out-of-order updates that were fixed up * during insertion */ -#define WT_STAT_CONN_CACHE_HS_ORDER_FIXUP_INSERT 1112 +#define WT_STAT_CONN_CACHE_HS_ORDER_FIXUP_INSERT 1113 /*! cache: history store table reads */ -#define WT_STAT_CONN_CACHE_HS_READ 1113 +#define WT_STAT_CONN_CACHE_HS_READ 1114 /*! cache: history store table reads missed */ -#define WT_STAT_CONN_CACHE_HS_READ_MISS 1114 +#define WT_STAT_CONN_CACHE_HS_READ_MISS 1115 /*! cache: history store table reads requiring squashed modifies */ -#define WT_STAT_CONN_CACHE_HS_READ_SQUASH 1115 +#define WT_STAT_CONN_CACHE_HS_READ_SQUASH 1116 /*! cache: history store table remove calls due to key truncation */ -#define WT_STAT_CONN_CACHE_HS_REMOVE_KEY_TRUNCATE 1116 +#define WT_STAT_CONN_CACHE_HS_REMOVE_KEY_TRUNCATE 1117 /*! cache: history store table writes requiring squashed modifies */ -#define WT_STAT_CONN_CACHE_HS_WRITE_SQUASH 1117 +#define WT_STAT_CONN_CACHE_HS_WRITE_SQUASH 1118 /*! cache: in-memory page passed criteria to be split */ -#define WT_STAT_CONN_CACHE_INMEM_SPLITTABLE 1118 +#define WT_STAT_CONN_CACHE_INMEM_SPLITTABLE 1119 /*! cache: in-memory page splits */ -#define WT_STAT_CONN_CACHE_INMEM_SPLIT 1119 +#define WT_STAT_CONN_CACHE_INMEM_SPLIT 1120 /*! cache: internal pages evicted */ -#define WT_STAT_CONN_CACHE_EVICTION_INTERNAL 1120 +#define WT_STAT_CONN_CACHE_EVICTION_INTERNAL 1121 /*! cache: internal pages queued for eviction */ -#define WT_STAT_CONN_CACHE_EVICTION_INTERNAL_PAGES_QUEUED 1121 +#define WT_STAT_CONN_CACHE_EVICTION_INTERNAL_PAGES_QUEUED 1122 /*! cache: internal pages seen by eviction walk */ -#define WT_STAT_CONN_CACHE_EVICTION_INTERNAL_PAGES_SEEN 1122 +#define WT_STAT_CONN_CACHE_EVICTION_INTERNAL_PAGES_SEEN 1123 /*! cache: internal pages seen by eviction walk that are already queued */ -#define WT_STAT_CONN_CACHE_EVICTION_INTERNAL_PAGES_ALREADY_QUEUED 1123 +#define WT_STAT_CONN_CACHE_EVICTION_INTERNAL_PAGES_ALREADY_QUEUED 1124 /*! cache: internal pages split during eviction */ -#define WT_STAT_CONN_CACHE_EVICTION_SPLIT_INTERNAL 1124 +#define WT_STAT_CONN_CACHE_EVICTION_SPLIT_INTERNAL 1125 /*! cache: leaf pages split during eviction */ -#define WT_STAT_CONN_CACHE_EVICTION_SPLIT_LEAF 1125 +#define WT_STAT_CONN_CACHE_EVICTION_SPLIT_LEAF 1126 /*! cache: maximum bytes configured */ -#define WT_STAT_CONN_CACHE_BYTES_MAX 1126 +#define WT_STAT_CONN_CACHE_BYTES_MAX 1127 /*! cache: maximum page size at eviction */ -#define WT_STAT_CONN_CACHE_EVICTION_MAXIMUM_PAGE_SIZE 1127 +#define WT_STAT_CONN_CACHE_EVICTION_MAXIMUM_PAGE_SIZE 1128 /*! cache: modified pages evicted */ -#define WT_STAT_CONN_CACHE_EVICTION_DIRTY 1128 +#define WT_STAT_CONN_CACHE_EVICTION_DIRTY 1129 /*! cache: modified pages evicted by application threads */ -#define WT_STAT_CONN_CACHE_EVICTION_APP_DIRTY 1129 +#define WT_STAT_CONN_CACHE_EVICTION_APP_DIRTY 1130 /*! cache: operations timed out waiting for space in cache */ -#define WT_STAT_CONN_CACHE_TIMED_OUT_OPS 1130 +#define WT_STAT_CONN_CACHE_TIMED_OUT_OPS 1131 /*! cache: overflow pages read into cache */ -#define WT_STAT_CONN_CACHE_READ_OVERFLOW 1131 +#define WT_STAT_CONN_CACHE_READ_OVERFLOW 1132 /*! cache: page split during eviction deepened the tree */ -#define WT_STAT_CONN_CACHE_EVICTION_DEEPEN 1132 +#define WT_STAT_CONN_CACHE_EVICTION_DEEPEN 1133 /*! cache: page written requiring history store records */ -#define WT_STAT_CONN_CACHE_WRITE_HS 1133 +#define WT_STAT_CONN_CACHE_WRITE_HS 1134 /*! cache: pages currently held in the cache */ -#define WT_STAT_CONN_CACHE_PAGES_INUSE 1134 +#define WT_STAT_CONN_CACHE_PAGES_INUSE 1135 /*! cache: pages evicted by application threads */ -#define WT_STAT_CONN_CACHE_EVICTION_APP 1135 +#define WT_STAT_CONN_CACHE_EVICTION_APP 1136 /*! cache: pages queued for eviction */ -#define WT_STAT_CONN_CACHE_EVICTION_PAGES_QUEUED 1136 +#define WT_STAT_CONN_CACHE_EVICTION_PAGES_QUEUED 1137 /*! cache: pages queued for eviction post lru sorting */ -#define WT_STAT_CONN_CACHE_EVICTION_PAGES_QUEUED_POST_LRU 1137 +#define WT_STAT_CONN_CACHE_EVICTION_PAGES_QUEUED_POST_LRU 1138 /*! cache: pages queued for urgent eviction */ -#define WT_STAT_CONN_CACHE_EVICTION_PAGES_QUEUED_URGENT 1138 +#define WT_STAT_CONN_CACHE_EVICTION_PAGES_QUEUED_URGENT 1139 /*! cache: pages queued for urgent eviction during walk */ -#define WT_STAT_CONN_CACHE_EVICTION_PAGES_QUEUED_OLDEST 1139 +#define WT_STAT_CONN_CACHE_EVICTION_PAGES_QUEUED_OLDEST 1140 /*! cache: pages read into cache */ -#define WT_STAT_CONN_CACHE_READ 1140 +#define WT_STAT_CONN_CACHE_READ 1141 /*! cache: pages read into cache after truncate */ -#define WT_STAT_CONN_CACHE_READ_DELETED 1141 +#define WT_STAT_CONN_CACHE_READ_DELETED 1142 /*! cache: pages read into cache after truncate in prepare state */ -#define WT_STAT_CONN_CACHE_READ_DELETED_PREPARED 1142 +#define WT_STAT_CONN_CACHE_READ_DELETED_PREPARED 1143 /*! cache: pages requested from the cache */ -#define WT_STAT_CONN_CACHE_PAGES_REQUESTED 1143 +#define WT_STAT_CONN_CACHE_PAGES_REQUESTED 1144 /*! cache: pages seen by eviction walk */ -#define WT_STAT_CONN_CACHE_EVICTION_PAGES_SEEN 1144 +#define WT_STAT_CONN_CACHE_EVICTION_PAGES_SEEN 1145 /*! cache: pages seen by eviction walk that are already queued */ -#define WT_STAT_CONN_CACHE_EVICTION_PAGES_ALREADY_QUEUED 1145 +#define WT_STAT_CONN_CACHE_EVICTION_PAGES_ALREADY_QUEUED 1146 /*! cache: pages selected for eviction unable to be evicted */ -#define WT_STAT_CONN_CACHE_EVICTION_FAIL 1146 +#define WT_STAT_CONN_CACHE_EVICTION_FAIL 1147 /*! * cache: pages selected for eviction unable to be evicted as the parent * page has overflow items */ -#define WT_STAT_CONN_CACHE_EVICTION_FAIL_PARENT_HAS_OVERFLOW_ITEMS 1147 +#define WT_STAT_CONN_CACHE_EVICTION_FAIL_PARENT_HAS_OVERFLOW_ITEMS 1148 /*! * cache: pages selected for eviction unable to be evicted because of * active children on an internal page */ -#define WT_STAT_CONN_CACHE_EVICTION_FAIL_ACTIVE_CHILDREN_ON_AN_INTERNAL_PAGE 1148 +#define WT_STAT_CONN_CACHE_EVICTION_FAIL_ACTIVE_CHILDREN_ON_AN_INTERNAL_PAGE 1149 /*! * cache: pages selected for eviction unable to be evicted because of * failure in reconciliation */ -#define WT_STAT_CONN_CACHE_EVICTION_FAIL_IN_RECONCILIATION 1149 +#define WT_STAT_CONN_CACHE_EVICTION_FAIL_IN_RECONCILIATION 1150 /*! cache: pages walked for eviction */ -#define WT_STAT_CONN_CACHE_EVICTION_WALK 1150 +#define WT_STAT_CONN_CACHE_EVICTION_WALK 1151 /*! cache: pages written from cache */ -#define WT_STAT_CONN_CACHE_WRITE 1151 +#define WT_STAT_CONN_CACHE_WRITE 1152 /*! cache: pages written requiring in-memory restoration */ -#define WT_STAT_CONN_CACHE_WRITE_RESTORE 1152 +#define WT_STAT_CONN_CACHE_WRITE_RESTORE 1153 /*! cache: percentage overhead */ -#define WT_STAT_CONN_CACHE_OVERHEAD 1153 +#define WT_STAT_CONN_CACHE_OVERHEAD 1154 /*! cache: tracked bytes belonging to internal pages in the cache */ -#define WT_STAT_CONN_CACHE_BYTES_INTERNAL 1154 +#define WT_STAT_CONN_CACHE_BYTES_INTERNAL 1155 /*! cache: tracked bytes belonging to leaf pages in the cache */ -#define WT_STAT_CONN_CACHE_BYTES_LEAF 1155 +#define WT_STAT_CONN_CACHE_BYTES_LEAF 1156 /*! cache: tracked dirty bytes in the cache */ -#define WT_STAT_CONN_CACHE_BYTES_DIRTY 1156 +#define WT_STAT_CONN_CACHE_BYTES_DIRTY 1157 /*! cache: tracked dirty pages in the cache */ -#define WT_STAT_CONN_CACHE_PAGES_DIRTY 1157 +#define WT_STAT_CONN_CACHE_PAGES_DIRTY 1158 /*! cache: unmodified pages evicted */ -#define WT_STAT_CONN_CACHE_EVICTION_CLEAN 1158 +#define WT_STAT_CONN_CACHE_EVICTION_CLEAN 1159 /*! capacity: background fsync file handles considered */ -#define WT_STAT_CONN_FSYNC_ALL_FH_TOTAL 1159 +#define WT_STAT_CONN_FSYNC_ALL_FH_TOTAL 1160 /*! capacity: background fsync file handles synced */ -#define WT_STAT_CONN_FSYNC_ALL_FH 1160 +#define WT_STAT_CONN_FSYNC_ALL_FH 1161 /*! capacity: background fsync time (msecs) */ -#define WT_STAT_CONN_FSYNC_ALL_TIME 1161 +#define WT_STAT_CONN_FSYNC_ALL_TIME 1162 /*! capacity: bytes read */ -#define WT_STAT_CONN_CAPACITY_BYTES_READ 1162 +#define WT_STAT_CONN_CAPACITY_BYTES_READ 1163 /*! capacity: bytes written for checkpoint */ -#define WT_STAT_CONN_CAPACITY_BYTES_CKPT 1163 +#define WT_STAT_CONN_CAPACITY_BYTES_CKPT 1164 /*! capacity: bytes written for eviction */ -#define WT_STAT_CONN_CAPACITY_BYTES_EVICT 1164 +#define WT_STAT_CONN_CAPACITY_BYTES_EVICT 1165 /*! capacity: bytes written for log */ -#define WT_STAT_CONN_CAPACITY_BYTES_LOG 1165 +#define WT_STAT_CONN_CAPACITY_BYTES_LOG 1166 /*! capacity: bytes written total */ -#define WT_STAT_CONN_CAPACITY_BYTES_WRITTEN 1166 +#define WT_STAT_CONN_CAPACITY_BYTES_WRITTEN 1167 /*! capacity: threshold to call fsync */ -#define WT_STAT_CONN_CAPACITY_THRESHOLD 1167 +#define WT_STAT_CONN_CAPACITY_THRESHOLD 1168 /*! capacity: time waiting due to total capacity (usecs) */ -#define WT_STAT_CONN_CAPACITY_TIME_TOTAL 1168 +#define WT_STAT_CONN_CAPACITY_TIME_TOTAL 1169 /*! capacity: time waiting during checkpoint (usecs) */ -#define WT_STAT_CONN_CAPACITY_TIME_CKPT 1169 +#define WT_STAT_CONN_CAPACITY_TIME_CKPT 1170 /*! capacity: time waiting during eviction (usecs) */ -#define WT_STAT_CONN_CAPACITY_TIME_EVICT 1170 +#define WT_STAT_CONN_CAPACITY_TIME_EVICT 1171 /*! capacity: time waiting during logging (usecs) */ -#define WT_STAT_CONN_CAPACITY_TIME_LOG 1171 +#define WT_STAT_CONN_CAPACITY_TIME_LOG 1172 /*! capacity: time waiting during read (usecs) */ -#define WT_STAT_CONN_CAPACITY_TIME_READ 1172 +#define WT_STAT_CONN_CAPACITY_TIME_READ 1173 /*! connection: auto adjusting condition resets */ -#define WT_STAT_CONN_COND_AUTO_WAIT_RESET 1173 +#define WT_STAT_CONN_COND_AUTO_WAIT_RESET 1174 /*! connection: auto adjusting condition wait calls */ -#define WT_STAT_CONN_COND_AUTO_WAIT 1174 +#define WT_STAT_CONN_COND_AUTO_WAIT 1175 /*! * connection: auto adjusting condition wait raced to update timeout and * skipped updating */ -#define WT_STAT_CONN_COND_AUTO_WAIT_SKIPPED 1175 +#define WT_STAT_CONN_COND_AUTO_WAIT_SKIPPED 1176 /*! connection: detected system time went backwards */ -#define WT_STAT_CONN_TIME_TRAVEL 1176 +#define WT_STAT_CONN_TIME_TRAVEL 1177 /*! connection: files currently open */ -#define WT_STAT_CONN_FILE_OPEN 1177 +#define WT_STAT_CONN_FILE_OPEN 1178 /*! connection: memory allocations */ -#define WT_STAT_CONN_MEMORY_ALLOCATION 1178 +#define WT_STAT_CONN_MEMORY_ALLOCATION 1179 /*! connection: memory frees */ -#define WT_STAT_CONN_MEMORY_FREE 1179 +#define WT_STAT_CONN_MEMORY_FREE 1180 /*! connection: memory re-allocations */ -#define WT_STAT_CONN_MEMORY_GROW 1180 +#define WT_STAT_CONN_MEMORY_GROW 1181 /*! connection: pthread mutex condition wait calls */ -#define WT_STAT_CONN_COND_WAIT 1181 +#define WT_STAT_CONN_COND_WAIT 1182 /*! connection: pthread mutex shared lock read-lock calls */ -#define WT_STAT_CONN_RWLOCK_READ 1182 +#define WT_STAT_CONN_RWLOCK_READ 1183 /*! connection: pthread mutex shared lock write-lock calls */ -#define WT_STAT_CONN_RWLOCK_WRITE 1183 +#define WT_STAT_CONN_RWLOCK_WRITE 1184 /*! connection: total fsync I/Os */ -#define WT_STAT_CONN_FSYNC_IO 1184 +#define WT_STAT_CONN_FSYNC_IO 1185 /*! connection: total read I/Os */ -#define WT_STAT_CONN_READ_IO 1185 +#define WT_STAT_CONN_READ_IO 1186 /*! connection: total write I/Os */ -#define WT_STAT_CONN_WRITE_IO 1186 +#define WT_STAT_CONN_WRITE_IO 1187 /*! cursor: Total number of entries skipped by cursor next calls */ -#define WT_STAT_CONN_CURSOR_NEXT_SKIP_TOTAL 1187 +#define WT_STAT_CONN_CURSOR_NEXT_SKIP_TOTAL 1188 /*! cursor: Total number of entries skipped by cursor prev calls */ -#define WT_STAT_CONN_CURSOR_PREV_SKIP_TOTAL 1188 +#define WT_STAT_CONN_CURSOR_PREV_SKIP_TOTAL 1189 /*! * cursor: Total number of entries skipped to position the history store * cursor */ -#define WT_STAT_CONN_CURSOR_SKIP_HS_CUR_POSITION 1189 +#define WT_STAT_CONN_CURSOR_SKIP_HS_CUR_POSITION 1190 /*! cursor: cached cursor count */ -#define WT_STAT_CONN_CURSOR_CACHED_COUNT 1190 +#define WT_STAT_CONN_CURSOR_CACHED_COUNT 1191 /*! cursor: cursor bulk loaded cursor insert calls */ -#define WT_STAT_CONN_CURSOR_INSERT_BULK 1191 +#define WT_STAT_CONN_CURSOR_INSERT_BULK 1192 /*! cursor: cursor close calls that result in cache */ -#define WT_STAT_CONN_CURSOR_CACHE 1192 +#define WT_STAT_CONN_CURSOR_CACHE 1193 /*! cursor: cursor create calls */ -#define WT_STAT_CONN_CURSOR_CREATE 1193 +#define WT_STAT_CONN_CURSOR_CREATE 1194 /*! cursor: cursor insert calls */ -#define WT_STAT_CONN_CURSOR_INSERT 1194 +#define WT_STAT_CONN_CURSOR_INSERT 1195 /*! cursor: cursor insert key and value bytes */ -#define WT_STAT_CONN_CURSOR_INSERT_BYTES 1195 +#define WT_STAT_CONN_CURSOR_INSERT_BYTES 1196 /*! cursor: cursor modify calls */ -#define WT_STAT_CONN_CURSOR_MODIFY 1196 +#define WT_STAT_CONN_CURSOR_MODIFY 1197 /*! cursor: cursor modify key and value bytes affected */ -#define WT_STAT_CONN_CURSOR_MODIFY_BYTES 1197 +#define WT_STAT_CONN_CURSOR_MODIFY_BYTES 1198 /*! cursor: cursor modify value bytes modified */ -#define WT_STAT_CONN_CURSOR_MODIFY_BYTES_TOUCH 1198 +#define WT_STAT_CONN_CURSOR_MODIFY_BYTES_TOUCH 1199 /*! cursor: cursor next calls */ -#define WT_STAT_CONN_CURSOR_NEXT 1199 +#define WT_STAT_CONN_CURSOR_NEXT 1200 /*! * cursor: cursor next calls that skip greater than or equal to 100 * entries */ -#define WT_STAT_CONN_CURSOR_NEXT_SKIP_GE_100 1200 +#define WT_STAT_CONN_CURSOR_NEXT_SKIP_GE_100 1201 /*! cursor: cursor next calls that skip less than 100 entries */ -#define WT_STAT_CONN_CURSOR_NEXT_SKIP_LT_100 1201 +#define WT_STAT_CONN_CURSOR_NEXT_SKIP_LT_100 1202 /*! cursor: cursor operation restarted */ -#define WT_STAT_CONN_CURSOR_RESTART 1202 +#define WT_STAT_CONN_CURSOR_RESTART 1203 /*! cursor: cursor prev calls */ -#define WT_STAT_CONN_CURSOR_PREV 1203 +#define WT_STAT_CONN_CURSOR_PREV 1204 /*! * cursor: cursor prev calls that skip due to a globally visible history * store tombstone */ -#define WT_STAT_CONN_CURSOR_PREV_HS_TOMBSTONE 1204 +#define WT_STAT_CONN_CURSOR_PREV_HS_TOMBSTONE 1205 /*! * cursor: cursor prev calls that skip due to a globally visible history * store tombstone in rollback to stable */ -#define WT_STAT_CONN_CURSOR_PREV_HS_TOMBSTONE_RTS 1205 +#define WT_STAT_CONN_CURSOR_PREV_HS_TOMBSTONE_RTS 1206 /*! * cursor: cursor prev calls that skip greater than or equal to 100 * entries */ -#define WT_STAT_CONN_CURSOR_PREV_SKIP_GE_100 1206 +#define WT_STAT_CONN_CURSOR_PREV_SKIP_GE_100 1207 /*! cursor: cursor prev calls that skip less than 100 entries */ -#define WT_STAT_CONN_CURSOR_PREV_SKIP_LT_100 1207 +#define WT_STAT_CONN_CURSOR_PREV_SKIP_LT_100 1208 /*! cursor: cursor remove calls */ -#define WT_STAT_CONN_CURSOR_REMOVE 1208 +#define WT_STAT_CONN_CURSOR_REMOVE 1209 /*! cursor: cursor remove key bytes removed */ -#define WT_STAT_CONN_CURSOR_REMOVE_BYTES 1209 +#define WT_STAT_CONN_CURSOR_REMOVE_BYTES 1210 /*! cursor: cursor reserve calls */ -#define WT_STAT_CONN_CURSOR_RESERVE 1210 +#define WT_STAT_CONN_CURSOR_RESERVE 1211 /*! cursor: cursor reset calls */ -#define WT_STAT_CONN_CURSOR_RESET 1211 +#define WT_STAT_CONN_CURSOR_RESET 1212 /*! cursor: cursor search calls */ -#define WT_STAT_CONN_CURSOR_SEARCH 1212 +#define WT_STAT_CONN_CURSOR_SEARCH 1213 /*! cursor: cursor search history store calls */ -#define WT_STAT_CONN_CURSOR_SEARCH_HS 1213 +#define WT_STAT_CONN_CURSOR_SEARCH_HS 1214 /*! cursor: cursor search near calls */ -#define WT_STAT_CONN_CURSOR_SEARCH_NEAR 1214 +#define WT_STAT_CONN_CURSOR_SEARCH_NEAR 1215 /*! cursor: cursor sweep buckets */ -#define WT_STAT_CONN_CURSOR_SWEEP_BUCKETS 1215 +#define WT_STAT_CONN_CURSOR_SWEEP_BUCKETS 1216 /*! cursor: cursor sweep cursors closed */ -#define WT_STAT_CONN_CURSOR_SWEEP_CLOSED 1216 +#define WT_STAT_CONN_CURSOR_SWEEP_CLOSED 1217 /*! cursor: cursor sweep cursors examined */ -#define WT_STAT_CONN_CURSOR_SWEEP_EXAMINED 1217 +#define WT_STAT_CONN_CURSOR_SWEEP_EXAMINED 1218 /*! cursor: cursor sweeps */ -#define WT_STAT_CONN_CURSOR_SWEEP 1218 +#define WT_STAT_CONN_CURSOR_SWEEP 1219 /*! cursor: cursor truncate calls */ -#define WT_STAT_CONN_CURSOR_TRUNCATE 1219 +#define WT_STAT_CONN_CURSOR_TRUNCATE 1220 /*! cursor: cursor update calls */ -#define WT_STAT_CONN_CURSOR_UPDATE 1220 +#define WT_STAT_CONN_CURSOR_UPDATE 1221 /*! cursor: cursor update key and value bytes */ -#define WT_STAT_CONN_CURSOR_UPDATE_BYTES 1221 +#define WT_STAT_CONN_CURSOR_UPDATE_BYTES 1222 /*! cursor: cursor update value size change */ -#define WT_STAT_CONN_CURSOR_UPDATE_BYTES_CHANGED 1222 +#define WT_STAT_CONN_CURSOR_UPDATE_BYTES_CHANGED 1223 /*! cursor: cursors reused from cache */ -#define WT_STAT_CONN_CURSOR_REOPEN 1223 +#define WT_STAT_CONN_CURSOR_REOPEN 1224 /*! cursor: open cursor count */ -#define WT_STAT_CONN_CURSOR_OPEN_COUNT 1224 +#define WT_STAT_CONN_CURSOR_OPEN_COUNT 1225 /*! data-handle: connection data handle size */ -#define WT_STAT_CONN_DH_CONN_HANDLE_SIZE 1225 +#define WT_STAT_CONN_DH_CONN_HANDLE_SIZE 1226 /*! data-handle: connection data handles currently active */ -#define WT_STAT_CONN_DH_CONN_HANDLE_COUNT 1226 +#define WT_STAT_CONN_DH_CONN_HANDLE_COUNT 1227 /*! data-handle: connection sweep candidate became referenced */ -#define WT_STAT_CONN_DH_SWEEP_REF 1227 +#define WT_STAT_CONN_DH_SWEEP_REF 1228 /*! data-handle: connection sweep dhandles closed */ -#define WT_STAT_CONN_DH_SWEEP_CLOSE 1228 +#define WT_STAT_CONN_DH_SWEEP_CLOSE 1229 /*! data-handle: connection sweep dhandles removed from hash list */ -#define WT_STAT_CONN_DH_SWEEP_REMOVE 1229 +#define WT_STAT_CONN_DH_SWEEP_REMOVE 1230 /*! data-handle: connection sweep time-of-death sets */ -#define WT_STAT_CONN_DH_SWEEP_TOD 1230 +#define WT_STAT_CONN_DH_SWEEP_TOD 1231 /*! data-handle: connection sweeps */ -#define WT_STAT_CONN_DH_SWEEPS 1231 +#define WT_STAT_CONN_DH_SWEEPS 1232 /*! data-handle: session dhandles swept */ -#define WT_STAT_CONN_DH_SESSION_HANDLES 1232 +#define WT_STAT_CONN_DH_SESSION_HANDLES 1233 /*! data-handle: session sweep attempts */ -#define WT_STAT_CONN_DH_SESSION_SWEEPS 1233 +#define WT_STAT_CONN_DH_SESSION_SWEEPS 1234 /*! history: history pages added for eviction during garbage collection */ -#define WT_STAT_CONN_HS_GC_PAGES_EVICT 1234 +#define WT_STAT_CONN_HS_GC_PAGES_EVICT 1235 /*! history: history pages removed for garbage collection */ -#define WT_STAT_CONN_HS_GC_PAGES_REMOVED 1235 +#define WT_STAT_CONN_HS_GC_PAGES_REMOVED 1236 /*! history: history pages visited for garbage collection */ -#define WT_STAT_CONN_HS_GC_PAGES_VISITED 1236 +#define WT_STAT_CONN_HS_GC_PAGES_VISITED 1237 /*! lock: checkpoint lock acquisitions */ -#define WT_STAT_CONN_LOCK_CHECKPOINT_COUNT 1237 +#define WT_STAT_CONN_LOCK_CHECKPOINT_COUNT 1238 /*! lock: checkpoint lock application thread wait time (usecs) */ -#define WT_STAT_CONN_LOCK_CHECKPOINT_WAIT_APPLICATION 1238 +#define WT_STAT_CONN_LOCK_CHECKPOINT_WAIT_APPLICATION 1239 /*! lock: checkpoint lock internal thread wait time (usecs) */ -#define WT_STAT_CONN_LOCK_CHECKPOINT_WAIT_INTERNAL 1239 +#define WT_STAT_CONN_LOCK_CHECKPOINT_WAIT_INTERNAL 1240 /*! lock: dhandle lock application thread time waiting (usecs) */ -#define WT_STAT_CONN_LOCK_DHANDLE_WAIT_APPLICATION 1240 +#define WT_STAT_CONN_LOCK_DHANDLE_WAIT_APPLICATION 1241 /*! lock: dhandle lock internal thread time waiting (usecs) */ -#define WT_STAT_CONN_LOCK_DHANDLE_WAIT_INTERNAL 1241 +#define WT_STAT_CONN_LOCK_DHANDLE_WAIT_INTERNAL 1242 /*! lock: dhandle read lock acquisitions */ -#define WT_STAT_CONN_LOCK_DHANDLE_READ_COUNT 1242 +#define WT_STAT_CONN_LOCK_DHANDLE_READ_COUNT 1243 /*! lock: dhandle write lock acquisitions */ -#define WT_STAT_CONN_LOCK_DHANDLE_WRITE_COUNT 1243 +#define WT_STAT_CONN_LOCK_DHANDLE_WRITE_COUNT 1244 /*! * lock: durable timestamp queue lock application thread time waiting * (usecs) */ -#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_WAIT_APPLICATION 1244 +#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_WAIT_APPLICATION 1245 /*! * lock: durable timestamp queue lock internal thread time waiting * (usecs) */ -#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_WAIT_INTERNAL 1245 +#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_WAIT_INTERNAL 1246 /*! lock: durable timestamp queue read lock acquisitions */ -#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_READ_COUNT 1246 +#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_READ_COUNT 1247 /*! lock: durable timestamp queue write lock acquisitions */ -#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_WRITE_COUNT 1247 +#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_WRITE_COUNT 1248 /*! lock: metadata lock acquisitions */ -#define WT_STAT_CONN_LOCK_METADATA_COUNT 1248 +#define WT_STAT_CONN_LOCK_METADATA_COUNT 1249 /*! lock: metadata lock application thread wait time (usecs) */ -#define WT_STAT_CONN_LOCK_METADATA_WAIT_APPLICATION 1249 +#define WT_STAT_CONN_LOCK_METADATA_WAIT_APPLICATION 1250 /*! lock: metadata lock internal thread wait time (usecs) */ -#define WT_STAT_CONN_LOCK_METADATA_WAIT_INTERNAL 1250 +#define WT_STAT_CONN_LOCK_METADATA_WAIT_INTERNAL 1251 /*! * lock: read timestamp queue lock application thread time waiting * (usecs) */ -#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_WAIT_APPLICATION 1251 +#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_WAIT_APPLICATION 1252 /*! lock: read timestamp queue lock internal thread time waiting (usecs) */ -#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_WAIT_INTERNAL 1252 +#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_WAIT_INTERNAL 1253 /*! lock: read timestamp queue read lock acquisitions */ -#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_READ_COUNT 1253 +#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_READ_COUNT 1254 /*! lock: read timestamp queue write lock acquisitions */ -#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_WRITE_COUNT 1254 +#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_WRITE_COUNT 1255 /*! lock: schema lock acquisitions */ -#define WT_STAT_CONN_LOCK_SCHEMA_COUNT 1255 +#define WT_STAT_CONN_LOCK_SCHEMA_COUNT 1256 /*! lock: schema lock application thread wait time (usecs) */ -#define WT_STAT_CONN_LOCK_SCHEMA_WAIT_APPLICATION 1256 +#define WT_STAT_CONN_LOCK_SCHEMA_WAIT_APPLICATION 1257 /*! lock: schema lock internal thread wait time (usecs) */ -#define WT_STAT_CONN_LOCK_SCHEMA_WAIT_INTERNAL 1257 +#define WT_STAT_CONN_LOCK_SCHEMA_WAIT_INTERNAL 1258 /*! * lock: table lock application thread time waiting for the table lock * (usecs) */ -#define WT_STAT_CONN_LOCK_TABLE_WAIT_APPLICATION 1258 +#define WT_STAT_CONN_LOCK_TABLE_WAIT_APPLICATION 1259 /*! * lock: table lock internal thread time waiting for the table lock * (usecs) */ -#define WT_STAT_CONN_LOCK_TABLE_WAIT_INTERNAL 1259 +#define WT_STAT_CONN_LOCK_TABLE_WAIT_INTERNAL 1260 /*! lock: table read lock acquisitions */ -#define WT_STAT_CONN_LOCK_TABLE_READ_COUNT 1260 +#define WT_STAT_CONN_LOCK_TABLE_READ_COUNT 1261 /*! lock: table write lock acquisitions */ -#define WT_STAT_CONN_LOCK_TABLE_WRITE_COUNT 1261 +#define WT_STAT_CONN_LOCK_TABLE_WRITE_COUNT 1262 /*! lock: txn global lock application thread time waiting (usecs) */ -#define WT_STAT_CONN_LOCK_TXN_GLOBAL_WAIT_APPLICATION 1262 +#define WT_STAT_CONN_LOCK_TXN_GLOBAL_WAIT_APPLICATION 1263 /*! lock: txn global lock internal thread time waiting (usecs) */ -#define WT_STAT_CONN_LOCK_TXN_GLOBAL_WAIT_INTERNAL 1263 +#define WT_STAT_CONN_LOCK_TXN_GLOBAL_WAIT_INTERNAL 1264 /*! lock: txn global read lock acquisitions */ -#define WT_STAT_CONN_LOCK_TXN_GLOBAL_READ_COUNT 1264 +#define WT_STAT_CONN_LOCK_TXN_GLOBAL_READ_COUNT 1265 /*! lock: txn global write lock acquisitions */ -#define WT_STAT_CONN_LOCK_TXN_GLOBAL_WRITE_COUNT 1265 +#define WT_STAT_CONN_LOCK_TXN_GLOBAL_WRITE_COUNT 1266 /*! log: busy returns attempting to switch slots */ -#define WT_STAT_CONN_LOG_SLOT_SWITCH_BUSY 1266 +#define WT_STAT_CONN_LOG_SLOT_SWITCH_BUSY 1267 /*! log: force archive time sleeping (usecs) */ -#define WT_STAT_CONN_LOG_FORCE_ARCHIVE_SLEEP 1267 +#define WT_STAT_CONN_LOG_FORCE_ARCHIVE_SLEEP 1268 /*! log: log bytes of payload data */ -#define WT_STAT_CONN_LOG_BYTES_PAYLOAD 1268 +#define WT_STAT_CONN_LOG_BYTES_PAYLOAD 1269 /*! log: log bytes written */ -#define WT_STAT_CONN_LOG_BYTES_WRITTEN 1269 +#define WT_STAT_CONN_LOG_BYTES_WRITTEN 1270 /*! log: log files manually zero-filled */ -#define WT_STAT_CONN_LOG_ZERO_FILLS 1270 +#define WT_STAT_CONN_LOG_ZERO_FILLS 1271 /*! log: log flush operations */ -#define WT_STAT_CONN_LOG_FLUSH 1271 +#define WT_STAT_CONN_LOG_FLUSH 1272 /*! log: log force write operations */ -#define WT_STAT_CONN_LOG_FORCE_WRITE 1272 +#define WT_STAT_CONN_LOG_FORCE_WRITE 1273 /*! log: log force write operations skipped */ -#define WT_STAT_CONN_LOG_FORCE_WRITE_SKIP 1273 +#define WT_STAT_CONN_LOG_FORCE_WRITE_SKIP 1274 /*! log: log records compressed */ -#define WT_STAT_CONN_LOG_COMPRESS_WRITES 1274 +#define WT_STAT_CONN_LOG_COMPRESS_WRITES 1275 /*! log: log records not compressed */ -#define WT_STAT_CONN_LOG_COMPRESS_WRITE_FAILS 1275 +#define WT_STAT_CONN_LOG_COMPRESS_WRITE_FAILS 1276 /*! log: log records too small to compress */ -#define WT_STAT_CONN_LOG_COMPRESS_SMALL 1276 +#define WT_STAT_CONN_LOG_COMPRESS_SMALL 1277 /*! log: log release advances write LSN */ -#define WT_STAT_CONN_LOG_RELEASE_WRITE_LSN 1277 +#define WT_STAT_CONN_LOG_RELEASE_WRITE_LSN 1278 /*! log: log scan operations */ -#define WT_STAT_CONN_LOG_SCANS 1278 +#define WT_STAT_CONN_LOG_SCANS 1279 /*! log: log scan records requiring two reads */ -#define WT_STAT_CONN_LOG_SCAN_REREADS 1279 +#define WT_STAT_CONN_LOG_SCAN_REREADS 1280 /*! log: log server thread advances write LSN */ -#define WT_STAT_CONN_LOG_WRITE_LSN 1280 +#define WT_STAT_CONN_LOG_WRITE_LSN 1281 /*! log: log server thread write LSN walk skipped */ -#define WT_STAT_CONN_LOG_WRITE_LSN_SKIP 1281 +#define WT_STAT_CONN_LOG_WRITE_LSN_SKIP 1282 /*! log: log sync operations */ -#define WT_STAT_CONN_LOG_SYNC 1282 +#define WT_STAT_CONN_LOG_SYNC 1283 /*! log: log sync time duration (usecs) */ -#define WT_STAT_CONN_LOG_SYNC_DURATION 1283 +#define WT_STAT_CONN_LOG_SYNC_DURATION 1284 /*! log: log sync_dir operations */ -#define WT_STAT_CONN_LOG_SYNC_DIR 1284 +#define WT_STAT_CONN_LOG_SYNC_DIR 1285 /*! log: log sync_dir time duration (usecs) */ -#define WT_STAT_CONN_LOG_SYNC_DIR_DURATION 1285 +#define WT_STAT_CONN_LOG_SYNC_DIR_DURATION 1286 /*! log: log write operations */ -#define WT_STAT_CONN_LOG_WRITES 1286 +#define WT_STAT_CONN_LOG_WRITES 1287 /*! log: logging bytes consolidated */ -#define WT_STAT_CONN_LOG_SLOT_CONSOLIDATED 1287 +#define WT_STAT_CONN_LOG_SLOT_CONSOLIDATED 1288 /*! log: maximum log file size */ -#define WT_STAT_CONN_LOG_MAX_FILESIZE 1288 +#define WT_STAT_CONN_LOG_MAX_FILESIZE 1289 /*! log: number of pre-allocated log files to create */ -#define WT_STAT_CONN_LOG_PREALLOC_MAX 1289 +#define WT_STAT_CONN_LOG_PREALLOC_MAX 1290 /*! log: pre-allocated log files not ready and missed */ -#define WT_STAT_CONN_LOG_PREALLOC_MISSED 1290 +#define WT_STAT_CONN_LOG_PREALLOC_MISSED 1291 /*! log: pre-allocated log files prepared */ -#define WT_STAT_CONN_LOG_PREALLOC_FILES 1291 +#define WT_STAT_CONN_LOG_PREALLOC_FILES 1292 /*! log: pre-allocated log files used */ -#define WT_STAT_CONN_LOG_PREALLOC_USED 1292 +#define WT_STAT_CONN_LOG_PREALLOC_USED 1293 /*! log: records processed by log scan */ -#define WT_STAT_CONN_LOG_SCAN_RECORDS 1293 +#define WT_STAT_CONN_LOG_SCAN_RECORDS 1294 /*! log: slot close lost race */ -#define WT_STAT_CONN_LOG_SLOT_CLOSE_RACE 1294 +#define WT_STAT_CONN_LOG_SLOT_CLOSE_RACE 1295 /*! log: slot close unbuffered waits */ -#define WT_STAT_CONN_LOG_SLOT_CLOSE_UNBUF 1295 +#define WT_STAT_CONN_LOG_SLOT_CLOSE_UNBUF 1296 /*! log: slot closures */ -#define WT_STAT_CONN_LOG_SLOT_CLOSES 1296 +#define WT_STAT_CONN_LOG_SLOT_CLOSES 1297 /*! log: slot join atomic update races */ -#define WT_STAT_CONN_LOG_SLOT_RACES 1297 +#define WT_STAT_CONN_LOG_SLOT_RACES 1298 /*! log: slot join calls atomic updates raced */ -#define WT_STAT_CONN_LOG_SLOT_YIELD_RACE 1298 +#define WT_STAT_CONN_LOG_SLOT_YIELD_RACE 1299 /*! log: slot join calls did not yield */ -#define WT_STAT_CONN_LOG_SLOT_IMMEDIATE 1299 +#define WT_STAT_CONN_LOG_SLOT_IMMEDIATE 1300 /*! log: slot join calls found active slot closed */ -#define WT_STAT_CONN_LOG_SLOT_YIELD_CLOSE 1300 +#define WT_STAT_CONN_LOG_SLOT_YIELD_CLOSE 1301 /*! log: slot join calls slept */ -#define WT_STAT_CONN_LOG_SLOT_YIELD_SLEEP 1301 +#define WT_STAT_CONN_LOG_SLOT_YIELD_SLEEP 1302 /*! log: slot join calls yielded */ -#define WT_STAT_CONN_LOG_SLOT_YIELD 1302 +#define WT_STAT_CONN_LOG_SLOT_YIELD 1303 /*! log: slot join found active slot closed */ -#define WT_STAT_CONN_LOG_SLOT_ACTIVE_CLOSED 1303 +#define WT_STAT_CONN_LOG_SLOT_ACTIVE_CLOSED 1304 /*! log: slot joins yield time (usecs) */ -#define WT_STAT_CONN_LOG_SLOT_YIELD_DURATION 1304 +#define WT_STAT_CONN_LOG_SLOT_YIELD_DURATION 1305 /*! log: slot transitions unable to find free slot */ -#define WT_STAT_CONN_LOG_SLOT_NO_FREE_SLOTS 1305 +#define WT_STAT_CONN_LOG_SLOT_NO_FREE_SLOTS 1306 /*! log: slot unbuffered writes */ -#define WT_STAT_CONN_LOG_SLOT_UNBUFFERED 1306 +#define WT_STAT_CONN_LOG_SLOT_UNBUFFERED 1307 /*! log: total in-memory size of compressed records */ -#define WT_STAT_CONN_LOG_COMPRESS_MEM 1307 +#define WT_STAT_CONN_LOG_COMPRESS_MEM 1308 /*! log: total log buffer size */ -#define WT_STAT_CONN_LOG_BUFFER_SIZE 1308 +#define WT_STAT_CONN_LOG_BUFFER_SIZE 1309 /*! log: total size of compressed records */ -#define WT_STAT_CONN_LOG_COMPRESS_LEN 1309 +#define WT_STAT_CONN_LOG_COMPRESS_LEN 1310 /*! log: written slots coalesced */ -#define WT_STAT_CONN_LOG_SLOT_COALESCED 1310 +#define WT_STAT_CONN_LOG_SLOT_COALESCED 1311 /*! log: yields waiting for previous log file close */ -#define WT_STAT_CONN_LOG_CLOSE_YIELDS 1311 +#define WT_STAT_CONN_LOG_CLOSE_YIELDS 1312 /*! perf: file system read latency histogram (bucket 1) - 10-49ms */ -#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT50 1312 +#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT50 1313 /*! perf: file system read latency histogram (bucket 2) - 50-99ms */ -#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT100 1313 +#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT100 1314 /*! perf: file system read latency histogram (bucket 3) - 100-249ms */ -#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT250 1314 +#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT250 1315 /*! perf: file system read latency histogram (bucket 4) - 250-499ms */ -#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT500 1315 +#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT500 1316 /*! perf: file system read latency histogram (bucket 5) - 500-999ms */ -#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT1000 1316 +#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT1000 1317 /*! perf: file system read latency histogram (bucket 6) - 1000ms+ */ -#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_GT1000 1317 +#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_GT1000 1318 /*! perf: file system write latency histogram (bucket 1) - 10-49ms */ -#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT50 1318 +#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT50 1319 /*! perf: file system write latency histogram (bucket 2) - 50-99ms */ -#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT100 1319 +#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT100 1320 /*! perf: file system write latency histogram (bucket 3) - 100-249ms */ -#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT250 1320 +#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT250 1321 /*! perf: file system write latency histogram (bucket 4) - 250-499ms */ -#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT500 1321 +#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT500 1322 /*! perf: file system write latency histogram (bucket 5) - 500-999ms */ -#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT1000 1322 +#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT1000 1323 /*! perf: file system write latency histogram (bucket 6) - 1000ms+ */ -#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_GT1000 1323 +#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_GT1000 1324 /*! perf: operation read latency histogram (bucket 1) - 100-249us */ -#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT250 1324 +#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT250 1325 /*! perf: operation read latency histogram (bucket 2) - 250-499us */ -#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT500 1325 +#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT500 1326 /*! perf: operation read latency histogram (bucket 3) - 500-999us */ -#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT1000 1326 +#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT1000 1327 /*! perf: operation read latency histogram (bucket 4) - 1000-9999us */ -#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT10000 1327 +#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT10000 1328 /*! perf: operation read latency histogram (bucket 5) - 10000us+ */ -#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_GT10000 1328 +#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_GT10000 1329 /*! perf: operation write latency histogram (bucket 1) - 100-249us */ -#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT250 1329 +#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT250 1330 /*! perf: operation write latency histogram (bucket 2) - 250-499us */ -#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT500 1330 +#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT500 1331 /*! perf: operation write latency histogram (bucket 3) - 500-999us */ -#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT1000 1331 +#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT1000 1332 /*! perf: operation write latency histogram (bucket 4) - 1000-9999us */ -#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT10000 1332 +#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT10000 1333 /*! perf: operation write latency histogram (bucket 5) - 10000us+ */ -#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_GT10000 1333 +#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_GT10000 1334 /*! reconciliation: approximate byte size of timestamps in pages written */ -#define WT_STAT_CONN_REC_TIME_WINDOW_BYTES_TS 1334 +#define WT_STAT_CONN_REC_TIME_WINDOW_BYTES_TS 1335 /*! * reconciliation: approximate byte size of transaction IDs in pages * written */ -#define WT_STAT_CONN_REC_TIME_WINDOW_BYTES_TXN 1335 +#define WT_STAT_CONN_REC_TIME_WINDOW_BYTES_TXN 1336 /*! reconciliation: fast-path pages deleted */ -#define WT_STAT_CONN_REC_PAGE_DELETE_FAST 1336 +#define WT_STAT_CONN_REC_PAGE_DELETE_FAST 1337 /*! reconciliation: maximum seconds spent in a reconciliation call */ -#define WT_STAT_CONN_REC_MAXIMUM_SECONDS 1337 +#define WT_STAT_CONN_REC_MAXIMUM_SECONDS 1338 /*! reconciliation: page reconciliation calls */ -#define WT_STAT_CONN_REC_PAGES 1338 +#define WT_STAT_CONN_REC_PAGES 1339 /*! reconciliation: page reconciliation calls for eviction */ -#define WT_STAT_CONN_REC_PAGES_EVICTION 1339 +#define WT_STAT_CONN_REC_PAGES_EVICTION 1340 /*! * reconciliation: page reconciliation calls that resulted in values with * prepared transaction metadata */ -#define WT_STAT_CONN_REC_PAGES_WITH_PREPARE 1340 +#define WT_STAT_CONN_REC_PAGES_WITH_PREPARE 1341 /*! * reconciliation: page reconciliation calls that resulted in values with * timestamps */ -#define WT_STAT_CONN_REC_PAGES_WITH_TS 1341 +#define WT_STAT_CONN_REC_PAGES_WITH_TS 1342 /*! * reconciliation: page reconciliation calls that resulted in values with * transaction ids */ -#define WT_STAT_CONN_REC_PAGES_WITH_TXN 1342 +#define WT_STAT_CONN_REC_PAGES_WITH_TXN 1343 /*! reconciliation: pages deleted */ -#define WT_STAT_CONN_REC_PAGE_DELETE 1343 +#define WT_STAT_CONN_REC_PAGE_DELETE 1344 /*! * reconciliation: pages written including an aggregated newest start * durable timestamp */ -#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_START_DURABLE_TS 1344 +#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_START_DURABLE_TS 1345 /*! * reconciliation: pages written including an aggregated newest stop * durable timestamp */ -#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_STOP_DURABLE_TS 1345 +#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_STOP_DURABLE_TS 1346 /*! * reconciliation: pages written including an aggregated newest stop * timestamp */ -#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_STOP_TS 1346 +#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_STOP_TS 1347 /*! * reconciliation: pages written including an aggregated newest stop * transaction ID */ -#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_STOP_TXN 1347 +#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_STOP_TXN 1348 /*! * reconciliation: pages written including an aggregated oldest start * timestamp */ -#define WT_STAT_CONN_REC_TIME_AGGR_OLDEST_START_TS 1348 +#define WT_STAT_CONN_REC_TIME_AGGR_OLDEST_START_TS 1349 /*! * reconciliation: pages written including an aggregated oldest start * transaction ID */ -#define WT_STAT_CONN_REC_TIME_AGGR_OLDEST_START_TXN 1349 +#define WT_STAT_CONN_REC_TIME_AGGR_OLDEST_START_TXN 1350 /*! reconciliation: pages written including an aggregated prepare */ -#define WT_STAT_CONN_REC_TIME_AGGR_PREPARED 1350 +#define WT_STAT_CONN_REC_TIME_AGGR_PREPARED 1351 /*! reconciliation: pages written including at least one prepare state */ -#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_PREPARED 1351 +#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_PREPARED 1352 /*! * reconciliation: pages written including at least one start durable * timestamp */ -#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_DURABLE_START_TS 1352 +#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_DURABLE_START_TS 1353 /*! reconciliation: pages written including at least one start timestamp */ -#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_START_TS 1353 +#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_START_TS 1354 /*! * reconciliation: pages written including at least one start transaction * ID */ -#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_START_TXN 1354 +#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_START_TXN 1355 /*! * reconciliation: pages written including at least one stop durable * timestamp */ -#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_DURABLE_STOP_TS 1355 +#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_DURABLE_STOP_TS 1356 /*! reconciliation: pages written including at least one stop timestamp */ -#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_STOP_TS 1356 +#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_STOP_TS 1357 /*! * reconciliation: pages written including at least one stop transaction * ID */ -#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_STOP_TXN 1357 +#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_STOP_TXN 1358 /*! reconciliation: records written including a prepare state */ -#define WT_STAT_CONN_REC_TIME_WINDOW_PREPARED 1358 +#define WT_STAT_CONN_REC_TIME_WINDOW_PREPARED 1359 /*! reconciliation: records written including a start durable timestamp */ -#define WT_STAT_CONN_REC_TIME_WINDOW_DURABLE_START_TS 1359 +#define WT_STAT_CONN_REC_TIME_WINDOW_DURABLE_START_TS 1360 /*! reconciliation: records written including a start timestamp */ -#define WT_STAT_CONN_REC_TIME_WINDOW_START_TS 1360 +#define WT_STAT_CONN_REC_TIME_WINDOW_START_TS 1361 /*! reconciliation: records written including a start transaction ID */ -#define WT_STAT_CONN_REC_TIME_WINDOW_START_TXN 1361 +#define WT_STAT_CONN_REC_TIME_WINDOW_START_TXN 1362 /*! reconciliation: records written including a stop durable timestamp */ -#define WT_STAT_CONN_REC_TIME_WINDOW_DURABLE_STOP_TS 1362 +#define WT_STAT_CONN_REC_TIME_WINDOW_DURABLE_STOP_TS 1363 /*! reconciliation: records written including a stop timestamp */ -#define WT_STAT_CONN_REC_TIME_WINDOW_STOP_TS 1363 +#define WT_STAT_CONN_REC_TIME_WINDOW_STOP_TS 1364 /*! reconciliation: records written including a stop transaction ID */ -#define WT_STAT_CONN_REC_TIME_WINDOW_STOP_TXN 1364 +#define WT_STAT_CONN_REC_TIME_WINDOW_STOP_TXN 1365 /*! reconciliation: split bytes currently awaiting free */ -#define WT_STAT_CONN_REC_SPLIT_STASHED_BYTES 1365 +#define WT_STAT_CONN_REC_SPLIT_STASHED_BYTES 1366 /*! reconciliation: split objects currently awaiting free */ -#define WT_STAT_CONN_REC_SPLIT_STASHED_OBJECTS 1366 +#define WT_STAT_CONN_REC_SPLIT_STASHED_OBJECTS 1367 /*! session: open session count */ -#define WT_STAT_CONN_SESSION_OPEN 1367 +#define WT_STAT_CONN_SESSION_OPEN 1368 /*! session: session query timestamp calls */ -#define WT_STAT_CONN_SESSION_QUERY_TS 1368 +#define WT_STAT_CONN_SESSION_QUERY_TS 1369 /*! session: table alter failed calls */ -#define WT_STAT_CONN_SESSION_TABLE_ALTER_FAIL 1369 +#define WT_STAT_CONN_SESSION_TABLE_ALTER_FAIL 1370 /*! session: table alter successful calls */ -#define WT_STAT_CONN_SESSION_TABLE_ALTER_SUCCESS 1370 +#define WT_STAT_CONN_SESSION_TABLE_ALTER_SUCCESS 1371 /*! session: table alter unchanged and skipped */ -#define WT_STAT_CONN_SESSION_TABLE_ALTER_SKIP 1371 +#define WT_STAT_CONN_SESSION_TABLE_ALTER_SKIP 1372 /*! session: table compact failed calls */ -#define WT_STAT_CONN_SESSION_TABLE_COMPACT_FAIL 1372 +#define WT_STAT_CONN_SESSION_TABLE_COMPACT_FAIL 1373 /*! session: table compact successful calls */ -#define WT_STAT_CONN_SESSION_TABLE_COMPACT_SUCCESS 1373 +#define WT_STAT_CONN_SESSION_TABLE_COMPACT_SUCCESS 1374 /*! session: table create failed calls */ -#define WT_STAT_CONN_SESSION_TABLE_CREATE_FAIL 1374 +#define WT_STAT_CONN_SESSION_TABLE_CREATE_FAIL 1375 /*! session: table create successful calls */ -#define WT_STAT_CONN_SESSION_TABLE_CREATE_SUCCESS 1375 +#define WT_STAT_CONN_SESSION_TABLE_CREATE_SUCCESS 1376 /*! session: table drop failed calls */ -#define WT_STAT_CONN_SESSION_TABLE_DROP_FAIL 1376 +#define WT_STAT_CONN_SESSION_TABLE_DROP_FAIL 1377 /*! session: table drop successful calls */ -#define WT_STAT_CONN_SESSION_TABLE_DROP_SUCCESS 1377 +#define WT_STAT_CONN_SESSION_TABLE_DROP_SUCCESS 1378 /*! session: table import failed calls */ -#define WT_STAT_CONN_SESSION_TABLE_IMPORT_FAIL 1378 +#define WT_STAT_CONN_SESSION_TABLE_IMPORT_FAIL 1379 /*! session: table import successful calls */ -#define WT_STAT_CONN_SESSION_TABLE_IMPORT_SUCCESS 1379 +#define WT_STAT_CONN_SESSION_TABLE_IMPORT_SUCCESS 1380 /*! session: table rebalance failed calls */ -#define WT_STAT_CONN_SESSION_TABLE_REBALANCE_FAIL 1380 +#define WT_STAT_CONN_SESSION_TABLE_REBALANCE_FAIL 1381 /*! session: table rebalance successful calls */ -#define WT_STAT_CONN_SESSION_TABLE_REBALANCE_SUCCESS 1381 +#define WT_STAT_CONN_SESSION_TABLE_REBALANCE_SUCCESS 1382 /*! session: table rename failed calls */ -#define WT_STAT_CONN_SESSION_TABLE_RENAME_FAIL 1382 +#define WT_STAT_CONN_SESSION_TABLE_RENAME_FAIL 1383 /*! session: table rename successful calls */ -#define WT_STAT_CONN_SESSION_TABLE_RENAME_SUCCESS 1383 +#define WT_STAT_CONN_SESSION_TABLE_RENAME_SUCCESS 1384 /*! session: table salvage failed calls */ -#define WT_STAT_CONN_SESSION_TABLE_SALVAGE_FAIL 1384 +#define WT_STAT_CONN_SESSION_TABLE_SALVAGE_FAIL 1385 /*! session: table salvage successful calls */ -#define WT_STAT_CONN_SESSION_TABLE_SALVAGE_SUCCESS 1385 +#define WT_STAT_CONN_SESSION_TABLE_SALVAGE_SUCCESS 1386 /*! session: table truncate failed calls */ -#define WT_STAT_CONN_SESSION_TABLE_TRUNCATE_FAIL 1386 +#define WT_STAT_CONN_SESSION_TABLE_TRUNCATE_FAIL 1387 /*! session: table truncate successful calls */ -#define WT_STAT_CONN_SESSION_TABLE_TRUNCATE_SUCCESS 1387 +#define WT_STAT_CONN_SESSION_TABLE_TRUNCATE_SUCCESS 1388 /*! session: table verify failed calls */ -#define WT_STAT_CONN_SESSION_TABLE_VERIFY_FAIL 1388 +#define WT_STAT_CONN_SESSION_TABLE_VERIFY_FAIL 1389 /*! session: table verify successful calls */ -#define WT_STAT_CONN_SESSION_TABLE_VERIFY_SUCCESS 1389 +#define WT_STAT_CONN_SESSION_TABLE_VERIFY_SUCCESS 1390 /*! thread-state: active filesystem fsync calls */ -#define WT_STAT_CONN_THREAD_FSYNC_ACTIVE 1390 +#define WT_STAT_CONN_THREAD_FSYNC_ACTIVE 1391 /*! thread-state: active filesystem read calls */ -#define WT_STAT_CONN_THREAD_READ_ACTIVE 1391 +#define WT_STAT_CONN_THREAD_READ_ACTIVE 1392 /*! thread-state: active filesystem write calls */ -#define WT_STAT_CONN_THREAD_WRITE_ACTIVE 1392 +#define WT_STAT_CONN_THREAD_WRITE_ACTIVE 1393 /*! thread-yield: application thread time evicting (usecs) */ -#define WT_STAT_CONN_APPLICATION_EVICT_TIME 1393 +#define WT_STAT_CONN_APPLICATION_EVICT_TIME 1394 /*! thread-yield: application thread time waiting for cache (usecs) */ -#define WT_STAT_CONN_APPLICATION_CACHE_TIME 1394 +#define WT_STAT_CONN_APPLICATION_CACHE_TIME 1395 /*! * thread-yield: connection close blocked waiting for transaction state * stabilization */ -#define WT_STAT_CONN_TXN_RELEASE_BLOCKED 1395 +#define WT_STAT_CONN_TXN_RELEASE_BLOCKED 1396 /*! thread-yield: connection close yielded for lsm manager shutdown */ -#define WT_STAT_CONN_CONN_CLOSE_BLOCKED_LSM 1396 +#define WT_STAT_CONN_CONN_CLOSE_BLOCKED_LSM 1397 /*! thread-yield: data handle lock yielded */ -#define WT_STAT_CONN_DHANDLE_LOCK_BLOCKED 1397 +#define WT_STAT_CONN_DHANDLE_LOCK_BLOCKED 1398 /*! * thread-yield: get reference for page index and slot time sleeping * (usecs) */ -#define WT_STAT_CONN_PAGE_INDEX_SLOT_REF_BLOCKED 1398 +#define WT_STAT_CONN_PAGE_INDEX_SLOT_REF_BLOCKED 1399 /*! thread-yield: log server sync yielded for log write */ -#define WT_STAT_CONN_LOG_SERVER_SYNC_BLOCKED 1399 +#define WT_STAT_CONN_LOG_SERVER_SYNC_BLOCKED 1400 /*! thread-yield: page access yielded due to prepare state change */ -#define WT_STAT_CONN_PREPARED_TRANSITION_BLOCKED_PAGE 1400 +#define WT_STAT_CONN_PREPARED_TRANSITION_BLOCKED_PAGE 1401 /*! thread-yield: page acquire busy blocked */ -#define WT_STAT_CONN_PAGE_BUSY_BLOCKED 1401 +#define WT_STAT_CONN_PAGE_BUSY_BLOCKED 1402 /*! thread-yield: page acquire eviction blocked */ -#define WT_STAT_CONN_PAGE_FORCIBLE_EVICT_BLOCKED 1402 +#define WT_STAT_CONN_PAGE_FORCIBLE_EVICT_BLOCKED 1403 /*! thread-yield: page acquire locked blocked */ -#define WT_STAT_CONN_PAGE_LOCKED_BLOCKED 1403 +#define WT_STAT_CONN_PAGE_LOCKED_BLOCKED 1404 /*! thread-yield: page acquire read blocked */ -#define WT_STAT_CONN_PAGE_READ_BLOCKED 1404 +#define WT_STAT_CONN_PAGE_READ_BLOCKED 1405 /*! thread-yield: page acquire time sleeping (usecs) */ -#define WT_STAT_CONN_PAGE_SLEEP 1405 +#define WT_STAT_CONN_PAGE_SLEEP 1406 /*! * thread-yield: page delete rollback time sleeping for state change * (usecs) */ -#define WT_STAT_CONN_PAGE_DEL_ROLLBACK_BLOCKED 1406 +#define WT_STAT_CONN_PAGE_DEL_ROLLBACK_BLOCKED 1407 /*! thread-yield: page reconciliation yielded due to child modification */ -#define WT_STAT_CONN_CHILD_MODIFY_BLOCKED_PAGE 1407 +#define WT_STAT_CONN_CHILD_MODIFY_BLOCKED_PAGE 1408 /*! transaction: Number of prepared updates */ -#define WT_STAT_CONN_TXN_PREPARED_UPDATES_COUNT 1408 +#define WT_STAT_CONN_TXN_PREPARED_UPDATES_COUNT 1409 /*! transaction: durable timestamp queue entries walked */ -#define WT_STAT_CONN_TXN_DURABLE_QUEUE_WALKED 1409 +#define WT_STAT_CONN_TXN_DURABLE_QUEUE_WALKED 1410 /*! transaction: durable timestamp queue insert to empty */ -#define WT_STAT_CONN_TXN_DURABLE_QUEUE_EMPTY 1410 +#define WT_STAT_CONN_TXN_DURABLE_QUEUE_EMPTY 1411 /*! transaction: durable timestamp queue inserts to head */ -#define WT_STAT_CONN_TXN_DURABLE_QUEUE_HEAD 1411 +#define WT_STAT_CONN_TXN_DURABLE_QUEUE_HEAD 1412 /*! transaction: durable timestamp queue inserts total */ -#define WT_STAT_CONN_TXN_DURABLE_QUEUE_INSERTS 1412 +#define WT_STAT_CONN_TXN_DURABLE_QUEUE_INSERTS 1413 /*! transaction: durable timestamp queue length */ -#define WT_STAT_CONN_TXN_DURABLE_QUEUE_LEN 1413 +#define WT_STAT_CONN_TXN_DURABLE_QUEUE_LEN 1414 /*! transaction: prepared transactions */ -#define WT_STAT_CONN_TXN_PREPARE 1414 +#define WT_STAT_CONN_TXN_PREPARE 1415 /*! transaction: prepared transactions committed */ -#define WT_STAT_CONN_TXN_PREPARE_COMMIT 1415 +#define WT_STAT_CONN_TXN_PREPARE_COMMIT 1416 /*! transaction: prepared transactions currently active */ -#define WT_STAT_CONN_TXN_PREPARE_ACTIVE 1416 +#define WT_STAT_CONN_TXN_PREPARE_ACTIVE 1417 /*! transaction: prepared transactions rolled back */ -#define WT_STAT_CONN_TXN_PREPARE_ROLLBACK 1417 +#define WT_STAT_CONN_TXN_PREPARE_ROLLBACK 1418 /*! transaction: query timestamp calls */ -#define WT_STAT_CONN_TXN_QUERY_TS 1418 +#define WT_STAT_CONN_TXN_QUERY_TS 1419 /*! transaction: read timestamp queue entries walked */ -#define WT_STAT_CONN_TXN_READ_QUEUE_WALKED 1419 +#define WT_STAT_CONN_TXN_READ_QUEUE_WALKED 1420 /*! transaction: read timestamp queue insert to empty */ -#define WT_STAT_CONN_TXN_READ_QUEUE_EMPTY 1420 +#define WT_STAT_CONN_TXN_READ_QUEUE_EMPTY 1421 /*! transaction: read timestamp queue inserts to head */ -#define WT_STAT_CONN_TXN_READ_QUEUE_HEAD 1421 +#define WT_STAT_CONN_TXN_READ_QUEUE_HEAD 1422 /*! transaction: read timestamp queue inserts total */ -#define WT_STAT_CONN_TXN_READ_QUEUE_INSERTS 1422 +#define WT_STAT_CONN_TXN_READ_QUEUE_INSERTS 1423 /*! transaction: read timestamp queue length */ -#define WT_STAT_CONN_TXN_READ_QUEUE_LEN 1423 +#define WT_STAT_CONN_TXN_READ_QUEUE_LEN 1424 /*! transaction: rollback to stable calls */ -#define WT_STAT_CONN_TXN_RTS 1424 +#define WT_STAT_CONN_TXN_RTS 1425 /*! * transaction: rollback to stable hs records with stop timestamps older * than newer records */ -#define WT_STAT_CONN_TXN_RTS_HS_STOP_OLDER_THAN_NEWER_START 1425 +#define WT_STAT_CONN_TXN_RTS_HS_STOP_OLDER_THAN_NEWER_START 1426 /*! transaction: rollback to stable keys removed */ -#define WT_STAT_CONN_TXN_RTS_KEYS_REMOVED 1426 +#define WT_STAT_CONN_TXN_RTS_KEYS_REMOVED 1427 /*! transaction: rollback to stable keys restored */ -#define WT_STAT_CONN_TXN_RTS_KEYS_RESTORED 1427 +#define WT_STAT_CONN_TXN_RTS_KEYS_RESTORED 1428 /*! transaction: rollback to stable pages visited */ -#define WT_STAT_CONN_TXN_RTS_PAGES_VISITED 1428 +#define WT_STAT_CONN_TXN_RTS_PAGES_VISITED 1429 /*! transaction: rollback to stable restored tombstones from history store */ -#define WT_STAT_CONN_TXN_RTS_HS_RESTORE_TOMBSTONES 1429 +#define WT_STAT_CONN_TXN_RTS_HS_RESTORE_TOMBSTONES 1430 /*! transaction: rollback to stable sweeping history store keys */ -#define WT_STAT_CONN_TXN_RTS_SWEEP_HS_KEYS 1430 +#define WT_STAT_CONN_TXN_RTS_SWEEP_HS_KEYS 1431 /*! transaction: rollback to stable tree walk skipping pages */ -#define WT_STAT_CONN_TXN_RTS_TREE_WALK_SKIP_PAGES 1431 +#define WT_STAT_CONN_TXN_RTS_TREE_WALK_SKIP_PAGES 1432 /*! transaction: rollback to stable updates aborted */ -#define WT_STAT_CONN_TXN_RTS_UPD_ABORTED 1432 +#define WT_STAT_CONN_TXN_RTS_UPD_ABORTED 1433 /*! transaction: rollback to stable updates removed from history store */ -#define WT_STAT_CONN_TXN_RTS_HS_REMOVED 1433 +#define WT_STAT_CONN_TXN_RTS_HS_REMOVED 1434 /*! transaction: set timestamp calls */ -#define WT_STAT_CONN_TXN_SET_TS 1434 +#define WT_STAT_CONN_TXN_SET_TS 1435 /*! transaction: set timestamp durable calls */ -#define WT_STAT_CONN_TXN_SET_TS_DURABLE 1435 +#define WT_STAT_CONN_TXN_SET_TS_DURABLE 1436 /*! transaction: set timestamp durable updates */ -#define WT_STAT_CONN_TXN_SET_TS_DURABLE_UPD 1436 +#define WT_STAT_CONN_TXN_SET_TS_DURABLE_UPD 1437 /*! transaction: set timestamp oldest calls */ -#define WT_STAT_CONN_TXN_SET_TS_OLDEST 1437 +#define WT_STAT_CONN_TXN_SET_TS_OLDEST 1438 /*! transaction: set timestamp oldest updates */ -#define WT_STAT_CONN_TXN_SET_TS_OLDEST_UPD 1438 +#define WT_STAT_CONN_TXN_SET_TS_OLDEST_UPD 1439 /*! transaction: set timestamp stable calls */ -#define WT_STAT_CONN_TXN_SET_TS_STABLE 1439 +#define WT_STAT_CONN_TXN_SET_TS_STABLE 1440 /*! transaction: set timestamp stable updates */ -#define WT_STAT_CONN_TXN_SET_TS_STABLE_UPD 1440 +#define WT_STAT_CONN_TXN_SET_TS_STABLE_UPD 1441 /*! transaction: transaction begins */ -#define WT_STAT_CONN_TXN_BEGIN 1441 +#define WT_STAT_CONN_TXN_BEGIN 1442 /*! transaction: transaction checkpoint currently running */ -#define WT_STAT_CONN_TXN_CHECKPOINT_RUNNING 1442 +#define WT_STAT_CONN_TXN_CHECKPOINT_RUNNING 1443 /*! transaction: transaction checkpoint generation */ -#define WT_STAT_CONN_TXN_CHECKPOINT_GENERATION 1443 +#define WT_STAT_CONN_TXN_CHECKPOINT_GENERATION 1444 /*! * transaction: transaction checkpoint history store file duration * (usecs) */ -#define WT_STAT_CONN_TXN_HS_CKPT_DURATION 1444 +#define WT_STAT_CONN_TXN_HS_CKPT_DURATION 1445 /*! transaction: transaction checkpoint max time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MAX 1445 +#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MAX 1446 /*! transaction: transaction checkpoint min time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MIN 1446 +#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MIN 1447 /*! transaction: transaction checkpoint most recent time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_RECENT 1447 +#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_RECENT 1448 /*! transaction: transaction checkpoint prepare currently running */ -#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_RUNNING 1448 +#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_RUNNING 1449 /*! transaction: transaction checkpoint prepare max time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_MAX 1449 +#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_MAX 1450 /*! transaction: transaction checkpoint prepare min time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_MIN 1450 +#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_MIN 1451 /*! transaction: transaction checkpoint prepare most recent time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_RECENT 1451 +#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_RECENT 1452 /*! transaction: transaction checkpoint prepare total time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_TOTAL 1452 +#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_TOTAL 1453 /*! transaction: transaction checkpoint scrub dirty target */ -#define WT_STAT_CONN_TXN_CHECKPOINT_SCRUB_TARGET 1453 +#define WT_STAT_CONN_TXN_CHECKPOINT_SCRUB_TARGET 1454 /*! transaction: transaction checkpoint scrub time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_SCRUB_TIME 1454 +#define WT_STAT_CONN_TXN_CHECKPOINT_SCRUB_TIME 1455 /*! transaction: transaction checkpoint total time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_TOTAL 1455 +#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_TOTAL 1456 /*! transaction: transaction checkpoints */ -#define WT_STAT_CONN_TXN_CHECKPOINT 1456 +#define WT_STAT_CONN_TXN_CHECKPOINT 1457 /*! * transaction: transaction checkpoints skipped because database was * clean */ -#define WT_STAT_CONN_TXN_CHECKPOINT_SKIPPED 1457 +#define WT_STAT_CONN_TXN_CHECKPOINT_SKIPPED 1458 /*! transaction: transaction failures due to history store */ -#define WT_STAT_CONN_TXN_FAIL_CACHE 1458 +#define WT_STAT_CONN_TXN_FAIL_CACHE 1459 /*! * transaction: transaction fsync calls for checkpoint after allocating * the transaction ID */ -#define WT_STAT_CONN_TXN_CHECKPOINT_FSYNC_POST 1459 +#define WT_STAT_CONN_TXN_CHECKPOINT_FSYNC_POST 1460 /*! * transaction: transaction fsync duration for checkpoint after * allocating the transaction ID (usecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_FSYNC_POST_DURATION 1460 +#define WT_STAT_CONN_TXN_CHECKPOINT_FSYNC_POST_DURATION 1461 /*! transaction: transaction range of IDs currently pinned */ -#define WT_STAT_CONN_TXN_PINNED_RANGE 1461 +#define WT_STAT_CONN_TXN_PINNED_RANGE 1462 /*! transaction: transaction range of IDs currently pinned by a checkpoint */ -#define WT_STAT_CONN_TXN_PINNED_CHECKPOINT_RANGE 1462 +#define WT_STAT_CONN_TXN_PINNED_CHECKPOINT_RANGE 1463 /*! transaction: transaction range of timestamps currently pinned */ -#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP 1463 +#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP 1464 /*! transaction: transaction range of timestamps pinned by a checkpoint */ -#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP_CHECKPOINT 1464 +#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP_CHECKPOINT 1465 /*! * transaction: transaction range of timestamps pinned by the oldest * active read timestamp */ -#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP_READER 1465 +#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP_READER 1466 /*! * transaction: transaction range of timestamps pinned by the oldest * timestamp */ -#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP_OLDEST 1466 +#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP_OLDEST 1467 /*! transaction: transaction read timestamp of the oldest active reader */ -#define WT_STAT_CONN_TXN_TIMESTAMP_OLDEST_ACTIVE_READ 1467 +#define WT_STAT_CONN_TXN_TIMESTAMP_OLDEST_ACTIVE_READ 1468 /*! transaction: transaction sync calls */ -#define WT_STAT_CONN_TXN_SYNC 1468 +#define WT_STAT_CONN_TXN_SYNC 1469 /*! transaction: transactions committed */ -#define WT_STAT_CONN_TXN_COMMIT 1469 +#define WT_STAT_CONN_TXN_COMMIT 1470 /*! transaction: transactions rolled back */ -#define WT_STAT_CONN_TXN_ROLLBACK 1470 +#define WT_STAT_CONN_TXN_ROLLBACK 1471 /*! transaction: update conflicts */ -#define WT_STAT_CONN_TXN_UPDATE_CONFLICT 1471 +#define WT_STAT_CONN_TXN_UPDATE_CONFLICT 1472 /*! * @} diff --git a/src/third_party/wiredtiger/src/support/stat.c b/src/third_party/wiredtiger/src/support/stat.c index dc0a07d1242..cc72e3552b4 100644 --- a/src/third_party/wiredtiger/src/support/stat.c +++ b/src/third_party/wiredtiger/src/support/stat.c @@ -835,6 +835,8 @@ static const char *const __stats_connection_desc[] = { "cache: forced eviction - pages selected count", "cache: forced eviction - pages selected unable to be evicted count", "cache: forced eviction - pages selected unable to be evicted time", + "cache: forced eviction - session returned rollback error while force evicting due to being " + "oldest", "cache: hazard pointer blocked page eviction", "cache: hazard pointer check calls", "cache: hazard pointer check entries walked", "cache: hazard pointer maximum array length", "cache: history store key truncation calls that returned restart", @@ -1246,6 +1248,7 @@ __wt_stat_connection_clear_single(WT_CONNECTION_STATS *stats) stats->cache_eviction_force = 0; stats->cache_eviction_force_fail = 0; stats->cache_eviction_force_fail_time = 0; + stats->cache_eviction_force_rollback = 0; stats->cache_eviction_hazard = 0; stats->cache_hazard_checks = 0; stats->cache_hazard_walks = 0; @@ -1740,6 +1743,7 @@ __wt_stat_connection_aggregate(WT_CONNECTION_STATS **from, WT_CONNECTION_STATS * to->cache_eviction_force += WT_STAT_READ(from, cache_eviction_force); to->cache_eviction_force_fail += WT_STAT_READ(from, cache_eviction_force_fail); to->cache_eviction_force_fail_time += WT_STAT_READ(from, cache_eviction_force_fail_time); + to->cache_eviction_force_rollback += WT_STAT_READ(from, cache_eviction_force_rollback); to->cache_eviction_hazard += WT_STAT_READ(from, cache_eviction_hazard); to->cache_hazard_checks += WT_STAT_READ(from, cache_hazard_checks); to->cache_hazard_walks += WT_STAT_READ(from, cache_hazard_walks); diff --git a/src/third_party/wiredtiger/src/txn/txn.c b/src/third_party/wiredtiger/src/txn/txn.c index ebef4510f89..dd8504f7c08 100644 --- a/src/third_party/wiredtiger/src/txn/txn.c +++ b/src/third_party/wiredtiger/src/txn/txn.c @@ -2012,7 +2012,7 @@ __wt_txn_global_shutdown(WT_SESSION_IMPL *session, const char *config, const cha * eviction. */ int -__wt_txn_is_blocking(WT_SESSION_IMPL *session) +__wt_txn_is_blocking(WT_SESSION_IMPL *session, bool conservative) { WT_TXN *txn; WT_TXN_SHARED *txn_shared; @@ -2026,6 +2026,10 @@ __wt_txn_is_blocking(WT_SESSION_IMPL *session) if (F_ISSET(txn, WT_TXN_PREPARE)) return (0); + /* The checkpoint transaction shouldn't be blocking but if it is don't roll it back. */ + if (WT_SESSION_IS_CHECKPOINT(session)) + return (0); + /* * MongoDB can't (yet) handle rolling back read only transactions. For this reason, don't check * unless there's at least one update or we're configured to time out thread operations (a way @@ -2035,6 +2039,15 @@ __wt_txn_is_blocking(WT_SESSION_IMPL *session) return (0); /* + * Be less aggressive about aborting the oldest transaction in the case of trying to make + * forced eviction successful. Specifically excuse it if: + * * Hasn't done many updates + * * Is in the middle of a commit or abort + */ + if (conservative && (txn->mod_count < 10 || F_ISSET(session, WT_SESSION_RESOLVING_TXN))) + return (0); + + /* * Check if either the transaction's ID or its pinned ID is equal to the oldest transaction ID. */ return (txn_shared->id == global_oldest || txn_shared->pinned_id == global_oldest ? diff --git a/src/third_party/wiredtiger/test/suite/test_prepare08.py b/src/third_party/wiredtiger/test/suite/test_prepare08.py index d257cda112c..87e9997b110 100644 --- a/src/third_party/wiredtiger/test/suite/test_prepare08.py +++ b/src/third_party/wiredtiger/test/suite/test_prepare08.py @@ -39,7 +39,7 @@ def timestamp_str(t): # to the data store. class test_prepare08(wttest.WiredTigerTestCase): # Force a small cache. - conn_config = 'cache_size=2MB,eviction_updates_trigger=95,eviction_updates_target=80' + conn_config = 'cache_size=10MB,eviction_dirty_trigger=80,eviction_updates_trigger=80' def updates(self, ds, uri, nrows, value, ts): cursor = self.session.open_cursor(uri) diff --git a/src/third_party/wiredtiger/test/suite/test_prepare10.py b/src/third_party/wiredtiger/test/suite/test_prepare10.py index 1d7da8196bf..8a6548d9ee5 100644 --- a/src/third_party/wiredtiger/test/suite/test_prepare10.py +++ b/src/third_party/wiredtiger/test/suite/test_prepare10.py @@ -39,7 +39,7 @@ def timestamp_str(t): # to the data store. class test_prepare10(wttest.WiredTigerTestCase): # Force a small cache. - conn_config = 'cache_size=2MB,eviction_updates_trigger=95,eviction_updates_target=80' + conn_config = 'cache_size=10MB,eviction_dirty_trigger=80,eviction_updates_trigger=80' session_config = 'isolation=snapshot' def updates(self, ds, uri, nrows, value, ts): |