diff --git a/dist/stat_data.py b/dist/stat_data.py index 8befa46c6..73d28ec39 100644 --- a/dist/stat_data.py +++ b/dist/stat_data.py @@ -280,6 +280,8 @@ connection_stats = [ CacheStat('cache_eviction_target_strategy_clean', 'eviction walk target strategy only clean pages'), CacheStat('cache_eviction_target_strategy_dirty', 'eviction walk target strategy only dirty pages'), CacheStat('cache_eviction_target_strategy_both_clean_and_dirty', 'eviction walk target strategy both clean and dirty pages'), + CacheStat('cache_eviction_updates_visible', 'eviction iterated updates visible'), + CacheStat('cache_eviction_updates_not_visible', 'eviction iterated updates not visible'), CacheStat('cache_eviction_walk', 'pages walked for eviction'), CacheStat('cache_eviction_walk_from_root', 'eviction walks started from root of tree'), CacheStat('cache_eviction_walk_leaf_notfound', 'eviction server waiting for a leaf page'), diff --git a/src/evict/evict_page.c b/src/evict/evict_page.c index 7b432308b..6b49a27c1 100644 --- a/src/evict/evict_page.c +++ b/src/evict/evict_page.c @@ -545,16 +545,17 @@ __evict_review(WT_SESSION_IMPL *session, WT_REF *ref, uint32_t evict_flags, bool WT_DECL_RET; WT_PAGE *page; uint32_t flags; - bool closing, modified; + bool closing, modified, txn_started; + const char *txn_cfg[] = { + WT_CONFIG_BASE(session, WT_SESSION_begin_transaction), "isolation=snapshot", NULL}; *inmem_splitp = false; + txn_started = false; conn = S2C(session); page = ref->page; flags = WT_REC_EVICT; closing = FLD_ISSET(evict_flags, WT_EVICT_CALL_CLOSING); - if (!WT_SESSION_BTREE_SYNC(session)) - LF_SET(WT_REC_VISIBLE_ALL); /* * Fail if an internal has active children, the children must be evicted first. The test is @@ -675,9 +676,35 @@ __evict_review(WT_SESSION_IMPL *session, WT_REF *ref, uint32_t evict_flags, bool LF_SET(WT_REC_SCRUB); } + /* Acquire a snapshot if coming through eviction thread route. */ + if (F_ISSET(session, WT_SESSION_INTERNAL) && !F_ISSET(session->txn, WT_TXN_RUNNING) && + !F_ISSET(conn, + WT_CONN_CLOSING | WT_CONN_RECOVERING | WT_CONN_IN_MEMORY | WT_CONN_CLOSING_TIMESTAMP) && + !WT_IS_HS(S2BT(session))) { + /* + * We don't have a running transaction with eviction threads. Starting a new transaction + * should implicitly take a snapshot as well. + */ + WT_RET(__wt_txn_begin(session, txn_cfg)); + txn_started = true; + } else { + /* + * Only set this flag for application threads or whenever we are unable to start a + * transaction. + */ + LF_SET(WT_REC_VISIBLE_ALL); + } + WT_ASSERT(session, !txn_started || F_ISSET(session->txn, WT_TXN_HAS_SNAPSHOT)); + /* Reconcile the page. */ ret = __wt_reconcile(session, ref, NULL, flags); + /* End the transaction if we started one. */ + if (txn_started) { + WT_SESSION_TXN_SHARED(session)->pinned_id = WT_TXN_NONE; + WT_TRET(__wt_txn_commit(session, NULL)); + } + if (ret != 0) WT_STAT_CONN_INCR(session, cache_eviction_fail_in_reconciliation); diff --git a/src/include/cache.i b/src/include/cache.i index 4061d5b52..ec6e05f62 100644 --- a/src/include/cache.i +++ b/src/include/cache.i @@ -485,6 +485,13 @@ __wt_cache_eviction_check(WT_SESSION_IMPL *session, bool busy, bool readonly, bo WT_SESSION_LOCKED_TABLE)) return (0); + /* + * We can re-enter eviction code when we are trying to start a new transaction for eviction + * thread workers. + */ + if (F_ISSET(session, WT_SESSION_INTERNAL) && !WT_SESSION_IS_CHECKPOINT(session)) + return (0); + /* In memory configurations don't block when the cache is full. */ if (F_ISSET(S2C(session), WT_CONN_IN_MEMORY)) return (0); diff --git a/src/include/stat.h b/src/include/stat.h index 11b966a0e..e94d08c73 100644 --- a/src/include/stat.h +++ b/src/include/stat.h @@ -351,6 +351,8 @@ struct __wt_connection_stats { int64_t cache_eviction_get_ref_empty2; int64_t cache_eviction_aggressive_set; int64_t cache_eviction_empty_score; + int64_t cache_eviction_updates_not_visible; + int64_t cache_eviction_updates_visible; int64_t cache_eviction_walk_passes; int64_t cache_eviction_queue_empty; int64_t cache_eviction_queue_not_empty; diff --git a/src/include/wiredtiger.in b/src/include/wiredtiger.in index 977ad90cd..f8f317216 100644 --- a/src/include/wiredtiger.in +++ b/src/include/wiredtiger.in @@ -5077,1010 +5077,1014 @@ extern int wiredtiger_extension_terminate(WT_CONNECTION *connection); #define WT_STAT_CONN_CACHE_EVICTION_AGGRESSIVE_SET 1054 /*! cache: eviction empty score */ #define WT_STAT_CONN_CACHE_EVICTION_EMPTY_SCORE 1055 +/*! cache: eviction iterated updates not visible */ +#define WT_STAT_CONN_CACHE_EVICTION_UPDATES_NOT_VISIBLE 1056 +/*! cache: eviction iterated updates visible */ +#define WT_STAT_CONN_CACHE_EVICTION_UPDATES_VISIBLE 1057 /*! cache: eviction passes of a file */ -#define WT_STAT_CONN_CACHE_EVICTION_WALK_PASSES 1056 +#define WT_STAT_CONN_CACHE_EVICTION_WALK_PASSES 1058 /*! cache: eviction server candidate queue empty when topping up */ -#define WT_STAT_CONN_CACHE_EVICTION_QUEUE_EMPTY 1057 +#define WT_STAT_CONN_CACHE_EVICTION_QUEUE_EMPTY 1059 /*! cache: eviction server candidate queue not empty when topping up */ -#define WT_STAT_CONN_CACHE_EVICTION_QUEUE_NOT_EMPTY 1058 +#define WT_STAT_CONN_CACHE_EVICTION_QUEUE_NOT_EMPTY 1060 /*! cache: eviction server evicting pages */ -#define WT_STAT_CONN_CACHE_EVICTION_SERVER_EVICTING 1059 +#define WT_STAT_CONN_CACHE_EVICTION_SERVER_EVICTING 1061 /*! * cache: eviction server slept, because we did not make progress with * eviction */ -#define WT_STAT_CONN_CACHE_EVICTION_SERVER_SLEPT 1060 +#define WT_STAT_CONN_CACHE_EVICTION_SERVER_SLEPT 1062 /*! cache: eviction server unable to reach eviction goal */ -#define WT_STAT_CONN_CACHE_EVICTION_SLOW 1061 +#define WT_STAT_CONN_CACHE_EVICTION_SLOW 1063 /*! cache: eviction server waiting for a leaf page */ -#define WT_STAT_CONN_CACHE_EVICTION_WALK_LEAF_NOTFOUND 1062 +#define WT_STAT_CONN_CACHE_EVICTION_WALK_LEAF_NOTFOUND 1064 /*! cache: eviction state */ -#define WT_STAT_CONN_CACHE_EVICTION_STATE 1063 +#define WT_STAT_CONN_CACHE_EVICTION_STATE 1065 /*! cache: eviction walk target pages histogram - 0-9 */ -#define WT_STAT_CONN_CACHE_EVICTION_TARGET_PAGE_LT10 1064 +#define WT_STAT_CONN_CACHE_EVICTION_TARGET_PAGE_LT10 1066 /*! cache: eviction walk target pages histogram - 10-31 */ -#define WT_STAT_CONN_CACHE_EVICTION_TARGET_PAGE_LT32 1065 +#define WT_STAT_CONN_CACHE_EVICTION_TARGET_PAGE_LT32 1067 /*! cache: eviction walk target pages histogram - 128 and higher */ -#define WT_STAT_CONN_CACHE_EVICTION_TARGET_PAGE_GE128 1066 +#define WT_STAT_CONN_CACHE_EVICTION_TARGET_PAGE_GE128 1068 /*! cache: eviction walk target pages histogram - 32-63 */ -#define WT_STAT_CONN_CACHE_EVICTION_TARGET_PAGE_LT64 1067 +#define WT_STAT_CONN_CACHE_EVICTION_TARGET_PAGE_LT64 1069 /*! cache: eviction walk target pages histogram - 64-128 */ -#define WT_STAT_CONN_CACHE_EVICTION_TARGET_PAGE_LT128 1068 +#define WT_STAT_CONN_CACHE_EVICTION_TARGET_PAGE_LT128 1070 /*! cache: eviction walk target strategy both clean and dirty pages */ -#define WT_STAT_CONN_CACHE_EVICTION_TARGET_STRATEGY_BOTH_CLEAN_AND_DIRTY 1069 +#define WT_STAT_CONN_CACHE_EVICTION_TARGET_STRATEGY_BOTH_CLEAN_AND_DIRTY 1071 /*! cache: eviction walk target strategy only clean pages */ -#define WT_STAT_CONN_CACHE_EVICTION_TARGET_STRATEGY_CLEAN 1070 +#define WT_STAT_CONN_CACHE_EVICTION_TARGET_STRATEGY_CLEAN 1072 /*! cache: eviction walk target strategy only dirty pages */ -#define WT_STAT_CONN_CACHE_EVICTION_TARGET_STRATEGY_DIRTY 1071 +#define WT_STAT_CONN_CACHE_EVICTION_TARGET_STRATEGY_DIRTY 1073 /*! cache: eviction walks abandoned */ -#define WT_STAT_CONN_CACHE_EVICTION_WALKS_ABANDONED 1072 +#define WT_STAT_CONN_CACHE_EVICTION_WALKS_ABANDONED 1074 /*! cache: eviction walks gave up because they restarted their walk twice */ -#define WT_STAT_CONN_CACHE_EVICTION_WALKS_STOPPED 1073 +#define WT_STAT_CONN_CACHE_EVICTION_WALKS_STOPPED 1075 /*! * cache: eviction walks gave up because they saw too many pages and * found no candidates */ -#define WT_STAT_CONN_CACHE_EVICTION_WALKS_GAVE_UP_NO_TARGETS 1074 +#define WT_STAT_CONN_CACHE_EVICTION_WALKS_GAVE_UP_NO_TARGETS 1076 /*! * cache: eviction walks gave up because they saw too many pages and * found too few candidates */ -#define WT_STAT_CONN_CACHE_EVICTION_WALKS_GAVE_UP_RATIO 1075 +#define WT_STAT_CONN_CACHE_EVICTION_WALKS_GAVE_UP_RATIO 1077 /*! cache: eviction walks reached end of tree */ -#define WT_STAT_CONN_CACHE_EVICTION_WALKS_ENDED 1076 +#define WT_STAT_CONN_CACHE_EVICTION_WALKS_ENDED 1078 /*! cache: eviction walks started from root of tree */ -#define WT_STAT_CONN_CACHE_EVICTION_WALK_FROM_ROOT 1077 +#define WT_STAT_CONN_CACHE_EVICTION_WALK_FROM_ROOT 1079 /*! cache: eviction walks started from saved location in tree */ -#define WT_STAT_CONN_CACHE_EVICTION_WALK_SAVED_POS 1078 +#define WT_STAT_CONN_CACHE_EVICTION_WALK_SAVED_POS 1080 /*! cache: eviction worker thread active */ -#define WT_STAT_CONN_CACHE_EVICTION_ACTIVE_WORKERS 1079 +#define WT_STAT_CONN_CACHE_EVICTION_ACTIVE_WORKERS 1081 /*! cache: eviction worker thread created */ -#define WT_STAT_CONN_CACHE_EVICTION_WORKER_CREATED 1080 +#define WT_STAT_CONN_CACHE_EVICTION_WORKER_CREATED 1082 /*! cache: eviction worker thread evicting pages */ -#define WT_STAT_CONN_CACHE_EVICTION_WORKER_EVICTING 1081 +#define WT_STAT_CONN_CACHE_EVICTION_WORKER_EVICTING 1083 /*! cache: eviction worker thread removed */ -#define WT_STAT_CONN_CACHE_EVICTION_WORKER_REMOVED 1082 +#define WT_STAT_CONN_CACHE_EVICTION_WORKER_REMOVED 1084 /*! cache: eviction worker thread stable number */ -#define WT_STAT_CONN_CACHE_EVICTION_STABLE_STATE_WORKERS 1083 +#define WT_STAT_CONN_CACHE_EVICTION_STABLE_STATE_WORKERS 1085 /*! cache: files with active eviction walks */ -#define WT_STAT_CONN_CACHE_EVICTION_WALKS_ACTIVE 1084 +#define WT_STAT_CONN_CACHE_EVICTION_WALKS_ACTIVE 1086 /*! cache: files with new eviction walks started */ -#define WT_STAT_CONN_CACHE_EVICTION_WALKS_STARTED 1085 +#define WT_STAT_CONN_CACHE_EVICTION_WALKS_STARTED 1087 /*! cache: force re-tuning of eviction workers once in a while */ -#define WT_STAT_CONN_CACHE_EVICTION_FORCE_RETUNE 1086 +#define WT_STAT_CONN_CACHE_EVICTION_FORCE_RETUNE 1088 /*! * cache: forced eviction - history store pages failed to evict while * session has history store cursor open */ -#define WT_STAT_CONN_CACHE_EVICTION_FORCE_HS_FAIL 1087 +#define WT_STAT_CONN_CACHE_EVICTION_FORCE_HS_FAIL 1089 /*! * cache: forced eviction - history store pages selected while session * has history store cursor open */ -#define WT_STAT_CONN_CACHE_EVICTION_FORCE_HS 1088 +#define WT_STAT_CONN_CACHE_EVICTION_FORCE_HS 1090 /*! * cache: forced eviction - history store pages successfully evicted * while session has history store cursor open */ -#define WT_STAT_CONN_CACHE_EVICTION_FORCE_HS_SUCCESS 1089 +#define WT_STAT_CONN_CACHE_EVICTION_FORCE_HS_SUCCESS 1091 /*! cache: forced eviction - pages evicted that were clean count */ -#define WT_STAT_CONN_CACHE_EVICTION_FORCE_CLEAN 1090 +#define WT_STAT_CONN_CACHE_EVICTION_FORCE_CLEAN 1092 /*! cache: forced eviction - pages evicted that were clean time (usecs) */ -#define WT_STAT_CONN_CACHE_EVICTION_FORCE_CLEAN_TIME 1091 +#define WT_STAT_CONN_CACHE_EVICTION_FORCE_CLEAN_TIME 1093 /*! cache: forced eviction - pages evicted that were dirty count */ -#define WT_STAT_CONN_CACHE_EVICTION_FORCE_DIRTY 1092 +#define WT_STAT_CONN_CACHE_EVICTION_FORCE_DIRTY 1094 /*! cache: forced eviction - pages evicted that were dirty time (usecs) */ -#define WT_STAT_CONN_CACHE_EVICTION_FORCE_DIRTY_TIME 1093 +#define WT_STAT_CONN_CACHE_EVICTION_FORCE_DIRTY_TIME 1095 /*! * cache: forced eviction - pages selected because of too many deleted * items count */ -#define WT_STAT_CONN_CACHE_EVICTION_FORCE_DELETE 1094 +#define WT_STAT_CONN_CACHE_EVICTION_FORCE_DELETE 1096 /*! cache: forced eviction - pages selected count */ -#define WT_STAT_CONN_CACHE_EVICTION_FORCE 1095 +#define WT_STAT_CONN_CACHE_EVICTION_FORCE 1097 /*! cache: forced eviction - pages selected unable to be evicted count */ -#define WT_STAT_CONN_CACHE_EVICTION_FORCE_FAIL 1096 +#define WT_STAT_CONN_CACHE_EVICTION_FORCE_FAIL 1098 /*! cache: forced eviction - pages selected unable to be evicted time */ -#define WT_STAT_CONN_CACHE_EVICTION_FORCE_FAIL_TIME 1097 +#define WT_STAT_CONN_CACHE_EVICTION_FORCE_FAIL_TIME 1099 /*! * cache: forced eviction - session returned rollback error while force * evicting due to being oldest */ -#define WT_STAT_CONN_CACHE_EVICTION_FORCE_ROLLBACK 1098 +#define WT_STAT_CONN_CACHE_EVICTION_FORCE_ROLLBACK 1100 /*! cache: hazard pointer blocked page eviction */ -#define WT_STAT_CONN_CACHE_EVICTION_HAZARD 1099 +#define WT_STAT_CONN_CACHE_EVICTION_HAZARD 1101 /*! cache: hazard pointer check calls */ -#define WT_STAT_CONN_CACHE_HAZARD_CHECKS 1100 +#define WT_STAT_CONN_CACHE_HAZARD_CHECKS 1102 /*! cache: hazard pointer check entries walked */ -#define WT_STAT_CONN_CACHE_HAZARD_WALKS 1101 +#define WT_STAT_CONN_CACHE_HAZARD_WALKS 1103 /*! cache: hazard pointer maximum array length */ -#define WT_STAT_CONN_CACHE_HAZARD_MAX 1102 +#define WT_STAT_CONN_CACHE_HAZARD_MAX 1104 /*! cache: history store score */ -#define WT_STAT_CONN_CACHE_HS_SCORE 1103 +#define WT_STAT_CONN_CACHE_HS_SCORE 1105 /*! cache: history store table insert calls */ -#define WT_STAT_CONN_CACHE_HS_INSERT 1104 +#define WT_STAT_CONN_CACHE_HS_INSERT 1106 /*! cache: history store table insert calls that returned restart */ -#define WT_STAT_CONN_CACHE_HS_INSERT_RESTART 1105 +#define WT_STAT_CONN_CACHE_HS_INSERT_RESTART 1107 /*! cache: history store table max on-disk size */ -#define WT_STAT_CONN_CACHE_HS_ONDISK_MAX 1106 +#define WT_STAT_CONN_CACHE_HS_ONDISK_MAX 1108 /*! cache: history store table on-disk size */ -#define WT_STAT_CONN_CACHE_HS_ONDISK 1107 +#define WT_STAT_CONN_CACHE_HS_ONDISK 1109 /*! * cache: history store table out-of-order resolved updates that lose * their durable timestamp */ -#define WT_STAT_CONN_CACHE_HS_ORDER_LOSE_DURABLE_TIMESTAMP 1108 +#define WT_STAT_CONN_CACHE_HS_ORDER_LOSE_DURABLE_TIMESTAMP 1110 /*! * 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 1109 +#define WT_STAT_CONN_CACHE_HS_ORDER_FIXUP_MOVE 1111 /*! * cache: history store table out-of-order updates that were fixed up * during insertion */ -#define WT_STAT_CONN_CACHE_HS_ORDER_FIXUP_INSERT 1110 +#define WT_STAT_CONN_CACHE_HS_ORDER_FIXUP_INSERT 1112 /*! cache: history store table reads */ -#define WT_STAT_CONN_CACHE_HS_READ 1111 +#define WT_STAT_CONN_CACHE_HS_READ 1113 /*! cache: history store table reads missed */ -#define WT_STAT_CONN_CACHE_HS_READ_MISS 1112 +#define WT_STAT_CONN_CACHE_HS_READ_MISS 1114 /*! cache: history store table reads requiring squashed modifies */ -#define WT_STAT_CONN_CACHE_HS_READ_SQUASH 1113 +#define WT_STAT_CONN_CACHE_HS_READ_SQUASH 1115 /*! * cache: history store table truncation by rollback to stable to remove * an unstable update */ -#define WT_STAT_CONN_CACHE_HS_KEY_TRUNCATE_RTS_UNSTABLE 1114 +#define WT_STAT_CONN_CACHE_HS_KEY_TRUNCATE_RTS_UNSTABLE 1116 /*! * cache: history store table truncation by rollback to stable to remove * an update */ -#define WT_STAT_CONN_CACHE_HS_KEY_TRUNCATE_RTS 1115 +#define WT_STAT_CONN_CACHE_HS_KEY_TRUNCATE_RTS 1117 /*! * cache: history store table truncation due to mixed timestamps that * returned restart */ -#define WT_STAT_CONN_CACHE_HS_KEY_TRUNCATE_MIX_TS_RESTART 1116 +#define WT_STAT_CONN_CACHE_HS_KEY_TRUNCATE_MIX_TS_RESTART 1118 /*! cache: history store table truncation to remove an update */ -#define WT_STAT_CONN_CACHE_HS_KEY_TRUNCATE 1117 +#define WT_STAT_CONN_CACHE_HS_KEY_TRUNCATE 1119 /*! * cache: history store table truncation to remove range of updates due * to key being removed from the data page during reconciliation */ -#define WT_STAT_CONN_CACHE_HS_KEY_TRUNCATE_ONPAGE_REMOVAL 1118 +#define WT_STAT_CONN_CACHE_HS_KEY_TRUNCATE_ONPAGE_REMOVAL 1120 /*! * cache: history store table truncation to remove range of updates due * to mixed timestamps */ -#define WT_STAT_CONN_CACHE_HS_KEY_TRUNCATE_MIX_TS 1119 +#define WT_STAT_CONN_CACHE_HS_KEY_TRUNCATE_MIX_TS 1121 /*! cache: history store table writes requiring squashed modifies */ -#define WT_STAT_CONN_CACHE_HS_WRITE_SQUASH 1120 +#define WT_STAT_CONN_CACHE_HS_WRITE_SQUASH 1122 /*! cache: in-memory page passed criteria to be split */ -#define WT_STAT_CONN_CACHE_INMEM_SPLITTABLE 1121 +#define WT_STAT_CONN_CACHE_INMEM_SPLITTABLE 1123 /*! cache: in-memory page splits */ -#define WT_STAT_CONN_CACHE_INMEM_SPLIT 1122 +#define WT_STAT_CONN_CACHE_INMEM_SPLIT 1124 /*! cache: internal pages evicted */ -#define WT_STAT_CONN_CACHE_EVICTION_INTERNAL 1123 +#define WT_STAT_CONN_CACHE_EVICTION_INTERNAL 1125 /*! cache: internal pages queued for eviction */ -#define WT_STAT_CONN_CACHE_EVICTION_INTERNAL_PAGES_QUEUED 1124 +#define WT_STAT_CONN_CACHE_EVICTION_INTERNAL_PAGES_QUEUED 1126 /*! cache: internal pages seen by eviction walk */ -#define WT_STAT_CONN_CACHE_EVICTION_INTERNAL_PAGES_SEEN 1125 +#define WT_STAT_CONN_CACHE_EVICTION_INTERNAL_PAGES_SEEN 1127 /*! cache: internal pages seen by eviction walk that are already queued */ -#define WT_STAT_CONN_CACHE_EVICTION_INTERNAL_PAGES_ALREADY_QUEUED 1126 +#define WT_STAT_CONN_CACHE_EVICTION_INTERNAL_PAGES_ALREADY_QUEUED 1128 /*! cache: internal pages split during eviction */ -#define WT_STAT_CONN_CACHE_EVICTION_SPLIT_INTERNAL 1127 +#define WT_STAT_CONN_CACHE_EVICTION_SPLIT_INTERNAL 1129 /*! cache: leaf pages split during eviction */ -#define WT_STAT_CONN_CACHE_EVICTION_SPLIT_LEAF 1128 +#define WT_STAT_CONN_CACHE_EVICTION_SPLIT_LEAF 1130 /*! cache: maximum bytes configured */ -#define WT_STAT_CONN_CACHE_BYTES_MAX 1129 +#define WT_STAT_CONN_CACHE_BYTES_MAX 1131 /*! cache: maximum page size at eviction */ -#define WT_STAT_CONN_CACHE_EVICTION_MAXIMUM_PAGE_SIZE 1130 +#define WT_STAT_CONN_CACHE_EVICTION_MAXIMUM_PAGE_SIZE 1132 /*! cache: modified pages evicted */ -#define WT_STAT_CONN_CACHE_EVICTION_DIRTY 1131 +#define WT_STAT_CONN_CACHE_EVICTION_DIRTY 1133 /*! cache: modified pages evicted by application threads */ -#define WT_STAT_CONN_CACHE_EVICTION_APP_DIRTY 1132 +#define WT_STAT_CONN_CACHE_EVICTION_APP_DIRTY 1134 /*! cache: operations timed out waiting for space in cache */ -#define WT_STAT_CONN_CACHE_TIMED_OUT_OPS 1133 +#define WT_STAT_CONN_CACHE_TIMED_OUT_OPS 1135 /*! cache: overflow pages read into cache */ -#define WT_STAT_CONN_CACHE_READ_OVERFLOW 1134 +#define WT_STAT_CONN_CACHE_READ_OVERFLOW 1136 /*! cache: page split during eviction deepened the tree */ -#define WT_STAT_CONN_CACHE_EVICTION_DEEPEN 1135 +#define WT_STAT_CONN_CACHE_EVICTION_DEEPEN 1137 /*! cache: page written requiring history store records */ -#define WT_STAT_CONN_CACHE_WRITE_HS 1136 +#define WT_STAT_CONN_CACHE_WRITE_HS 1138 /*! cache: pages currently held in the cache */ -#define WT_STAT_CONN_CACHE_PAGES_INUSE 1137 +#define WT_STAT_CONN_CACHE_PAGES_INUSE 1139 /*! cache: pages evicted by application threads */ -#define WT_STAT_CONN_CACHE_EVICTION_APP 1138 +#define WT_STAT_CONN_CACHE_EVICTION_APP 1140 /*! cache: pages queued for eviction */ -#define WT_STAT_CONN_CACHE_EVICTION_PAGES_QUEUED 1139 +#define WT_STAT_CONN_CACHE_EVICTION_PAGES_QUEUED 1141 /*! cache: pages queued for eviction post lru sorting */ -#define WT_STAT_CONN_CACHE_EVICTION_PAGES_QUEUED_POST_LRU 1140 +#define WT_STAT_CONN_CACHE_EVICTION_PAGES_QUEUED_POST_LRU 1142 /*! cache: pages queued for urgent eviction */ -#define WT_STAT_CONN_CACHE_EVICTION_PAGES_QUEUED_URGENT 1141 +#define WT_STAT_CONN_CACHE_EVICTION_PAGES_QUEUED_URGENT 1143 /*! cache: pages queued for urgent eviction during walk */ -#define WT_STAT_CONN_CACHE_EVICTION_PAGES_QUEUED_OLDEST 1142 +#define WT_STAT_CONN_CACHE_EVICTION_PAGES_QUEUED_OLDEST 1144 /*! cache: pages read into cache */ -#define WT_STAT_CONN_CACHE_READ 1143 +#define WT_STAT_CONN_CACHE_READ 1145 /*! cache: pages read into cache after truncate */ -#define WT_STAT_CONN_CACHE_READ_DELETED 1144 +#define WT_STAT_CONN_CACHE_READ_DELETED 1146 /*! cache: pages read into cache after truncate in prepare state */ -#define WT_STAT_CONN_CACHE_READ_DELETED_PREPARED 1145 +#define WT_STAT_CONN_CACHE_READ_DELETED_PREPARED 1147 /*! cache: pages requested from the cache */ -#define WT_STAT_CONN_CACHE_PAGES_REQUESTED 1146 +#define WT_STAT_CONN_CACHE_PAGES_REQUESTED 1148 /*! cache: pages seen by eviction walk */ -#define WT_STAT_CONN_CACHE_EVICTION_PAGES_SEEN 1147 +#define WT_STAT_CONN_CACHE_EVICTION_PAGES_SEEN 1149 /*! cache: pages seen by eviction walk that are already queued */ -#define WT_STAT_CONN_CACHE_EVICTION_PAGES_ALREADY_QUEUED 1148 +#define WT_STAT_CONN_CACHE_EVICTION_PAGES_ALREADY_QUEUED 1150 /*! cache: pages selected for eviction unable to be evicted */ -#define WT_STAT_CONN_CACHE_EVICTION_FAIL 1149 +#define WT_STAT_CONN_CACHE_EVICTION_FAIL 1151 /*! * 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 1150 +#define WT_STAT_CONN_CACHE_EVICTION_FAIL_PARENT_HAS_OVERFLOW_ITEMS 1152 /*! * 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 1151 +#define WT_STAT_CONN_CACHE_EVICTION_FAIL_ACTIVE_CHILDREN_ON_AN_INTERNAL_PAGE 1153 /*! * cache: pages selected for eviction unable to be evicted because of * failure in reconciliation */ -#define WT_STAT_CONN_CACHE_EVICTION_FAIL_IN_RECONCILIATION 1152 +#define WT_STAT_CONN_CACHE_EVICTION_FAIL_IN_RECONCILIATION 1154 /*! cache: pages walked for eviction */ -#define WT_STAT_CONN_CACHE_EVICTION_WALK 1153 +#define WT_STAT_CONN_CACHE_EVICTION_WALK 1155 /*! cache: pages written from cache */ -#define WT_STAT_CONN_CACHE_WRITE 1154 +#define WT_STAT_CONN_CACHE_WRITE 1156 /*! cache: pages written requiring in-memory restoration */ -#define WT_STAT_CONN_CACHE_WRITE_RESTORE 1155 +#define WT_STAT_CONN_CACHE_WRITE_RESTORE 1157 /*! cache: percentage overhead */ -#define WT_STAT_CONN_CACHE_OVERHEAD 1156 +#define WT_STAT_CONN_CACHE_OVERHEAD 1158 /*! cache: tracked bytes belonging to internal pages in the cache */ -#define WT_STAT_CONN_CACHE_BYTES_INTERNAL 1157 +#define WT_STAT_CONN_CACHE_BYTES_INTERNAL 1159 /*! cache: tracked bytes belonging to leaf pages in the cache */ -#define WT_STAT_CONN_CACHE_BYTES_LEAF 1158 +#define WT_STAT_CONN_CACHE_BYTES_LEAF 1160 /*! cache: tracked dirty bytes in the cache */ -#define WT_STAT_CONN_CACHE_BYTES_DIRTY 1159 +#define WT_STAT_CONN_CACHE_BYTES_DIRTY 1161 /*! cache: tracked dirty pages in the cache */ -#define WT_STAT_CONN_CACHE_PAGES_DIRTY 1160 +#define WT_STAT_CONN_CACHE_PAGES_DIRTY 1162 /*! cache: unmodified pages evicted */ -#define WT_STAT_CONN_CACHE_EVICTION_CLEAN 1161 +#define WT_STAT_CONN_CACHE_EVICTION_CLEAN 1163 /*! capacity: background fsync file handles considered */ -#define WT_STAT_CONN_FSYNC_ALL_FH_TOTAL 1162 +#define WT_STAT_CONN_FSYNC_ALL_FH_TOTAL 1164 /*! capacity: background fsync file handles synced */ -#define WT_STAT_CONN_FSYNC_ALL_FH 1163 +#define WT_STAT_CONN_FSYNC_ALL_FH 1165 /*! capacity: background fsync time (msecs) */ -#define WT_STAT_CONN_FSYNC_ALL_TIME 1164 +#define WT_STAT_CONN_FSYNC_ALL_TIME 1166 /*! capacity: bytes read */ -#define WT_STAT_CONN_CAPACITY_BYTES_READ 1165 +#define WT_STAT_CONN_CAPACITY_BYTES_READ 1167 /*! capacity: bytes written for checkpoint */ -#define WT_STAT_CONN_CAPACITY_BYTES_CKPT 1166 +#define WT_STAT_CONN_CAPACITY_BYTES_CKPT 1168 /*! capacity: bytes written for eviction */ -#define WT_STAT_CONN_CAPACITY_BYTES_EVICT 1167 +#define WT_STAT_CONN_CAPACITY_BYTES_EVICT 1169 /*! capacity: bytes written for log */ -#define WT_STAT_CONN_CAPACITY_BYTES_LOG 1168 +#define WT_STAT_CONN_CAPACITY_BYTES_LOG 1170 /*! capacity: bytes written total */ -#define WT_STAT_CONN_CAPACITY_BYTES_WRITTEN 1169 +#define WT_STAT_CONN_CAPACITY_BYTES_WRITTEN 1171 /*! capacity: threshold to call fsync */ -#define WT_STAT_CONN_CAPACITY_THRESHOLD 1170 +#define WT_STAT_CONN_CAPACITY_THRESHOLD 1172 /*! capacity: time waiting due to total capacity (usecs) */ -#define WT_STAT_CONN_CAPACITY_TIME_TOTAL 1171 +#define WT_STAT_CONN_CAPACITY_TIME_TOTAL 1173 /*! capacity: time waiting during checkpoint (usecs) */ -#define WT_STAT_CONN_CAPACITY_TIME_CKPT 1172 +#define WT_STAT_CONN_CAPACITY_TIME_CKPT 1174 /*! capacity: time waiting during eviction (usecs) */ -#define WT_STAT_CONN_CAPACITY_TIME_EVICT 1173 +#define WT_STAT_CONN_CAPACITY_TIME_EVICT 1175 /*! capacity: time waiting during logging (usecs) */ -#define WT_STAT_CONN_CAPACITY_TIME_LOG 1174 +#define WT_STAT_CONN_CAPACITY_TIME_LOG 1176 /*! capacity: time waiting during read (usecs) */ -#define WT_STAT_CONN_CAPACITY_TIME_READ 1175 +#define WT_STAT_CONN_CAPACITY_TIME_READ 1177 /*! checkpoint-cleanup: pages added for eviction */ -#define WT_STAT_CONN_CC_PAGES_EVICT 1176 +#define WT_STAT_CONN_CC_PAGES_EVICT 1178 /*! checkpoint-cleanup: pages removed */ -#define WT_STAT_CONN_CC_PAGES_REMOVED 1177 +#define WT_STAT_CONN_CC_PAGES_REMOVED 1179 /*! checkpoint-cleanup: pages skipped during tree walk */ -#define WT_STAT_CONN_CC_PAGES_WALK_SKIPPED 1178 +#define WT_STAT_CONN_CC_PAGES_WALK_SKIPPED 1180 /*! checkpoint-cleanup: pages visited */ -#define WT_STAT_CONN_CC_PAGES_VISITED 1179 +#define WT_STAT_CONN_CC_PAGES_VISITED 1181 /*! connection: auto adjusting condition resets */ -#define WT_STAT_CONN_COND_AUTO_WAIT_RESET 1180 +#define WT_STAT_CONN_COND_AUTO_WAIT_RESET 1182 /*! connection: auto adjusting condition wait calls */ -#define WT_STAT_CONN_COND_AUTO_WAIT 1181 +#define WT_STAT_CONN_COND_AUTO_WAIT 1183 /*! * connection: auto adjusting condition wait raced to update timeout and * skipped updating */ -#define WT_STAT_CONN_COND_AUTO_WAIT_SKIPPED 1182 +#define WT_STAT_CONN_COND_AUTO_WAIT_SKIPPED 1184 /*! connection: detected system time went backwards */ -#define WT_STAT_CONN_TIME_TRAVEL 1183 +#define WT_STAT_CONN_TIME_TRAVEL 1185 /*! connection: files currently open */ -#define WT_STAT_CONN_FILE_OPEN 1184 +#define WT_STAT_CONN_FILE_OPEN 1186 /*! connection: memory allocations */ -#define WT_STAT_CONN_MEMORY_ALLOCATION 1185 +#define WT_STAT_CONN_MEMORY_ALLOCATION 1187 /*! connection: memory frees */ -#define WT_STAT_CONN_MEMORY_FREE 1186 +#define WT_STAT_CONN_MEMORY_FREE 1188 /*! connection: memory re-allocations */ -#define WT_STAT_CONN_MEMORY_GROW 1187 +#define WT_STAT_CONN_MEMORY_GROW 1189 /*! connection: pthread mutex condition wait calls */ -#define WT_STAT_CONN_COND_WAIT 1188 +#define WT_STAT_CONN_COND_WAIT 1190 /*! connection: pthread mutex shared lock read-lock calls */ -#define WT_STAT_CONN_RWLOCK_READ 1189 +#define WT_STAT_CONN_RWLOCK_READ 1191 /*! connection: pthread mutex shared lock write-lock calls */ -#define WT_STAT_CONN_RWLOCK_WRITE 1190 +#define WT_STAT_CONN_RWLOCK_WRITE 1192 /*! connection: total fsync I/Os */ -#define WT_STAT_CONN_FSYNC_IO 1191 +#define WT_STAT_CONN_FSYNC_IO 1193 /*! connection: total read I/Os */ -#define WT_STAT_CONN_READ_IO 1192 +#define WT_STAT_CONN_READ_IO 1194 /*! connection: total write I/Os */ -#define WT_STAT_CONN_WRITE_IO 1193 +#define WT_STAT_CONN_WRITE_IO 1195 /*! cursor: Total number of entries skipped by cursor next calls */ -#define WT_STAT_CONN_CURSOR_NEXT_SKIP_TOTAL 1194 +#define WT_STAT_CONN_CURSOR_NEXT_SKIP_TOTAL 1196 /*! cursor: Total number of entries skipped by cursor prev calls */ -#define WT_STAT_CONN_CURSOR_PREV_SKIP_TOTAL 1195 +#define WT_STAT_CONN_CURSOR_PREV_SKIP_TOTAL 1197 /*! * cursor: Total number of entries skipped to position the history store * cursor */ -#define WT_STAT_CONN_CURSOR_SKIP_HS_CUR_POSITION 1196 +#define WT_STAT_CONN_CURSOR_SKIP_HS_CUR_POSITION 1198 /*! cursor: cached cursor count */ -#define WT_STAT_CONN_CURSOR_CACHED_COUNT 1197 +#define WT_STAT_CONN_CURSOR_CACHED_COUNT 1199 /*! cursor: cursor bulk loaded cursor insert calls */ -#define WT_STAT_CONN_CURSOR_INSERT_BULK 1198 +#define WT_STAT_CONN_CURSOR_INSERT_BULK 1200 /*! cursor: cursor close calls that result in cache */ -#define WT_STAT_CONN_CURSOR_CACHE 1199 +#define WT_STAT_CONN_CURSOR_CACHE 1201 /*! cursor: cursor create calls */ -#define WT_STAT_CONN_CURSOR_CREATE 1200 +#define WT_STAT_CONN_CURSOR_CREATE 1202 /*! cursor: cursor insert calls */ -#define WT_STAT_CONN_CURSOR_INSERT 1201 +#define WT_STAT_CONN_CURSOR_INSERT 1203 /*! cursor: cursor insert key and value bytes */ -#define WT_STAT_CONN_CURSOR_INSERT_BYTES 1202 +#define WT_STAT_CONN_CURSOR_INSERT_BYTES 1204 /*! cursor: cursor modify calls */ -#define WT_STAT_CONN_CURSOR_MODIFY 1203 +#define WT_STAT_CONN_CURSOR_MODIFY 1205 /*! cursor: cursor modify key and value bytes affected */ -#define WT_STAT_CONN_CURSOR_MODIFY_BYTES 1204 +#define WT_STAT_CONN_CURSOR_MODIFY_BYTES 1206 /*! cursor: cursor modify value bytes modified */ -#define WT_STAT_CONN_CURSOR_MODIFY_BYTES_TOUCH 1205 +#define WT_STAT_CONN_CURSOR_MODIFY_BYTES_TOUCH 1207 /*! cursor: cursor next calls */ -#define WT_STAT_CONN_CURSOR_NEXT 1206 +#define WT_STAT_CONN_CURSOR_NEXT 1208 /*! * cursor: cursor next calls that skip greater than or equal to 100 * entries */ -#define WT_STAT_CONN_CURSOR_NEXT_SKIP_GE_100 1207 +#define WT_STAT_CONN_CURSOR_NEXT_SKIP_GE_100 1209 /*! cursor: cursor next calls that skip less than 100 entries */ -#define WT_STAT_CONN_CURSOR_NEXT_SKIP_LT_100 1208 +#define WT_STAT_CONN_CURSOR_NEXT_SKIP_LT_100 1210 /*! cursor: cursor operation restarted */ -#define WT_STAT_CONN_CURSOR_RESTART 1209 +#define WT_STAT_CONN_CURSOR_RESTART 1211 /*! cursor: cursor prev calls */ -#define WT_STAT_CONN_CURSOR_PREV 1210 +#define WT_STAT_CONN_CURSOR_PREV 1212 /*! * cursor: cursor prev calls that skip due to a globally visible history * store tombstone */ -#define WT_STAT_CONN_CURSOR_PREV_HS_TOMBSTONE 1211 +#define WT_STAT_CONN_CURSOR_PREV_HS_TOMBSTONE 1213 /*! * 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 1212 +#define WT_STAT_CONN_CURSOR_PREV_HS_TOMBSTONE_RTS 1214 /*! * cursor: cursor prev calls that skip greater than or equal to 100 * entries */ -#define WT_STAT_CONN_CURSOR_PREV_SKIP_GE_100 1213 +#define WT_STAT_CONN_CURSOR_PREV_SKIP_GE_100 1215 /*! cursor: cursor prev calls that skip less than 100 entries */ -#define WT_STAT_CONN_CURSOR_PREV_SKIP_LT_100 1214 +#define WT_STAT_CONN_CURSOR_PREV_SKIP_LT_100 1216 /*! cursor: cursor remove calls */ -#define WT_STAT_CONN_CURSOR_REMOVE 1215 +#define WT_STAT_CONN_CURSOR_REMOVE 1217 /*! cursor: cursor remove key bytes removed */ -#define WT_STAT_CONN_CURSOR_REMOVE_BYTES 1216 +#define WT_STAT_CONN_CURSOR_REMOVE_BYTES 1218 /*! cursor: cursor reserve calls */ -#define WT_STAT_CONN_CURSOR_RESERVE 1217 +#define WT_STAT_CONN_CURSOR_RESERVE 1219 /*! cursor: cursor reset calls */ -#define WT_STAT_CONN_CURSOR_RESET 1218 +#define WT_STAT_CONN_CURSOR_RESET 1220 /*! cursor: cursor search calls */ -#define WT_STAT_CONN_CURSOR_SEARCH 1219 +#define WT_STAT_CONN_CURSOR_SEARCH 1221 /*! cursor: cursor search history store calls */ -#define WT_STAT_CONN_CURSOR_SEARCH_HS 1220 +#define WT_STAT_CONN_CURSOR_SEARCH_HS 1222 /*! cursor: cursor search near calls */ -#define WT_STAT_CONN_CURSOR_SEARCH_NEAR 1221 +#define WT_STAT_CONN_CURSOR_SEARCH_NEAR 1223 /*! cursor: cursor sweep buckets */ -#define WT_STAT_CONN_CURSOR_SWEEP_BUCKETS 1222 +#define WT_STAT_CONN_CURSOR_SWEEP_BUCKETS 1224 /*! cursor: cursor sweep cursors closed */ -#define WT_STAT_CONN_CURSOR_SWEEP_CLOSED 1223 +#define WT_STAT_CONN_CURSOR_SWEEP_CLOSED 1225 /*! cursor: cursor sweep cursors examined */ -#define WT_STAT_CONN_CURSOR_SWEEP_EXAMINED 1224 +#define WT_STAT_CONN_CURSOR_SWEEP_EXAMINED 1226 /*! cursor: cursor sweeps */ -#define WT_STAT_CONN_CURSOR_SWEEP 1225 +#define WT_STAT_CONN_CURSOR_SWEEP 1227 /*! cursor: cursor truncate calls */ -#define WT_STAT_CONN_CURSOR_TRUNCATE 1226 +#define WT_STAT_CONN_CURSOR_TRUNCATE 1228 /*! cursor: cursor update calls */ -#define WT_STAT_CONN_CURSOR_UPDATE 1227 +#define WT_STAT_CONN_CURSOR_UPDATE 1229 /*! cursor: cursor update key and value bytes */ -#define WT_STAT_CONN_CURSOR_UPDATE_BYTES 1228 +#define WT_STAT_CONN_CURSOR_UPDATE_BYTES 1230 /*! cursor: cursor update value size change */ -#define WT_STAT_CONN_CURSOR_UPDATE_BYTES_CHANGED 1229 +#define WT_STAT_CONN_CURSOR_UPDATE_BYTES_CHANGED 1231 /*! cursor: cursors reused from cache */ -#define WT_STAT_CONN_CURSOR_REOPEN 1230 +#define WT_STAT_CONN_CURSOR_REOPEN 1232 /*! cursor: open cursor count */ -#define WT_STAT_CONN_CURSOR_OPEN_COUNT 1231 +#define WT_STAT_CONN_CURSOR_OPEN_COUNT 1233 /*! data-handle: connection data handle size */ -#define WT_STAT_CONN_DH_CONN_HANDLE_SIZE 1232 +#define WT_STAT_CONN_DH_CONN_HANDLE_SIZE 1234 /*! data-handle: connection data handles currently active */ -#define WT_STAT_CONN_DH_CONN_HANDLE_COUNT 1233 +#define WT_STAT_CONN_DH_CONN_HANDLE_COUNT 1235 /*! data-handle: connection sweep candidate became referenced */ -#define WT_STAT_CONN_DH_SWEEP_REF 1234 +#define WT_STAT_CONN_DH_SWEEP_REF 1236 /*! data-handle: connection sweep dhandles closed */ -#define WT_STAT_CONN_DH_SWEEP_CLOSE 1235 +#define WT_STAT_CONN_DH_SWEEP_CLOSE 1237 /*! data-handle: connection sweep dhandles removed from hash list */ -#define WT_STAT_CONN_DH_SWEEP_REMOVE 1236 +#define WT_STAT_CONN_DH_SWEEP_REMOVE 1238 /*! data-handle: connection sweep time-of-death sets */ -#define WT_STAT_CONN_DH_SWEEP_TOD 1237 +#define WT_STAT_CONN_DH_SWEEP_TOD 1239 /*! data-handle: connection sweeps */ -#define WT_STAT_CONN_DH_SWEEPS 1238 +#define WT_STAT_CONN_DH_SWEEPS 1240 /*! data-handle: session dhandles swept */ -#define WT_STAT_CONN_DH_SESSION_HANDLES 1239 +#define WT_STAT_CONN_DH_SESSION_HANDLES 1241 /*! data-handle: session sweep attempts */ -#define WT_STAT_CONN_DH_SESSION_SWEEPS 1240 +#define WT_STAT_CONN_DH_SESSION_SWEEPS 1242 /*! lock: checkpoint lock acquisitions */ -#define WT_STAT_CONN_LOCK_CHECKPOINT_COUNT 1241 +#define WT_STAT_CONN_LOCK_CHECKPOINT_COUNT 1243 /*! lock: checkpoint lock application thread wait time (usecs) */ -#define WT_STAT_CONN_LOCK_CHECKPOINT_WAIT_APPLICATION 1242 +#define WT_STAT_CONN_LOCK_CHECKPOINT_WAIT_APPLICATION 1244 /*! lock: checkpoint lock internal thread wait time (usecs) */ -#define WT_STAT_CONN_LOCK_CHECKPOINT_WAIT_INTERNAL 1243 +#define WT_STAT_CONN_LOCK_CHECKPOINT_WAIT_INTERNAL 1245 /*! lock: dhandle lock application thread time waiting (usecs) */ -#define WT_STAT_CONN_LOCK_DHANDLE_WAIT_APPLICATION 1244 +#define WT_STAT_CONN_LOCK_DHANDLE_WAIT_APPLICATION 1246 /*! lock: dhandle lock internal thread time waiting (usecs) */ -#define WT_STAT_CONN_LOCK_DHANDLE_WAIT_INTERNAL 1245 +#define WT_STAT_CONN_LOCK_DHANDLE_WAIT_INTERNAL 1247 /*! lock: dhandle read lock acquisitions */ -#define WT_STAT_CONN_LOCK_DHANDLE_READ_COUNT 1246 +#define WT_STAT_CONN_LOCK_DHANDLE_READ_COUNT 1248 /*! lock: dhandle write lock acquisitions */ -#define WT_STAT_CONN_LOCK_DHANDLE_WRITE_COUNT 1247 +#define WT_STAT_CONN_LOCK_DHANDLE_WRITE_COUNT 1249 /*! * lock: durable timestamp queue lock application thread time waiting * (usecs) */ -#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_WAIT_APPLICATION 1248 +#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_WAIT_APPLICATION 1250 /*! * lock: durable timestamp queue lock internal thread time waiting * (usecs) */ -#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_WAIT_INTERNAL 1249 +#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_WAIT_INTERNAL 1251 /*! lock: durable timestamp queue read lock acquisitions */ -#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_READ_COUNT 1250 +#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_READ_COUNT 1252 /*! lock: durable timestamp queue write lock acquisitions */ -#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_WRITE_COUNT 1251 +#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_WRITE_COUNT 1253 /*! lock: metadata lock acquisitions */ -#define WT_STAT_CONN_LOCK_METADATA_COUNT 1252 +#define WT_STAT_CONN_LOCK_METADATA_COUNT 1254 /*! lock: metadata lock application thread wait time (usecs) */ -#define WT_STAT_CONN_LOCK_METADATA_WAIT_APPLICATION 1253 +#define WT_STAT_CONN_LOCK_METADATA_WAIT_APPLICATION 1255 /*! lock: metadata lock internal thread wait time (usecs) */ -#define WT_STAT_CONN_LOCK_METADATA_WAIT_INTERNAL 1254 +#define WT_STAT_CONN_LOCK_METADATA_WAIT_INTERNAL 1256 /*! * lock: read timestamp queue lock application thread time waiting * (usecs) */ -#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_WAIT_APPLICATION 1255 +#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_WAIT_APPLICATION 1257 /*! lock: read timestamp queue lock internal thread time waiting (usecs) */ -#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_WAIT_INTERNAL 1256 +#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_WAIT_INTERNAL 1258 /*! lock: read timestamp queue read lock acquisitions */ -#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_READ_COUNT 1257 +#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_READ_COUNT 1259 /*! lock: read timestamp queue write lock acquisitions */ -#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_WRITE_COUNT 1258 +#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_WRITE_COUNT 1260 /*! lock: schema lock acquisitions */ -#define WT_STAT_CONN_LOCK_SCHEMA_COUNT 1259 +#define WT_STAT_CONN_LOCK_SCHEMA_COUNT 1261 /*! lock: schema lock application thread wait time (usecs) */ -#define WT_STAT_CONN_LOCK_SCHEMA_WAIT_APPLICATION 1260 +#define WT_STAT_CONN_LOCK_SCHEMA_WAIT_APPLICATION 1262 /*! lock: schema lock internal thread wait time (usecs) */ -#define WT_STAT_CONN_LOCK_SCHEMA_WAIT_INTERNAL 1261 +#define WT_STAT_CONN_LOCK_SCHEMA_WAIT_INTERNAL 1263 /*! * lock: table lock application thread time waiting for the table lock * (usecs) */ -#define WT_STAT_CONN_LOCK_TABLE_WAIT_APPLICATION 1262 +#define WT_STAT_CONN_LOCK_TABLE_WAIT_APPLICATION 1264 /*! * lock: table lock internal thread time waiting for the table lock * (usecs) */ -#define WT_STAT_CONN_LOCK_TABLE_WAIT_INTERNAL 1263 +#define WT_STAT_CONN_LOCK_TABLE_WAIT_INTERNAL 1265 /*! lock: table read lock acquisitions */ -#define WT_STAT_CONN_LOCK_TABLE_READ_COUNT 1264 +#define WT_STAT_CONN_LOCK_TABLE_READ_COUNT 1266 /*! lock: table write lock acquisitions */ -#define WT_STAT_CONN_LOCK_TABLE_WRITE_COUNT 1265 +#define WT_STAT_CONN_LOCK_TABLE_WRITE_COUNT 1267 /*! lock: txn global lock application thread time waiting (usecs) */ -#define WT_STAT_CONN_LOCK_TXN_GLOBAL_WAIT_APPLICATION 1266 +#define WT_STAT_CONN_LOCK_TXN_GLOBAL_WAIT_APPLICATION 1268 /*! lock: txn global lock internal thread time waiting (usecs) */ -#define WT_STAT_CONN_LOCK_TXN_GLOBAL_WAIT_INTERNAL 1267 +#define WT_STAT_CONN_LOCK_TXN_GLOBAL_WAIT_INTERNAL 1269 /*! lock: txn global read lock acquisitions */ -#define WT_STAT_CONN_LOCK_TXN_GLOBAL_READ_COUNT 1268 +#define WT_STAT_CONN_LOCK_TXN_GLOBAL_READ_COUNT 1270 /*! lock: txn global write lock acquisitions */ -#define WT_STAT_CONN_LOCK_TXN_GLOBAL_WRITE_COUNT 1269 +#define WT_STAT_CONN_LOCK_TXN_GLOBAL_WRITE_COUNT 1271 /*! log: busy returns attempting to switch slots */ -#define WT_STAT_CONN_LOG_SLOT_SWITCH_BUSY 1270 +#define WT_STAT_CONN_LOG_SLOT_SWITCH_BUSY 1272 /*! log: force archive time sleeping (usecs) */ -#define WT_STAT_CONN_LOG_FORCE_ARCHIVE_SLEEP 1271 +#define WT_STAT_CONN_LOG_FORCE_ARCHIVE_SLEEP 1273 /*! log: log bytes of payload data */ -#define WT_STAT_CONN_LOG_BYTES_PAYLOAD 1272 +#define WT_STAT_CONN_LOG_BYTES_PAYLOAD 1274 /*! log: log bytes written */ -#define WT_STAT_CONN_LOG_BYTES_WRITTEN 1273 +#define WT_STAT_CONN_LOG_BYTES_WRITTEN 1275 /*! log: log files manually zero-filled */ -#define WT_STAT_CONN_LOG_ZERO_FILLS 1274 +#define WT_STAT_CONN_LOG_ZERO_FILLS 1276 /*! log: log flush operations */ -#define WT_STAT_CONN_LOG_FLUSH 1275 +#define WT_STAT_CONN_LOG_FLUSH 1277 /*! log: log force write operations */ -#define WT_STAT_CONN_LOG_FORCE_WRITE 1276 +#define WT_STAT_CONN_LOG_FORCE_WRITE 1278 /*! log: log force write operations skipped */ -#define WT_STAT_CONN_LOG_FORCE_WRITE_SKIP 1277 +#define WT_STAT_CONN_LOG_FORCE_WRITE_SKIP 1279 /*! log: log records compressed */ -#define WT_STAT_CONN_LOG_COMPRESS_WRITES 1278 +#define WT_STAT_CONN_LOG_COMPRESS_WRITES 1280 /*! log: log records not compressed */ -#define WT_STAT_CONN_LOG_COMPRESS_WRITE_FAILS 1279 +#define WT_STAT_CONN_LOG_COMPRESS_WRITE_FAILS 1281 /*! log: log records too small to compress */ -#define WT_STAT_CONN_LOG_COMPRESS_SMALL 1280 +#define WT_STAT_CONN_LOG_COMPRESS_SMALL 1282 /*! log: log release advances write LSN */ -#define WT_STAT_CONN_LOG_RELEASE_WRITE_LSN 1281 +#define WT_STAT_CONN_LOG_RELEASE_WRITE_LSN 1283 /*! log: log scan operations */ -#define WT_STAT_CONN_LOG_SCANS 1282 +#define WT_STAT_CONN_LOG_SCANS 1284 /*! log: log scan records requiring two reads */ -#define WT_STAT_CONN_LOG_SCAN_REREADS 1283 +#define WT_STAT_CONN_LOG_SCAN_REREADS 1285 /*! log: log server thread advances write LSN */ -#define WT_STAT_CONN_LOG_WRITE_LSN 1284 +#define WT_STAT_CONN_LOG_WRITE_LSN 1286 /*! log: log server thread write LSN walk skipped */ -#define WT_STAT_CONN_LOG_WRITE_LSN_SKIP 1285 +#define WT_STAT_CONN_LOG_WRITE_LSN_SKIP 1287 /*! log: log sync operations */ -#define WT_STAT_CONN_LOG_SYNC 1286 +#define WT_STAT_CONN_LOG_SYNC 1288 /*! log: log sync time duration (usecs) */ -#define WT_STAT_CONN_LOG_SYNC_DURATION 1287 +#define WT_STAT_CONN_LOG_SYNC_DURATION 1289 /*! log: log sync_dir operations */ -#define WT_STAT_CONN_LOG_SYNC_DIR 1288 +#define WT_STAT_CONN_LOG_SYNC_DIR 1290 /*! log: log sync_dir time duration (usecs) */ -#define WT_STAT_CONN_LOG_SYNC_DIR_DURATION 1289 +#define WT_STAT_CONN_LOG_SYNC_DIR_DURATION 1291 /*! log: log write operations */ -#define WT_STAT_CONN_LOG_WRITES 1290 +#define WT_STAT_CONN_LOG_WRITES 1292 /*! log: logging bytes consolidated */ -#define WT_STAT_CONN_LOG_SLOT_CONSOLIDATED 1291 +#define WT_STAT_CONN_LOG_SLOT_CONSOLIDATED 1293 /*! log: maximum log file size */ -#define WT_STAT_CONN_LOG_MAX_FILESIZE 1292 +#define WT_STAT_CONN_LOG_MAX_FILESIZE 1294 /*! log: number of pre-allocated log files to create */ -#define WT_STAT_CONN_LOG_PREALLOC_MAX 1293 +#define WT_STAT_CONN_LOG_PREALLOC_MAX 1295 /*! log: pre-allocated log files not ready and missed */ -#define WT_STAT_CONN_LOG_PREALLOC_MISSED 1294 +#define WT_STAT_CONN_LOG_PREALLOC_MISSED 1296 /*! log: pre-allocated log files prepared */ -#define WT_STAT_CONN_LOG_PREALLOC_FILES 1295 +#define WT_STAT_CONN_LOG_PREALLOC_FILES 1297 /*! log: pre-allocated log files used */ -#define WT_STAT_CONN_LOG_PREALLOC_USED 1296 +#define WT_STAT_CONN_LOG_PREALLOC_USED 1298 /*! log: records processed by log scan */ -#define WT_STAT_CONN_LOG_SCAN_RECORDS 1297 +#define WT_STAT_CONN_LOG_SCAN_RECORDS 1299 /*! log: slot close lost race */ -#define WT_STAT_CONN_LOG_SLOT_CLOSE_RACE 1298 +#define WT_STAT_CONN_LOG_SLOT_CLOSE_RACE 1300 /*! log: slot close unbuffered waits */ -#define WT_STAT_CONN_LOG_SLOT_CLOSE_UNBUF 1299 +#define WT_STAT_CONN_LOG_SLOT_CLOSE_UNBUF 1301 /*! log: slot closures */ -#define WT_STAT_CONN_LOG_SLOT_CLOSES 1300 +#define WT_STAT_CONN_LOG_SLOT_CLOSES 1302 /*! log: slot join atomic update races */ -#define WT_STAT_CONN_LOG_SLOT_RACES 1301 +#define WT_STAT_CONN_LOG_SLOT_RACES 1303 /*! log: slot join calls atomic updates raced */ -#define WT_STAT_CONN_LOG_SLOT_YIELD_RACE 1302 +#define WT_STAT_CONN_LOG_SLOT_YIELD_RACE 1304 /*! log: slot join calls did not yield */ -#define WT_STAT_CONN_LOG_SLOT_IMMEDIATE 1303 +#define WT_STAT_CONN_LOG_SLOT_IMMEDIATE 1305 /*! log: slot join calls found active slot closed */ -#define WT_STAT_CONN_LOG_SLOT_YIELD_CLOSE 1304 +#define WT_STAT_CONN_LOG_SLOT_YIELD_CLOSE 1306 /*! log: slot join calls slept */ -#define WT_STAT_CONN_LOG_SLOT_YIELD_SLEEP 1305 +#define WT_STAT_CONN_LOG_SLOT_YIELD_SLEEP 1307 /*! log: slot join calls yielded */ -#define WT_STAT_CONN_LOG_SLOT_YIELD 1306 +#define WT_STAT_CONN_LOG_SLOT_YIELD 1308 /*! log: slot join found active slot closed */ -#define WT_STAT_CONN_LOG_SLOT_ACTIVE_CLOSED 1307 +#define WT_STAT_CONN_LOG_SLOT_ACTIVE_CLOSED 1309 /*! log: slot joins yield time (usecs) */ -#define WT_STAT_CONN_LOG_SLOT_YIELD_DURATION 1308 +#define WT_STAT_CONN_LOG_SLOT_YIELD_DURATION 1310 /*! log: slot transitions unable to find free slot */ -#define WT_STAT_CONN_LOG_SLOT_NO_FREE_SLOTS 1309 +#define WT_STAT_CONN_LOG_SLOT_NO_FREE_SLOTS 1311 /*! log: slot unbuffered writes */ -#define WT_STAT_CONN_LOG_SLOT_UNBUFFERED 1310 +#define WT_STAT_CONN_LOG_SLOT_UNBUFFERED 1312 /*! log: total in-memory size of compressed records */ -#define WT_STAT_CONN_LOG_COMPRESS_MEM 1311 +#define WT_STAT_CONN_LOG_COMPRESS_MEM 1313 /*! log: total log buffer size */ -#define WT_STAT_CONN_LOG_BUFFER_SIZE 1312 +#define WT_STAT_CONN_LOG_BUFFER_SIZE 1314 /*! log: total size of compressed records */ -#define WT_STAT_CONN_LOG_COMPRESS_LEN 1313 +#define WT_STAT_CONN_LOG_COMPRESS_LEN 1315 /*! log: written slots coalesced */ -#define WT_STAT_CONN_LOG_SLOT_COALESCED 1314 +#define WT_STAT_CONN_LOG_SLOT_COALESCED 1316 /*! log: yields waiting for previous log file close */ -#define WT_STAT_CONN_LOG_CLOSE_YIELDS 1315 +#define WT_STAT_CONN_LOG_CLOSE_YIELDS 1317 /*! perf: file system read latency histogram (bucket 1) - 10-49ms */ -#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT50 1316 +#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT50 1318 /*! perf: file system read latency histogram (bucket 2) - 50-99ms */ -#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT100 1317 +#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT100 1319 /*! perf: file system read latency histogram (bucket 3) - 100-249ms */ -#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT250 1318 +#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT250 1320 /*! perf: file system read latency histogram (bucket 4) - 250-499ms */ -#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT500 1319 +#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT500 1321 /*! perf: file system read latency histogram (bucket 5) - 500-999ms */ -#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT1000 1320 +#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT1000 1322 /*! perf: file system read latency histogram (bucket 6) - 1000ms+ */ -#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_GT1000 1321 +#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_GT1000 1323 /*! perf: file system write latency histogram (bucket 1) - 10-49ms */ -#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT50 1322 +#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT50 1324 /*! perf: file system write latency histogram (bucket 2) - 50-99ms */ -#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT100 1323 +#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT100 1325 /*! perf: file system write latency histogram (bucket 3) - 100-249ms */ -#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT250 1324 +#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT250 1326 /*! perf: file system write latency histogram (bucket 4) - 250-499ms */ -#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT500 1325 +#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT500 1327 /*! perf: file system write latency histogram (bucket 5) - 500-999ms */ -#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT1000 1326 +#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT1000 1328 /*! perf: file system write latency histogram (bucket 6) - 1000ms+ */ -#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_GT1000 1327 +#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_GT1000 1329 /*! perf: operation read latency histogram (bucket 1) - 100-249us */ -#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT250 1328 +#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT250 1330 /*! perf: operation read latency histogram (bucket 2) - 250-499us */ -#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT500 1329 +#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT500 1331 /*! perf: operation read latency histogram (bucket 3) - 500-999us */ -#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT1000 1330 +#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT1000 1332 /*! perf: operation read latency histogram (bucket 4) - 1000-9999us */ -#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT10000 1331 +#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT10000 1333 /*! perf: operation read latency histogram (bucket 5) - 10000us+ */ -#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_GT10000 1332 +#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_GT10000 1334 /*! perf: operation write latency histogram (bucket 1) - 100-249us */ -#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT250 1333 +#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT250 1335 /*! perf: operation write latency histogram (bucket 2) - 250-499us */ -#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT500 1334 +#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT500 1336 /*! perf: operation write latency histogram (bucket 3) - 500-999us */ -#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT1000 1335 +#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT1000 1337 /*! perf: operation write latency histogram (bucket 4) - 1000-9999us */ -#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT10000 1336 +#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT10000 1338 /*! perf: operation write latency histogram (bucket 5) - 10000us+ */ -#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_GT10000 1337 +#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_GT10000 1339 /*! reconciliation: approximate byte size of timestamps in pages written */ -#define WT_STAT_CONN_REC_TIME_WINDOW_BYTES_TS 1338 +#define WT_STAT_CONN_REC_TIME_WINDOW_BYTES_TS 1340 /*! * reconciliation: approximate byte size of transaction IDs in pages * written */ -#define WT_STAT_CONN_REC_TIME_WINDOW_BYTES_TXN 1339 +#define WT_STAT_CONN_REC_TIME_WINDOW_BYTES_TXN 1341 /*! reconciliation: fast-path pages deleted */ -#define WT_STAT_CONN_REC_PAGE_DELETE_FAST 1340 +#define WT_STAT_CONN_REC_PAGE_DELETE_FAST 1342 /*! reconciliation: maximum seconds spent in a reconciliation call */ -#define WT_STAT_CONN_REC_MAXIMUM_SECONDS 1341 +#define WT_STAT_CONN_REC_MAXIMUM_SECONDS 1343 /*! reconciliation: page reconciliation calls */ -#define WT_STAT_CONN_REC_PAGES 1342 +#define WT_STAT_CONN_REC_PAGES 1344 /*! reconciliation: page reconciliation calls for eviction */ -#define WT_STAT_CONN_REC_PAGES_EVICTION 1343 +#define WT_STAT_CONN_REC_PAGES_EVICTION 1345 /*! * reconciliation: page reconciliation calls that resulted in values with * prepared transaction metadata */ -#define WT_STAT_CONN_REC_PAGES_WITH_PREPARE 1344 +#define WT_STAT_CONN_REC_PAGES_WITH_PREPARE 1346 /*! * reconciliation: page reconciliation calls that resulted in values with * timestamps */ -#define WT_STAT_CONN_REC_PAGES_WITH_TS 1345 +#define WT_STAT_CONN_REC_PAGES_WITH_TS 1347 /*! * reconciliation: page reconciliation calls that resulted in values with * transaction ids */ -#define WT_STAT_CONN_REC_PAGES_WITH_TXN 1346 +#define WT_STAT_CONN_REC_PAGES_WITH_TXN 1348 /*! reconciliation: pages deleted */ -#define WT_STAT_CONN_REC_PAGE_DELETE 1347 +#define WT_STAT_CONN_REC_PAGE_DELETE 1349 /*! * reconciliation: pages written including an aggregated newest start * durable timestamp */ -#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_START_DURABLE_TS 1348 +#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_START_DURABLE_TS 1350 /*! * reconciliation: pages written including an aggregated newest stop * durable timestamp */ -#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_STOP_DURABLE_TS 1349 +#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_STOP_DURABLE_TS 1351 /*! * reconciliation: pages written including an aggregated newest stop * timestamp */ -#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_STOP_TS 1350 +#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_STOP_TS 1352 /*! * reconciliation: pages written including an aggregated newest stop * transaction ID */ -#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_STOP_TXN 1351 +#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_STOP_TXN 1353 /*! * reconciliation: pages written including an aggregated oldest start * timestamp */ -#define WT_STAT_CONN_REC_TIME_AGGR_OLDEST_START_TS 1352 +#define WT_STAT_CONN_REC_TIME_AGGR_OLDEST_START_TS 1354 /*! * reconciliation: pages written including an aggregated oldest start * transaction ID */ -#define WT_STAT_CONN_REC_TIME_AGGR_OLDEST_START_TXN 1353 +#define WT_STAT_CONN_REC_TIME_AGGR_OLDEST_START_TXN 1355 /*! reconciliation: pages written including an aggregated prepare */ -#define WT_STAT_CONN_REC_TIME_AGGR_PREPARED 1354 +#define WT_STAT_CONN_REC_TIME_AGGR_PREPARED 1356 /*! reconciliation: pages written including at least one prepare state */ -#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_PREPARED 1355 +#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_PREPARED 1357 /*! * reconciliation: pages written including at least one start durable * timestamp */ -#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_DURABLE_START_TS 1356 +#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_DURABLE_START_TS 1358 /*! reconciliation: pages written including at least one start timestamp */ -#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_START_TS 1357 +#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_START_TS 1359 /*! * reconciliation: pages written including at least one start transaction * ID */ -#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_START_TXN 1358 +#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_START_TXN 1360 /*! * reconciliation: pages written including at least one stop durable * timestamp */ -#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_DURABLE_STOP_TS 1359 +#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_DURABLE_STOP_TS 1361 /*! reconciliation: pages written including at least one stop timestamp */ -#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_STOP_TS 1360 +#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_STOP_TS 1362 /*! * reconciliation: pages written including at least one stop transaction * ID */ -#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_STOP_TXN 1361 +#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_STOP_TXN 1363 /*! reconciliation: records written including a prepare state */ -#define WT_STAT_CONN_REC_TIME_WINDOW_PREPARED 1362 +#define WT_STAT_CONN_REC_TIME_WINDOW_PREPARED 1364 /*! reconciliation: records written including a start durable timestamp */ -#define WT_STAT_CONN_REC_TIME_WINDOW_DURABLE_START_TS 1363 +#define WT_STAT_CONN_REC_TIME_WINDOW_DURABLE_START_TS 1365 /*! reconciliation: records written including a start timestamp */ -#define WT_STAT_CONN_REC_TIME_WINDOW_START_TS 1364 +#define WT_STAT_CONN_REC_TIME_WINDOW_START_TS 1366 /*! reconciliation: records written including a start transaction ID */ -#define WT_STAT_CONN_REC_TIME_WINDOW_START_TXN 1365 +#define WT_STAT_CONN_REC_TIME_WINDOW_START_TXN 1367 /*! reconciliation: records written including a stop durable timestamp */ -#define WT_STAT_CONN_REC_TIME_WINDOW_DURABLE_STOP_TS 1366 +#define WT_STAT_CONN_REC_TIME_WINDOW_DURABLE_STOP_TS 1368 /*! reconciliation: records written including a stop timestamp */ -#define WT_STAT_CONN_REC_TIME_WINDOW_STOP_TS 1367 +#define WT_STAT_CONN_REC_TIME_WINDOW_STOP_TS 1369 /*! reconciliation: records written including a stop transaction ID */ -#define WT_STAT_CONN_REC_TIME_WINDOW_STOP_TXN 1368 +#define WT_STAT_CONN_REC_TIME_WINDOW_STOP_TXN 1370 /*! reconciliation: split bytes currently awaiting free */ -#define WT_STAT_CONN_REC_SPLIT_STASHED_BYTES 1369 +#define WT_STAT_CONN_REC_SPLIT_STASHED_BYTES 1371 /*! reconciliation: split objects currently awaiting free */ -#define WT_STAT_CONN_REC_SPLIT_STASHED_OBJECTS 1370 +#define WT_STAT_CONN_REC_SPLIT_STASHED_OBJECTS 1372 /*! session: open session count */ -#define WT_STAT_CONN_SESSION_OPEN 1371 +#define WT_STAT_CONN_SESSION_OPEN 1373 /*! session: session query timestamp calls */ -#define WT_STAT_CONN_SESSION_QUERY_TS 1372 +#define WT_STAT_CONN_SESSION_QUERY_TS 1374 /*! session: table alter failed calls */ -#define WT_STAT_CONN_SESSION_TABLE_ALTER_FAIL 1373 +#define WT_STAT_CONN_SESSION_TABLE_ALTER_FAIL 1375 /*! session: table alter successful calls */ -#define WT_STAT_CONN_SESSION_TABLE_ALTER_SUCCESS 1374 +#define WT_STAT_CONN_SESSION_TABLE_ALTER_SUCCESS 1376 /*! session: table alter unchanged and skipped */ -#define WT_STAT_CONN_SESSION_TABLE_ALTER_SKIP 1375 +#define WT_STAT_CONN_SESSION_TABLE_ALTER_SKIP 1377 /*! session: table compact failed calls */ -#define WT_STAT_CONN_SESSION_TABLE_COMPACT_FAIL 1376 +#define WT_STAT_CONN_SESSION_TABLE_COMPACT_FAIL 1378 /*! session: table compact successful calls */ -#define WT_STAT_CONN_SESSION_TABLE_COMPACT_SUCCESS 1377 +#define WT_STAT_CONN_SESSION_TABLE_COMPACT_SUCCESS 1379 /*! session: table create failed calls */ -#define WT_STAT_CONN_SESSION_TABLE_CREATE_FAIL 1378 +#define WT_STAT_CONN_SESSION_TABLE_CREATE_FAIL 1380 /*! session: table create successful calls */ -#define WT_STAT_CONN_SESSION_TABLE_CREATE_SUCCESS 1379 +#define WT_STAT_CONN_SESSION_TABLE_CREATE_SUCCESS 1381 /*! session: table drop failed calls */ -#define WT_STAT_CONN_SESSION_TABLE_DROP_FAIL 1380 +#define WT_STAT_CONN_SESSION_TABLE_DROP_FAIL 1382 /*! session: table drop successful calls */ -#define WT_STAT_CONN_SESSION_TABLE_DROP_SUCCESS 1381 +#define WT_STAT_CONN_SESSION_TABLE_DROP_SUCCESS 1383 /*! session: table import failed calls */ -#define WT_STAT_CONN_SESSION_TABLE_IMPORT_FAIL 1382 +#define WT_STAT_CONN_SESSION_TABLE_IMPORT_FAIL 1384 /*! session: table import successful calls */ -#define WT_STAT_CONN_SESSION_TABLE_IMPORT_SUCCESS 1383 +#define WT_STAT_CONN_SESSION_TABLE_IMPORT_SUCCESS 1385 /*! session: table rebalance failed calls */ -#define WT_STAT_CONN_SESSION_TABLE_REBALANCE_FAIL 1384 +#define WT_STAT_CONN_SESSION_TABLE_REBALANCE_FAIL 1386 /*! session: table rebalance successful calls */ -#define WT_STAT_CONN_SESSION_TABLE_REBALANCE_SUCCESS 1385 +#define WT_STAT_CONN_SESSION_TABLE_REBALANCE_SUCCESS 1387 /*! session: table rename failed calls */ -#define WT_STAT_CONN_SESSION_TABLE_RENAME_FAIL 1386 +#define WT_STAT_CONN_SESSION_TABLE_RENAME_FAIL 1388 /*! session: table rename successful calls */ -#define WT_STAT_CONN_SESSION_TABLE_RENAME_SUCCESS 1387 +#define WT_STAT_CONN_SESSION_TABLE_RENAME_SUCCESS 1389 /*! session: table salvage failed calls */ -#define WT_STAT_CONN_SESSION_TABLE_SALVAGE_FAIL 1388 +#define WT_STAT_CONN_SESSION_TABLE_SALVAGE_FAIL 1390 /*! session: table salvage successful calls */ -#define WT_STAT_CONN_SESSION_TABLE_SALVAGE_SUCCESS 1389 +#define WT_STAT_CONN_SESSION_TABLE_SALVAGE_SUCCESS 1391 /*! session: table truncate failed calls */ -#define WT_STAT_CONN_SESSION_TABLE_TRUNCATE_FAIL 1390 +#define WT_STAT_CONN_SESSION_TABLE_TRUNCATE_FAIL 1392 /*! session: table truncate successful calls */ -#define WT_STAT_CONN_SESSION_TABLE_TRUNCATE_SUCCESS 1391 +#define WT_STAT_CONN_SESSION_TABLE_TRUNCATE_SUCCESS 1393 /*! session: table verify failed calls */ -#define WT_STAT_CONN_SESSION_TABLE_VERIFY_FAIL 1392 +#define WT_STAT_CONN_SESSION_TABLE_VERIFY_FAIL 1394 /*! session: table verify successful calls */ -#define WT_STAT_CONN_SESSION_TABLE_VERIFY_SUCCESS 1393 +#define WT_STAT_CONN_SESSION_TABLE_VERIFY_SUCCESS 1395 /*! thread-state: active filesystem fsync calls */ -#define WT_STAT_CONN_THREAD_FSYNC_ACTIVE 1394 +#define WT_STAT_CONN_THREAD_FSYNC_ACTIVE 1396 /*! thread-state: active filesystem read calls */ -#define WT_STAT_CONN_THREAD_READ_ACTIVE 1395 +#define WT_STAT_CONN_THREAD_READ_ACTIVE 1397 /*! thread-state: active filesystem write calls */ -#define WT_STAT_CONN_THREAD_WRITE_ACTIVE 1396 +#define WT_STAT_CONN_THREAD_WRITE_ACTIVE 1398 /*! thread-yield: application thread time evicting (usecs) */ -#define WT_STAT_CONN_APPLICATION_EVICT_TIME 1397 +#define WT_STAT_CONN_APPLICATION_EVICT_TIME 1399 /*! thread-yield: application thread time waiting for cache (usecs) */ -#define WT_STAT_CONN_APPLICATION_CACHE_TIME 1398 +#define WT_STAT_CONN_APPLICATION_CACHE_TIME 1400 /*! * thread-yield: connection close blocked waiting for transaction state * stabilization */ -#define WT_STAT_CONN_TXN_RELEASE_BLOCKED 1399 +#define WT_STAT_CONN_TXN_RELEASE_BLOCKED 1401 /*! thread-yield: connection close yielded for lsm manager shutdown */ -#define WT_STAT_CONN_CONN_CLOSE_BLOCKED_LSM 1400 +#define WT_STAT_CONN_CONN_CLOSE_BLOCKED_LSM 1402 /*! thread-yield: data handle lock yielded */ -#define WT_STAT_CONN_DHANDLE_LOCK_BLOCKED 1401 +#define WT_STAT_CONN_DHANDLE_LOCK_BLOCKED 1403 /*! * thread-yield: get reference for page index and slot time sleeping * (usecs) */ -#define WT_STAT_CONN_PAGE_INDEX_SLOT_REF_BLOCKED 1402 +#define WT_STAT_CONN_PAGE_INDEX_SLOT_REF_BLOCKED 1404 /*! thread-yield: log server sync yielded for log write */ -#define WT_STAT_CONN_LOG_SERVER_SYNC_BLOCKED 1403 +#define WT_STAT_CONN_LOG_SERVER_SYNC_BLOCKED 1405 /*! thread-yield: page access yielded due to prepare state change */ -#define WT_STAT_CONN_PREPARED_TRANSITION_BLOCKED_PAGE 1404 +#define WT_STAT_CONN_PREPARED_TRANSITION_BLOCKED_PAGE 1406 /*! thread-yield: page acquire busy blocked */ -#define WT_STAT_CONN_PAGE_BUSY_BLOCKED 1405 +#define WT_STAT_CONN_PAGE_BUSY_BLOCKED 1407 /*! thread-yield: page acquire eviction blocked */ -#define WT_STAT_CONN_PAGE_FORCIBLE_EVICT_BLOCKED 1406 +#define WT_STAT_CONN_PAGE_FORCIBLE_EVICT_BLOCKED 1408 /*! thread-yield: page acquire locked blocked */ -#define WT_STAT_CONN_PAGE_LOCKED_BLOCKED 1407 +#define WT_STAT_CONN_PAGE_LOCKED_BLOCKED 1409 /*! thread-yield: page acquire read blocked */ -#define WT_STAT_CONN_PAGE_READ_BLOCKED 1408 +#define WT_STAT_CONN_PAGE_READ_BLOCKED 1410 /*! thread-yield: page acquire time sleeping (usecs) */ -#define WT_STAT_CONN_PAGE_SLEEP 1409 +#define WT_STAT_CONN_PAGE_SLEEP 1411 /*! * thread-yield: page delete rollback time sleeping for state change * (usecs) */ -#define WT_STAT_CONN_PAGE_DEL_ROLLBACK_BLOCKED 1410 +#define WT_STAT_CONN_PAGE_DEL_ROLLBACK_BLOCKED 1412 /*! thread-yield: page reconciliation yielded due to child modification */ -#define WT_STAT_CONN_CHILD_MODIFY_BLOCKED_PAGE 1411 +#define WT_STAT_CONN_CHILD_MODIFY_BLOCKED_PAGE 1413 /*! transaction: Number of prepared updates */ -#define WT_STAT_CONN_TXN_PREPARED_UPDATES_COUNT 1412 +#define WT_STAT_CONN_TXN_PREPARED_UPDATES_COUNT 1414 /*! transaction: durable timestamp queue entries walked */ -#define WT_STAT_CONN_TXN_DURABLE_QUEUE_WALKED 1413 +#define WT_STAT_CONN_TXN_DURABLE_QUEUE_WALKED 1415 /*! transaction: durable timestamp queue insert to empty */ -#define WT_STAT_CONN_TXN_DURABLE_QUEUE_EMPTY 1414 +#define WT_STAT_CONN_TXN_DURABLE_QUEUE_EMPTY 1416 /*! transaction: durable timestamp queue inserts to head */ -#define WT_STAT_CONN_TXN_DURABLE_QUEUE_HEAD 1415 +#define WT_STAT_CONN_TXN_DURABLE_QUEUE_HEAD 1417 /*! transaction: durable timestamp queue inserts total */ -#define WT_STAT_CONN_TXN_DURABLE_QUEUE_INSERTS 1416 +#define WT_STAT_CONN_TXN_DURABLE_QUEUE_INSERTS 1418 /*! transaction: durable timestamp queue length */ -#define WT_STAT_CONN_TXN_DURABLE_QUEUE_LEN 1417 +#define WT_STAT_CONN_TXN_DURABLE_QUEUE_LEN 1419 /*! transaction: prepared transactions */ -#define WT_STAT_CONN_TXN_PREPARE 1418 +#define WT_STAT_CONN_TXN_PREPARE 1420 /*! transaction: prepared transactions committed */ -#define WT_STAT_CONN_TXN_PREPARE_COMMIT 1419 +#define WT_STAT_CONN_TXN_PREPARE_COMMIT 1421 /*! transaction: prepared transactions currently active */ -#define WT_STAT_CONN_TXN_PREPARE_ACTIVE 1420 +#define WT_STAT_CONN_TXN_PREPARE_ACTIVE 1422 /*! transaction: prepared transactions rolled back */ -#define WT_STAT_CONN_TXN_PREPARE_ROLLBACK 1421 +#define WT_STAT_CONN_TXN_PREPARE_ROLLBACK 1423 /*! transaction: query timestamp calls */ -#define WT_STAT_CONN_TXN_QUERY_TS 1422 +#define WT_STAT_CONN_TXN_QUERY_TS 1424 /*! transaction: race to read prepared update retry */ -#define WT_STAT_CONN_TXN_READ_RACE_PREPARE_UPDATE 1423 +#define WT_STAT_CONN_TXN_READ_RACE_PREPARE_UPDATE 1425 /*! transaction: read timestamp queue entries walked */ -#define WT_STAT_CONN_TXN_READ_QUEUE_WALKED 1424 +#define WT_STAT_CONN_TXN_READ_QUEUE_WALKED 1426 /*! transaction: read timestamp queue insert to empty */ -#define WT_STAT_CONN_TXN_READ_QUEUE_EMPTY 1425 +#define WT_STAT_CONN_TXN_READ_QUEUE_EMPTY 1427 /*! transaction: read timestamp queue inserts to head */ -#define WT_STAT_CONN_TXN_READ_QUEUE_HEAD 1426 +#define WT_STAT_CONN_TXN_READ_QUEUE_HEAD 1428 /*! transaction: read timestamp queue inserts total */ -#define WT_STAT_CONN_TXN_READ_QUEUE_INSERTS 1427 +#define WT_STAT_CONN_TXN_READ_QUEUE_INSERTS 1429 /*! transaction: read timestamp queue length */ -#define WT_STAT_CONN_TXN_READ_QUEUE_LEN 1428 +#define WT_STAT_CONN_TXN_READ_QUEUE_LEN 1430 /*! transaction: rollback to stable calls */ -#define WT_STAT_CONN_TXN_RTS 1429 +#define WT_STAT_CONN_TXN_RTS 1431 /*! * 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 1430 +#define WT_STAT_CONN_TXN_RTS_HS_STOP_OLDER_THAN_NEWER_START 1432 /*! transaction: rollback to stable keys removed */ -#define WT_STAT_CONN_TXN_RTS_KEYS_REMOVED 1431 +#define WT_STAT_CONN_TXN_RTS_KEYS_REMOVED 1433 /*! transaction: rollback to stable keys restored */ -#define WT_STAT_CONN_TXN_RTS_KEYS_RESTORED 1432 +#define WT_STAT_CONN_TXN_RTS_KEYS_RESTORED 1434 /*! transaction: rollback to stable pages visited */ -#define WT_STAT_CONN_TXN_RTS_PAGES_VISITED 1433 +#define WT_STAT_CONN_TXN_RTS_PAGES_VISITED 1435 /*! transaction: rollback to stable restored tombstones from history store */ -#define WT_STAT_CONN_TXN_RTS_HS_RESTORE_TOMBSTONES 1434 +#define WT_STAT_CONN_TXN_RTS_HS_RESTORE_TOMBSTONES 1436 /*! transaction: rollback to stable sweeping history store keys */ -#define WT_STAT_CONN_TXN_RTS_SWEEP_HS_KEYS 1435 +#define WT_STAT_CONN_TXN_RTS_SWEEP_HS_KEYS 1437 /*! transaction: rollback to stable tree walk skipping pages */ -#define WT_STAT_CONN_TXN_RTS_TREE_WALK_SKIP_PAGES 1436 +#define WT_STAT_CONN_TXN_RTS_TREE_WALK_SKIP_PAGES 1438 /*! transaction: rollback to stable updates aborted */ -#define WT_STAT_CONN_TXN_RTS_UPD_ABORTED 1437 +#define WT_STAT_CONN_TXN_RTS_UPD_ABORTED 1439 /*! transaction: rollback to stable updates removed from history store */ -#define WT_STAT_CONN_TXN_RTS_HS_REMOVED 1438 +#define WT_STAT_CONN_TXN_RTS_HS_REMOVED 1440 /*! transaction: set timestamp calls */ -#define WT_STAT_CONN_TXN_SET_TS 1439 +#define WT_STAT_CONN_TXN_SET_TS 1441 /*! transaction: set timestamp durable calls */ -#define WT_STAT_CONN_TXN_SET_TS_DURABLE 1440 +#define WT_STAT_CONN_TXN_SET_TS_DURABLE 1442 /*! transaction: set timestamp durable updates */ -#define WT_STAT_CONN_TXN_SET_TS_DURABLE_UPD 1441 +#define WT_STAT_CONN_TXN_SET_TS_DURABLE_UPD 1443 /*! transaction: set timestamp oldest calls */ -#define WT_STAT_CONN_TXN_SET_TS_OLDEST 1442 +#define WT_STAT_CONN_TXN_SET_TS_OLDEST 1444 /*! transaction: set timestamp oldest updates */ -#define WT_STAT_CONN_TXN_SET_TS_OLDEST_UPD 1443 +#define WT_STAT_CONN_TXN_SET_TS_OLDEST_UPD 1445 /*! transaction: set timestamp stable calls */ -#define WT_STAT_CONN_TXN_SET_TS_STABLE 1444 +#define WT_STAT_CONN_TXN_SET_TS_STABLE 1446 /*! transaction: set timestamp stable updates */ -#define WT_STAT_CONN_TXN_SET_TS_STABLE_UPD 1445 +#define WT_STAT_CONN_TXN_SET_TS_STABLE_UPD 1447 /*! transaction: transaction begins */ -#define WT_STAT_CONN_TXN_BEGIN 1446 +#define WT_STAT_CONN_TXN_BEGIN 1448 /*! transaction: transaction checkpoint currently running */ -#define WT_STAT_CONN_TXN_CHECKPOINT_RUNNING 1447 +#define WT_STAT_CONN_TXN_CHECKPOINT_RUNNING 1449 /*! transaction: transaction checkpoint generation */ -#define WT_STAT_CONN_TXN_CHECKPOINT_GENERATION 1448 +#define WT_STAT_CONN_TXN_CHECKPOINT_GENERATION 1450 /*! * transaction: transaction checkpoint history store file duration * (usecs) */ -#define WT_STAT_CONN_TXN_HS_CKPT_DURATION 1449 +#define WT_STAT_CONN_TXN_HS_CKPT_DURATION 1451 /*! transaction: transaction checkpoint max time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MAX 1450 +#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MAX 1452 /*! transaction: transaction checkpoint min time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MIN 1451 +#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MIN 1453 /*! transaction: transaction checkpoint most recent time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_RECENT 1452 +#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_RECENT 1454 /*! transaction: transaction checkpoint prepare currently running */ -#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_RUNNING 1453 +#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_RUNNING 1455 /*! transaction: transaction checkpoint prepare max time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_MAX 1454 +#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_MAX 1456 /*! transaction: transaction checkpoint prepare min time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_MIN 1455 +#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_MIN 1457 /*! transaction: transaction checkpoint prepare most recent time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_RECENT 1456 +#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_RECENT 1458 /*! transaction: transaction checkpoint prepare total time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_TOTAL 1457 +#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_TOTAL 1459 /*! transaction: transaction checkpoint scrub dirty target */ -#define WT_STAT_CONN_TXN_CHECKPOINT_SCRUB_TARGET 1458 +#define WT_STAT_CONN_TXN_CHECKPOINT_SCRUB_TARGET 1460 /*! transaction: transaction checkpoint scrub time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_SCRUB_TIME 1459 +#define WT_STAT_CONN_TXN_CHECKPOINT_SCRUB_TIME 1461 /*! transaction: transaction checkpoint total time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_TOTAL 1460 +#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_TOTAL 1462 /*! transaction: transaction checkpoints */ -#define WT_STAT_CONN_TXN_CHECKPOINT 1461 +#define WT_STAT_CONN_TXN_CHECKPOINT 1463 /*! * transaction: transaction checkpoints skipped because database was * clean */ -#define WT_STAT_CONN_TXN_CHECKPOINT_SKIPPED 1462 +#define WT_STAT_CONN_TXN_CHECKPOINT_SKIPPED 1464 /*! transaction: transaction failures due to history store */ -#define WT_STAT_CONN_TXN_FAIL_CACHE 1463 +#define WT_STAT_CONN_TXN_FAIL_CACHE 1465 /*! * transaction: transaction fsync calls for checkpoint after allocating * the transaction ID */ -#define WT_STAT_CONN_TXN_CHECKPOINT_FSYNC_POST 1464 +#define WT_STAT_CONN_TXN_CHECKPOINT_FSYNC_POST 1466 /*! * transaction: transaction fsync duration for checkpoint after * allocating the transaction ID (usecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_FSYNC_POST_DURATION 1465 +#define WT_STAT_CONN_TXN_CHECKPOINT_FSYNC_POST_DURATION 1467 /*! transaction: transaction range of IDs currently pinned */ -#define WT_STAT_CONN_TXN_PINNED_RANGE 1466 +#define WT_STAT_CONN_TXN_PINNED_RANGE 1468 /*! transaction: transaction range of IDs currently pinned by a checkpoint */ -#define WT_STAT_CONN_TXN_PINNED_CHECKPOINT_RANGE 1467 +#define WT_STAT_CONN_TXN_PINNED_CHECKPOINT_RANGE 1469 /*! transaction: transaction range of timestamps currently pinned */ -#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP 1468 +#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP 1470 /*! transaction: transaction range of timestamps pinned by a checkpoint */ -#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP_CHECKPOINT 1469 +#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP_CHECKPOINT 1471 /*! * transaction: transaction range of timestamps pinned by the oldest * active read timestamp */ -#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP_READER 1470 +#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP_READER 1472 /*! * transaction: transaction range of timestamps pinned by the oldest * timestamp */ -#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP_OLDEST 1471 +#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP_OLDEST 1473 /*! transaction: transaction read timestamp of the oldest active reader */ -#define WT_STAT_CONN_TXN_TIMESTAMP_OLDEST_ACTIVE_READ 1472 +#define WT_STAT_CONN_TXN_TIMESTAMP_OLDEST_ACTIVE_READ 1474 /*! transaction: transaction sync calls */ -#define WT_STAT_CONN_TXN_SYNC 1473 +#define WT_STAT_CONN_TXN_SYNC 1475 /*! transaction: transactions committed */ -#define WT_STAT_CONN_TXN_COMMIT 1474 +#define WT_STAT_CONN_TXN_COMMIT 1476 /*! transaction: transactions rolled back */ -#define WT_STAT_CONN_TXN_ROLLBACK 1475 +#define WT_STAT_CONN_TXN_ROLLBACK 1477 /*! transaction: update conflicts */ -#define WT_STAT_CONN_TXN_UPDATE_CONFLICT 1476 +#define WT_STAT_CONN_TXN_UPDATE_CONFLICT 1478 /*! * @} diff --git a/src/reconcile/rec_row.c b/src/reconcile/rec_row.c index 843d54642..4d87badb2 100644 --- a/src/reconcile/rec_row.c +++ b/src/reconcile/rec_row.c @@ -566,6 +566,10 @@ __rec_row_leaf_insert(WT_SESSION_IMPL *session, WT_RECONCILE *r, WT_INSERT *ins) upd = NULL; + /* About to do some visibility checks. Update our snapshot for eviction. */ + if (F_ISSET(session, WT_SESSION_INTERNAL) && F_ISSET(session->txn, WT_TXN_RUNNING) && + F_ISSET(r, WT_REC_EVICT)) + __wt_txn_bump_snapshot(session); for (; ins != NULL; ins = WT_SKIP_NEXT(ins)) { WT_RET(__wt_rec_upd_select(session, r, ins, NULL, NULL, &upd_select)); if ((upd = upd_select.upd) == NULL) { @@ -740,6 +744,11 @@ __wt_rec_row_leaf( */ WT_ERR(__wt_scr_alloc(session, 0, &tmpkey)); + /* About to do some visibility checks. Update our snapshot for eviction. */ + if (F_ISSET(session, WT_SESSION_INTERNAL) && F_ISSET(session->txn, WT_TXN_RUNNING) && + F_ISSET(r, WT_REC_EVICT)) + __wt_txn_bump_snapshot(session); + /* For each entry in the page... */ WT_ROW_FOREACH (page, rip, i) { /* diff --git a/src/reconcile/rec_visibility.c b/src/reconcile/rec_visibility.c index e52608ef7..6e982e150 100644 --- a/src/reconcile/rec_visibility.c +++ b/src/reconcile/rec_visibility.c @@ -300,9 +300,13 @@ __wt_rec_upd_select(WT_SESSION_IMPL *session, WT_RECONCILE *r, WT_INSERT *ins, v return (__wt_set_return(session, EBUSY)); has_newer_updates = true; + WT_STAT_CONN_INCR(session, cache_eviction_updates_not_visible); continue; } + if (!is_hs_page) + WT_STAT_CONN_INCR(session, cache_eviction_updates_visible); + /* Ignore prepared updates if it is checkpoint. */ if (upd->prepare_state == WT_PREPARE_LOCKED || upd->prepare_state == WT_PREPARE_INPROGRESS) { diff --git a/src/session/session_api.c b/src/session/session_api.c index a0a41d946..7b00228ba 100644 --- a/src/session/session_api.c +++ b/src/session/session_api.c @@ -273,8 +273,14 @@ __session_close(WT_SESSION *wt_session, const char *config) F_CLR(session, WT_SESSION_CACHE_CURSORS); /* Rollback any active transaction. */ - if (F_ISSET(session->txn, WT_TXN_RUNNING)) + if (F_ISSET(session->txn, WT_TXN_RUNNING)) { + + /* Fix any eviction thread transaction. */ + if (F_ISSET(session, WT_SESSION_INTERNAL) && !WT_SESSION_IS_CHECKPOINT(session)) + WT_SESSION_TXN_SHARED(session)->pinned_id = WT_TXN_NONE; + WT_TRET(__session_rollback_transaction(wt_session, NULL)); + } /* * Also release any pinned transaction ID from a non-transactional operation. diff --git a/src/support/stat.c b/src/support/stat.c index 610198480..f5c4d441e 100644 --- a/src/support/stat.c +++ b/src/support/stat.c @@ -892,6 +892,8 @@ static const char *const __stats_connection_desc[] = { "cache: eviction calls to get a page found queue empty after locking", "cache: eviction currently operating in aggressive mode", "cache: eviction empty score", + "cache: eviction iterated updates not visible", + "cache: eviction iterated updates visible", "cache: eviction passes of a file", "cache: eviction server candidate queue empty when topping up", "cache: eviction server candidate queue not empty when topping up", @@ -1418,6 +1420,8 @@ __wt_stat_connection_clear_single(WT_CONNECTION_STATS *stats) stats->cache_eviction_get_ref_empty2 = 0; /* not clearing cache_eviction_aggressive_set */ /* not clearing cache_eviction_empty_score */ + stats->cache_eviction_updates_not_visible = 0; + stats->cache_eviction_updates_visible = 0; stats->cache_eviction_walk_passes = 0; stats->cache_eviction_queue_empty = 0; stats->cache_eviction_queue_not_empty = 0; @@ -1911,6 +1915,9 @@ __wt_stat_connection_aggregate(WT_CONNECTION_STATS **from, WT_CONNECTION_STATS * to->cache_eviction_get_ref_empty2 += WT_STAT_READ(from, cache_eviction_get_ref_empty2); to->cache_eviction_aggressive_set += WT_STAT_READ(from, cache_eviction_aggressive_set); to->cache_eviction_empty_score += WT_STAT_READ(from, cache_eviction_empty_score); + to->cache_eviction_updates_not_visible += + WT_STAT_READ(from, cache_eviction_updates_not_visible); + to->cache_eviction_updates_visible += WT_STAT_READ(from, cache_eviction_updates_visible); to->cache_eviction_walk_passes += WT_STAT_READ(from, cache_eviction_walk_passes); to->cache_eviction_queue_empty += WT_STAT_READ(from, cache_eviction_queue_empty); to->cache_eviction_queue_not_empty += WT_STAT_READ(from, cache_eviction_queue_not_empty);