diff options
author | Andrew Morton <andrew.morton@mongodb.com> | 2023-03-27 23:13:06 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2023-03-27 23:47:59 +0000 |
commit | b8efee4b677102d1eb153d86659b953815fb15bc (patch) | |
tree | 6b2861c45b3a5a729fc564507badc8812e2bcfc0 | |
parent | 1d160e0557941bbc8243a48e4e1140b549769e52 (diff) | |
download | mongo-b8efee4b677102d1eb153d86659b953815fb15bc.tar.gz |
Import wiredtiger: 593bf276be0255e94191a69a8b5b09fce5b53568 from branch mongodb-master
ref: d461a603f9..593bf276be
for: 7.0.0-rc0
WT-10279 Dry-run RTS stats
11 files changed, 862 insertions, 631 deletions
diff --git a/src/third_party/wiredtiger/dist/s_stat b/src/third_party/wiredtiger/dist/s_stat index 906137e23e2..44c22ae77bd 100755 --- a/src/third_party/wiredtiger/dist/s_stat +++ b/src/third_party/wiredtiger/dist/s_stat @@ -55,6 +55,7 @@ lock_txn_global_read_count lock_txn_global_wait_application lock_txn_global_wait_internal lock_txn_global_write_count +txn_rts_upd_aborted_dryrun UNUSED_STAT_FIELDS echo "$search" diff --git a/src/third_party/wiredtiger/dist/stat_data.py b/src/third_party/wiredtiger/dist/stat_data.py index dd60f2d5816..388ef62a533 100644 --- a/src/third_party/wiredtiger/dist/stat_data.py +++ b/src/third_party/wiredtiger/dist/stat_data.py @@ -619,6 +619,7 @@ conn_stats = [ TxnStat('txn_rts_pages_visited', 'rollback to stable pages visited'), TxnStat('txn_rts_tree_walk_skip_pages', 'rollback to stable tree walk skipping pages'), TxnStat('txn_rts_upd_aborted', 'rollback to stable updates aborted'), + TxnStat('txn_rts_upd_aborted_dryrun', 'rollback to stable updates that would have been aborted in non-dryrun mode'), TxnStat('txn_sessions_walked', 'sessions scanned in each walk of concurrent sessions'), TxnStat('txn_set_ts', 'set timestamp calls'), TxnStat('txn_set_ts_durable', 'set timestamp durable calls'), @@ -861,6 +862,7 @@ conn_dsrc_stats = [ CacheStat('cache_eviction_walks_gave_up_ratio', 'eviction walks gave up because they saw too many pages and found too few candidates'), CacheStat('cache_eviction_walks_stopped', 'eviction walks gave up because they restarted their walk twice'), CacheStat('cache_hs_btree_truncate', 'history store table truncation to remove all the keys of a btree'), + CacheStat('cache_hs_btree_truncate_dryrun', 'history store table truncations that would have happened in non-dryrun mode'), CacheStat('cache_hs_insert', 'history store table insert calls'), CacheStat('cache_hs_insert_full_update', 'the number of times full update inserted to history store'), CacheStat('cache_hs_insert_restart', 'history store table insert calls that returned restart'), @@ -868,7 +870,9 @@ conn_dsrc_stats = [ CacheStat('cache_hs_key_truncate', 'history store table truncation to remove an update'), CacheStat('cache_hs_key_truncate_onpage_removal', 'history store table truncation to remove range of updates due to key being removed from the data page during reconciliation'), CacheStat('cache_hs_key_truncate_rts', 'history store table truncation by rollback to stable to remove an update'), + CacheStat('cache_hs_key_truncate_rts_dryrun', 'history store table truncations to remove an update that would have happened in non-dryrun mode'), CacheStat('cache_hs_key_truncate_rts_unstable', 'history store table truncation by rollback to stable to remove an unstable update'), + CacheStat('cache_hs_key_truncate_rts_unstable_dryrun', 'history store table truncations to remove an unstable update that would have happened in non-dryrun mode'), CacheStat('cache_hs_order_lose_durable_timestamp', 'history store table resolved updates without timestamps that lose their durable timestamp'), CacheStat('cache_hs_order_reinsert', 'history store table updates without timestamps fixed up by reinserting with the fixed timestamp'), CacheStat('cache_hs_order_remove', 'history store table truncation to remove range of updates due to an update without a timestamp on data page'), @@ -991,14 +995,20 @@ conn_dsrc_stats = [ TxnStat('txn_read_race_prepare_update', 'race to read prepared update retry'), TxnStat('txn_rts_delete_rle_skipped', 'rollback to stable skipping delete rle'), TxnStat('txn_rts_hs_removed', 'rollback to stable updates removed from history store'), + TxnStat('txn_rts_hs_removed_dryrun', 'rollback to stable updates that would have been removed from history store in non-dryrun mode'), TxnStat('txn_rts_hs_restore_tombstones', 'rollback to stable restored tombstones from history store'), + TxnStat('txn_rts_hs_restore_tombstones_dryrun', 'rollback to stable tombstones from history store that would have been restored in non-dryrun mode'), TxnStat('txn_rts_hs_restore_updates', 'rollback to stable restored updates from history store'), + TxnStat('txn_rts_hs_restore_updates_dryrun', 'rollback to stable updates from history store that would have been restored in non-dryrun mode'), TxnStat('txn_rts_hs_stop_older_than_newer_start', 'rollback to stable history store records with stop timestamps older than newer records'), TxnStat('txn_rts_inconsistent_ckpt', 'rollback to stable inconsistent checkpoint'), TxnStat('txn_rts_keys_removed', 'rollback to stable keys removed'), + TxnStat('txn_rts_keys_removed_dryrun', 'rollback to stable keys that would have been removed in non-dryrun mode'), TxnStat('txn_rts_keys_restored', 'rollback to stable keys restored'), + TxnStat('txn_rts_keys_restored_dryrun', 'rollback to stable keys that would have been restored in non-dryrun mode'), TxnStat('txn_rts_stable_rle_skipped', 'rollback to stable skipping stable rle'), TxnStat('txn_rts_sweep_hs_keys', 'rollback to stable sweeping history store keys'), + TxnStat('txn_rts_sweep_hs_keys_dryrun', 'rollback to stable history store keys that would have been swept in non-dryrun mode'), TxnStat('txn_update_conflict', 'update conflicts'), ] diff --git a/src/third_party/wiredtiger/import.data b/src/third_party/wiredtiger/import.data index c277543a278..9d0c6db4589 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-master", - "commit": "d461a603f9c17594374f7b31af7fa475e1b7eb6a" + "commit": "593bf276be0255e94191a69a8b5b09fce5b53568" } diff --git a/src/third_party/wiredtiger/src/include/rollback_to_stable.h b/src/third_party/wiredtiger/src/include/rollback_to_stable.h index 140a51d02ed..fb470909cba 100644 --- a/src/third_party/wiredtiger/src/include/rollback_to_stable.h +++ b/src/third_party/wiredtiger/src/include/rollback_to_stable.h @@ -50,18 +50,22 @@ WT_DECL_VERBOSE_MULTI_CATEGORY(((WT_VERBOSE_CATEGORY[]){WT_VERB_RECOVERY, WT_VERB_RTS})) : \ WT_DECL_VERBOSE_MULTI_CATEGORY(((WT_VERBOSE_CATEGORY[]){WT_VERB_RTS}))) -/* Increment a connection stat if we're not doing a dry run. */ -#define WT_RTS_STAT_CONN_INCR(session, stat) \ - do { \ - if (!S2C(session)->rts->dryrun) \ - WT_STAT_CONN_INCR(session, stat); \ +/* Increment a connection stat, or the dry-run version if needed. */ +#define WT_RTS_STAT_CONN_INCR(session, stat) \ + do { \ + if (!S2C(session)->rts->dryrun) \ + WT_STAT_CONN_INCR(session, stat); \ + else \ + WT_STAT_CONN_INCR(session, stat##_dryrun); \ } while (0) -/* Increment a connection and data handle stat if we're not doing a dry run. */ -#define WT_RTS_STAT_CONN_DATA_INCR(session, stat) \ - do { \ - if (!S2C(session)->rts->dryrun) \ - WT_STAT_CONN_DATA_INCR(session, stat); \ +/* Increment a connection and data handle stat, or the dry-run version if needed. */ +#define WT_RTS_STAT_CONN_DATA_INCR(session, stat) \ + do { \ + if (!S2C(session)->rts->dryrun) \ + WT_STAT_CONN_DATA_INCR(session, stat); \ + else \ + WT_STAT_CONN_DATA_INCR(session, stat##_dryrun); \ } while (0) /* diff --git a/src/third_party/wiredtiger/src/include/stat.h b/src/third_party/wiredtiger/src/include/stat.h index 4a5965604ba..524de0ea6c0 100644 --- a/src/third_party/wiredtiger/src/include/stat.h +++ b/src/third_party/wiredtiger/src/include/stat.h @@ -475,6 +475,9 @@ struct __wt_connection_stats { int64_t cache_hs_key_truncate; int64_t cache_hs_order_remove; int64_t cache_hs_key_truncate_onpage_removal; + int64_t cache_hs_btree_truncate_dryrun; + int64_t cache_hs_key_truncate_rts_unstable_dryrun; + int64_t cache_hs_key_truncate_rts_dryrun; int64_t cache_hs_order_reinsert; int64_t cache_hs_write_squash; int64_t cache_inmem_splittable; @@ -847,19 +850,26 @@ struct __wt_connection_stats { int64_t txn_query_ts; int64_t txn_read_race_prepare_update; int64_t txn_rts; + int64_t txn_rts_sweep_hs_keys_dryrun; int64_t txn_rts_hs_stop_older_than_newer_start; int64_t txn_rts_inconsistent_ckpt; int64_t txn_rts_keys_removed; int64_t txn_rts_keys_restored; + int64_t txn_rts_keys_removed_dryrun; + int64_t txn_rts_keys_restored_dryrun; int64_t txn_rts_pages_visited; int64_t txn_rts_hs_restore_tombstones; int64_t txn_rts_hs_restore_updates; int64_t txn_rts_delete_rle_skipped; int64_t txn_rts_stable_rle_skipped; int64_t txn_rts_sweep_hs_keys; + int64_t txn_rts_hs_restore_tombstones_dryrun; int64_t txn_rts_tree_walk_skip_pages; int64_t txn_rts_upd_aborted; + int64_t txn_rts_hs_restore_updates_dryrun; int64_t txn_rts_hs_removed; + int64_t txn_rts_upd_aborted_dryrun; + int64_t txn_rts_hs_removed_dryrun; int64_t txn_sessions_walked; int64_t txn_set_ts; int64_t txn_set_ts_durable; @@ -1002,6 +1012,9 @@ struct __wt_dsrc_stats { int64_t cache_hs_key_truncate; int64_t cache_hs_order_remove; int64_t cache_hs_key_truncate_onpage_removal; + int64_t cache_hs_btree_truncate_dryrun; + int64_t cache_hs_key_truncate_rts_unstable_dryrun; + int64_t cache_hs_key_truncate_rts_dryrun; int64_t cache_hs_order_reinsert; int64_t cache_hs_write_squash; int64_t cache_inmem_splittable; @@ -1174,16 +1187,22 @@ struct __wt_dsrc_stats { int64_t session_compact; int64_t txn_read_overflow_remove; int64_t txn_read_race_prepare_update; + int64_t txn_rts_sweep_hs_keys_dryrun; int64_t txn_rts_hs_stop_older_than_newer_start; int64_t txn_rts_inconsistent_ckpt; int64_t txn_rts_keys_removed; int64_t txn_rts_keys_restored; + int64_t txn_rts_keys_removed_dryrun; + int64_t txn_rts_keys_restored_dryrun; int64_t txn_rts_hs_restore_tombstones; int64_t txn_rts_hs_restore_updates; int64_t txn_rts_delete_rle_skipped; int64_t txn_rts_stable_rle_skipped; int64_t txn_rts_sweep_hs_keys; + int64_t txn_rts_hs_restore_tombstones_dryrun; + int64_t txn_rts_hs_restore_updates_dryrun; int64_t txn_rts_hs_removed; + int64_t txn_rts_hs_removed_dryrun; int64_t txn_checkpoint_obsolete_applied; int64_t txn_update_conflict; }; diff --git a/src/third_party/wiredtiger/src/include/wiredtiger.in b/src/third_party/wiredtiger/src/include/wiredtiger.in index 46584868f38..0b70fd22a3a 100644 --- a/src/third_party/wiredtiger/src/include/wiredtiger.in +++ b/src/third_party/wiredtiger/src/include/wiredtiger.in @@ -5677,1030 +5677,1080 @@ extern int wiredtiger_extension_terminate(WT_CONNECTION *connection); */ #define WT_STAT_CONN_CACHE_HS_KEY_TRUNCATE_ONPAGE_REMOVAL 1135 /*! + * cache: history store table truncations that would have happened in + * non-dryrun mode + */ +#define WT_STAT_CONN_CACHE_HS_BTREE_TRUNCATE_DRYRUN 1136 +/*! + * cache: history store table truncations to remove an unstable update + * that would have happened in non-dryrun mode + */ +#define WT_STAT_CONN_CACHE_HS_KEY_TRUNCATE_RTS_UNSTABLE_DRYRUN 1137 +/*! + * cache: history store table truncations to remove an update that would + * have happened in non-dryrun mode + */ +#define WT_STAT_CONN_CACHE_HS_KEY_TRUNCATE_RTS_DRYRUN 1138 +/*! * cache: history store table updates without timestamps fixed up by * reinserting with the fixed timestamp */ -#define WT_STAT_CONN_CACHE_HS_ORDER_REINSERT 1136 +#define WT_STAT_CONN_CACHE_HS_ORDER_REINSERT 1139 /*! cache: history store table writes requiring squashed modifies */ -#define WT_STAT_CONN_CACHE_HS_WRITE_SQUASH 1137 +#define WT_STAT_CONN_CACHE_HS_WRITE_SQUASH 1140 /*! cache: in-memory page passed criteria to be split */ -#define WT_STAT_CONN_CACHE_INMEM_SPLITTABLE 1138 +#define WT_STAT_CONN_CACHE_INMEM_SPLITTABLE 1141 /*! cache: in-memory page splits */ -#define WT_STAT_CONN_CACHE_INMEM_SPLIT 1139 +#define WT_STAT_CONN_CACHE_INMEM_SPLIT 1142 /*! cache: internal page split blocked its eviction */ -#define WT_STAT_CONN_CACHE_EVICTION_BLOCKED_INTERNAL_PAGE_SPLIT 1140 +#define WT_STAT_CONN_CACHE_EVICTION_BLOCKED_INTERNAL_PAGE_SPLIT 1143 /*! cache: internal pages evicted */ -#define WT_STAT_CONN_CACHE_EVICTION_INTERNAL 1141 +#define WT_STAT_CONN_CACHE_EVICTION_INTERNAL 1144 /*! cache: internal pages queued for eviction */ -#define WT_STAT_CONN_CACHE_EVICTION_INTERNAL_PAGES_QUEUED 1142 +#define WT_STAT_CONN_CACHE_EVICTION_INTERNAL_PAGES_QUEUED 1145 /*! cache: internal pages seen by eviction walk */ -#define WT_STAT_CONN_CACHE_EVICTION_INTERNAL_PAGES_SEEN 1143 +#define WT_STAT_CONN_CACHE_EVICTION_INTERNAL_PAGES_SEEN 1146 /*! cache: internal pages seen by eviction walk that are already queued */ -#define WT_STAT_CONN_CACHE_EVICTION_INTERNAL_PAGES_ALREADY_QUEUED 1144 +#define WT_STAT_CONN_CACHE_EVICTION_INTERNAL_PAGES_ALREADY_QUEUED 1147 /*! cache: internal pages split during eviction */ -#define WT_STAT_CONN_CACHE_EVICTION_SPLIT_INTERNAL 1145 +#define WT_STAT_CONN_CACHE_EVICTION_SPLIT_INTERNAL 1148 /*! cache: leaf pages split during eviction */ -#define WT_STAT_CONN_CACHE_EVICTION_SPLIT_LEAF 1146 +#define WT_STAT_CONN_CACHE_EVICTION_SPLIT_LEAF 1149 /*! cache: maximum bytes configured */ -#define WT_STAT_CONN_CACHE_BYTES_MAX 1147 +#define WT_STAT_CONN_CACHE_BYTES_MAX 1150 /*! cache: maximum page size seen at eviction */ -#define WT_STAT_CONN_CACHE_EVICTION_MAXIMUM_PAGE_SIZE 1148 +#define WT_STAT_CONN_CACHE_EVICTION_MAXIMUM_PAGE_SIZE 1151 /*! cache: maximum seconds spent at a single eviction */ -#define WT_STAT_CONN_CACHE_EVICTION_MAXIMUM_SECONDS 1149 +#define WT_STAT_CONN_CACHE_EVICTION_MAXIMUM_SECONDS 1152 /*! cache: modified pages evicted */ -#define WT_STAT_CONN_CACHE_EVICTION_DIRTY 1150 +#define WT_STAT_CONN_CACHE_EVICTION_DIRTY 1153 /*! cache: modified pages evicted by application threads */ -#define WT_STAT_CONN_CACHE_EVICTION_APP_DIRTY 1151 +#define WT_STAT_CONN_CACHE_EVICTION_APP_DIRTY 1154 /*! cache: operations timed out waiting for space in cache */ -#define WT_STAT_CONN_CACHE_TIMED_OUT_OPS 1152 +#define WT_STAT_CONN_CACHE_TIMED_OUT_OPS 1155 /*! * cache: overflow keys on a multiblock row-store page blocked its * eviction */ -#define WT_STAT_CONN_CACHE_EVICTION_BLOCKED_OVERFLOW_KEYS 1153 +#define WT_STAT_CONN_CACHE_EVICTION_BLOCKED_OVERFLOW_KEYS 1156 /*! cache: overflow pages read into cache */ -#define WT_STAT_CONN_CACHE_READ_OVERFLOW 1154 +#define WT_STAT_CONN_CACHE_READ_OVERFLOW 1157 /*! cache: page split during eviction deepened the tree */ -#define WT_STAT_CONN_CACHE_EVICTION_DEEPEN 1155 +#define WT_STAT_CONN_CACHE_EVICTION_DEEPEN 1158 /*! cache: page written requiring history store records */ -#define WT_STAT_CONN_CACHE_WRITE_HS 1156 +#define WT_STAT_CONN_CACHE_WRITE_HS 1159 /*! cache: pages currently held in the cache */ -#define WT_STAT_CONN_CACHE_PAGES_INUSE 1157 +#define WT_STAT_CONN_CACHE_PAGES_INUSE 1160 /*! cache: pages evicted by application threads */ -#define WT_STAT_CONN_CACHE_EVICTION_APP 1158 +#define WT_STAT_CONN_CACHE_EVICTION_APP 1161 /*! cache: pages evicted in parallel with checkpoint */ -#define WT_STAT_CONN_CACHE_EVICTION_PAGES_IN_PARALLEL_WITH_CHECKPOINT 1159 +#define WT_STAT_CONN_CACHE_EVICTION_PAGES_IN_PARALLEL_WITH_CHECKPOINT 1162 /*! cache: pages queued for eviction */ -#define WT_STAT_CONN_CACHE_EVICTION_PAGES_QUEUED 1160 +#define WT_STAT_CONN_CACHE_EVICTION_PAGES_QUEUED 1163 /*! cache: pages queued for eviction post lru sorting */ -#define WT_STAT_CONN_CACHE_EVICTION_PAGES_QUEUED_POST_LRU 1161 +#define WT_STAT_CONN_CACHE_EVICTION_PAGES_QUEUED_POST_LRU 1164 /*! cache: pages queued for urgent eviction */ -#define WT_STAT_CONN_CACHE_EVICTION_PAGES_QUEUED_URGENT 1162 +#define WT_STAT_CONN_CACHE_EVICTION_PAGES_QUEUED_URGENT 1165 /*! cache: pages queued for urgent eviction during walk */ -#define WT_STAT_CONN_CACHE_EVICTION_PAGES_QUEUED_OLDEST 1163 +#define WT_STAT_CONN_CACHE_EVICTION_PAGES_QUEUED_OLDEST 1166 /*! * cache: pages queued for urgent eviction from history store due to high * dirty content */ -#define WT_STAT_CONN_CACHE_EVICTION_PAGES_QUEUED_URGENT_HS_DIRTY 1164 +#define WT_STAT_CONN_CACHE_EVICTION_PAGES_QUEUED_URGENT_HS_DIRTY 1167 /*! cache: pages read into cache */ -#define WT_STAT_CONN_CACHE_READ 1165 +#define WT_STAT_CONN_CACHE_READ 1168 /*! cache: pages read into cache after truncate */ -#define WT_STAT_CONN_CACHE_READ_DELETED 1166 +#define WT_STAT_CONN_CACHE_READ_DELETED 1169 /*! cache: pages read into cache after truncate in prepare state */ -#define WT_STAT_CONN_CACHE_READ_DELETED_PREPARED 1167 +#define WT_STAT_CONN_CACHE_READ_DELETED_PREPARED 1170 /*! cache: pages requested from the cache */ -#define WT_STAT_CONN_CACHE_PAGES_REQUESTED 1168 +#define WT_STAT_CONN_CACHE_PAGES_REQUESTED 1171 /*! cache: pages seen by eviction walk */ -#define WT_STAT_CONN_CACHE_EVICTION_PAGES_SEEN 1169 +#define WT_STAT_CONN_CACHE_EVICTION_PAGES_SEEN 1172 /*! cache: pages seen by eviction walk that are already queued */ -#define WT_STAT_CONN_CACHE_EVICTION_PAGES_ALREADY_QUEUED 1170 +#define WT_STAT_CONN_CACHE_EVICTION_PAGES_ALREADY_QUEUED 1173 /*! cache: pages selected for eviction unable to be evicted */ -#define WT_STAT_CONN_CACHE_EVICTION_FAIL 1171 +#define WT_STAT_CONN_CACHE_EVICTION_FAIL 1174 /*! * 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 1172 +#define WT_STAT_CONN_CACHE_EVICTION_FAIL_ACTIVE_CHILDREN_ON_AN_INTERNAL_PAGE 1175 /*! * cache: pages selected for eviction unable to be evicted because of * failure in reconciliation */ -#define WT_STAT_CONN_CACHE_EVICTION_FAIL_IN_RECONCILIATION 1173 +#define WT_STAT_CONN_CACHE_EVICTION_FAIL_IN_RECONCILIATION 1176 /*! * cache: pages selected for eviction unable to be evicted because of * race between checkpoint and updates without timestamps */ -#define WT_STAT_CONN_CACHE_EVICTION_FAIL_CHECKPOINT_NO_TS 1174 +#define WT_STAT_CONN_CACHE_EVICTION_FAIL_CHECKPOINT_NO_TS 1177 /*! cache: pages walked for eviction */ -#define WT_STAT_CONN_CACHE_EVICTION_WALK 1175 +#define WT_STAT_CONN_CACHE_EVICTION_WALK 1178 /*! cache: pages written from cache */ -#define WT_STAT_CONN_CACHE_WRITE 1176 +#define WT_STAT_CONN_CACHE_WRITE 1179 /*! cache: pages written requiring in-memory restoration */ -#define WT_STAT_CONN_CACHE_WRITE_RESTORE 1177 +#define WT_STAT_CONN_CACHE_WRITE_RESTORE 1180 /*! cache: percentage overhead */ -#define WT_STAT_CONN_CACHE_OVERHEAD 1178 +#define WT_STAT_CONN_CACHE_OVERHEAD 1181 /*! cache: recent modification of a page blocked its eviction */ -#define WT_STAT_CONN_CACHE_EVICTION_BLOCKED_RECENTLY_MODIFIED 1179 +#define WT_STAT_CONN_CACHE_EVICTION_BLOCKED_RECENTLY_MODIFIED 1182 /*! cache: reverse splits performed */ -#define WT_STAT_CONN_CACHE_REVERSE_SPLITS 1180 +#define WT_STAT_CONN_CACHE_REVERSE_SPLITS 1183 /*! * cache: reverse splits skipped because of VLCS namespace gap * restrictions */ -#define WT_STAT_CONN_CACHE_REVERSE_SPLITS_SKIPPED_VLCS 1181 +#define WT_STAT_CONN_CACHE_REVERSE_SPLITS_SKIPPED_VLCS 1184 /*! cache: the number of times full update inserted to history store */ -#define WT_STAT_CONN_CACHE_HS_INSERT_FULL_UPDATE 1182 +#define WT_STAT_CONN_CACHE_HS_INSERT_FULL_UPDATE 1185 /*! cache: the number of times reverse modify inserted to history store */ -#define WT_STAT_CONN_CACHE_HS_INSERT_REVERSE_MODIFY 1183 +#define WT_STAT_CONN_CACHE_HS_INSERT_REVERSE_MODIFY 1186 /*! cache: tracked bytes belonging to internal pages in the cache */ -#define WT_STAT_CONN_CACHE_BYTES_INTERNAL 1184 +#define WT_STAT_CONN_CACHE_BYTES_INTERNAL 1187 /*! cache: tracked bytes belonging to leaf pages in the cache */ -#define WT_STAT_CONN_CACHE_BYTES_LEAF 1185 +#define WT_STAT_CONN_CACHE_BYTES_LEAF 1188 /*! cache: tracked dirty bytes in the cache */ -#define WT_STAT_CONN_CACHE_BYTES_DIRTY 1186 +#define WT_STAT_CONN_CACHE_BYTES_DIRTY 1189 /*! cache: tracked dirty pages in the cache */ -#define WT_STAT_CONN_CACHE_PAGES_DIRTY 1187 +#define WT_STAT_CONN_CACHE_PAGES_DIRTY 1190 /*! cache: uncommitted truncate blocked page eviction */ -#define WT_STAT_CONN_CACHE_EVICTION_BLOCKED_UNCOMMITTED_TRUNCATE 1188 +#define WT_STAT_CONN_CACHE_EVICTION_BLOCKED_UNCOMMITTED_TRUNCATE 1191 /*! cache: unmodified pages evicted */ -#define WT_STAT_CONN_CACHE_EVICTION_CLEAN 1189 +#define WT_STAT_CONN_CACHE_EVICTION_CLEAN 1192 /*! capacity: background fsync file handles considered */ -#define WT_STAT_CONN_FSYNC_ALL_FH_TOTAL 1190 +#define WT_STAT_CONN_FSYNC_ALL_FH_TOTAL 1193 /*! capacity: background fsync file handles synced */ -#define WT_STAT_CONN_FSYNC_ALL_FH 1191 +#define WT_STAT_CONN_FSYNC_ALL_FH 1194 /*! capacity: background fsync time (msecs) */ -#define WT_STAT_CONN_FSYNC_ALL_TIME 1192 +#define WT_STAT_CONN_FSYNC_ALL_TIME 1195 /*! capacity: bytes read */ -#define WT_STAT_CONN_CAPACITY_BYTES_READ 1193 +#define WT_STAT_CONN_CAPACITY_BYTES_READ 1196 /*! capacity: bytes written for checkpoint */ -#define WT_STAT_CONN_CAPACITY_BYTES_CKPT 1194 +#define WT_STAT_CONN_CAPACITY_BYTES_CKPT 1197 /*! capacity: bytes written for eviction */ -#define WT_STAT_CONN_CAPACITY_BYTES_EVICT 1195 +#define WT_STAT_CONN_CAPACITY_BYTES_EVICT 1198 /*! capacity: bytes written for log */ -#define WT_STAT_CONN_CAPACITY_BYTES_LOG 1196 +#define WT_STAT_CONN_CAPACITY_BYTES_LOG 1199 /*! capacity: bytes written total */ -#define WT_STAT_CONN_CAPACITY_BYTES_WRITTEN 1197 +#define WT_STAT_CONN_CAPACITY_BYTES_WRITTEN 1200 /*! capacity: threshold to call fsync */ -#define WT_STAT_CONN_CAPACITY_THRESHOLD 1198 +#define WT_STAT_CONN_CAPACITY_THRESHOLD 1201 /*! capacity: time waiting due to total capacity (usecs) */ -#define WT_STAT_CONN_CAPACITY_TIME_TOTAL 1199 +#define WT_STAT_CONN_CAPACITY_TIME_TOTAL 1202 /*! capacity: time waiting during checkpoint (usecs) */ -#define WT_STAT_CONN_CAPACITY_TIME_CKPT 1200 +#define WT_STAT_CONN_CAPACITY_TIME_CKPT 1203 /*! capacity: time waiting during eviction (usecs) */ -#define WT_STAT_CONN_CAPACITY_TIME_EVICT 1201 +#define WT_STAT_CONN_CAPACITY_TIME_EVICT 1204 /*! capacity: time waiting during logging (usecs) */ -#define WT_STAT_CONN_CAPACITY_TIME_LOG 1202 +#define WT_STAT_CONN_CAPACITY_TIME_LOG 1205 /*! capacity: time waiting during read (usecs) */ -#define WT_STAT_CONN_CAPACITY_TIME_READ 1203 +#define WT_STAT_CONN_CAPACITY_TIME_READ 1206 /*! checkpoint-cleanup: pages added for eviction */ -#define WT_STAT_CONN_CC_PAGES_EVICT 1204 +#define WT_STAT_CONN_CC_PAGES_EVICT 1207 /*! checkpoint-cleanup: pages removed */ -#define WT_STAT_CONN_CC_PAGES_REMOVED 1205 +#define WT_STAT_CONN_CC_PAGES_REMOVED 1208 /*! checkpoint-cleanup: pages skipped during tree walk */ -#define WT_STAT_CONN_CC_PAGES_WALK_SKIPPED 1206 +#define WT_STAT_CONN_CC_PAGES_WALK_SKIPPED 1209 /*! checkpoint-cleanup: pages visited */ -#define WT_STAT_CONN_CC_PAGES_VISITED 1207 +#define WT_STAT_CONN_CC_PAGES_VISITED 1210 /*! connection: auto adjusting condition resets */ -#define WT_STAT_CONN_COND_AUTO_WAIT_RESET 1208 +#define WT_STAT_CONN_COND_AUTO_WAIT_RESET 1211 /*! connection: auto adjusting condition wait calls */ -#define WT_STAT_CONN_COND_AUTO_WAIT 1209 +#define WT_STAT_CONN_COND_AUTO_WAIT 1212 /*! * connection: auto adjusting condition wait raced to update timeout and * skipped updating */ -#define WT_STAT_CONN_COND_AUTO_WAIT_SKIPPED 1210 +#define WT_STAT_CONN_COND_AUTO_WAIT_SKIPPED 1213 /*! connection: detected system time went backwards */ -#define WT_STAT_CONN_TIME_TRAVEL 1211 +#define WT_STAT_CONN_TIME_TRAVEL 1214 /*! connection: files currently open */ -#define WT_STAT_CONN_FILE_OPEN 1212 +#define WT_STAT_CONN_FILE_OPEN 1215 /*! connection: hash bucket array size for data handles */ -#define WT_STAT_CONN_BUCKETS_DH 1213 +#define WT_STAT_CONN_BUCKETS_DH 1216 /*! connection: hash bucket array size general */ -#define WT_STAT_CONN_BUCKETS 1214 +#define WT_STAT_CONN_BUCKETS 1217 /*! connection: memory allocations */ -#define WT_STAT_CONN_MEMORY_ALLOCATION 1215 +#define WT_STAT_CONN_MEMORY_ALLOCATION 1218 /*! connection: memory frees */ -#define WT_STAT_CONN_MEMORY_FREE 1216 +#define WT_STAT_CONN_MEMORY_FREE 1219 /*! connection: memory re-allocations */ -#define WT_STAT_CONN_MEMORY_GROW 1217 +#define WT_STAT_CONN_MEMORY_GROW 1220 /*! connection: number of sessions without a sweep for 5+ minutes */ -#define WT_STAT_CONN_NO_SESSION_SWEEP_5MIN 1218 +#define WT_STAT_CONN_NO_SESSION_SWEEP_5MIN 1221 /*! connection: number of sessions without a sweep for 60+ minutes */ -#define WT_STAT_CONN_NO_SESSION_SWEEP_60MIN 1219 +#define WT_STAT_CONN_NO_SESSION_SWEEP_60MIN 1222 /*! connection: pthread mutex condition wait calls */ -#define WT_STAT_CONN_COND_WAIT 1220 +#define WT_STAT_CONN_COND_WAIT 1223 /*! connection: pthread mutex shared lock read-lock calls */ -#define WT_STAT_CONN_RWLOCK_READ 1221 +#define WT_STAT_CONN_RWLOCK_READ 1224 /*! connection: pthread mutex shared lock write-lock calls */ -#define WT_STAT_CONN_RWLOCK_WRITE 1222 +#define WT_STAT_CONN_RWLOCK_WRITE 1225 /*! connection: total fsync I/Os */ -#define WT_STAT_CONN_FSYNC_IO 1223 +#define WT_STAT_CONN_FSYNC_IO 1226 /*! connection: total read I/Os */ -#define WT_STAT_CONN_READ_IO 1224 +#define WT_STAT_CONN_READ_IO 1227 /*! connection: total write I/Os */ -#define WT_STAT_CONN_WRITE_IO 1225 +#define WT_STAT_CONN_WRITE_IO 1228 /*! cursor: Total number of entries skipped by cursor next calls */ -#define WT_STAT_CONN_CURSOR_NEXT_SKIP_TOTAL 1226 +#define WT_STAT_CONN_CURSOR_NEXT_SKIP_TOTAL 1229 /*! cursor: Total number of entries skipped by cursor prev calls */ -#define WT_STAT_CONN_CURSOR_PREV_SKIP_TOTAL 1227 +#define WT_STAT_CONN_CURSOR_PREV_SKIP_TOTAL 1230 /*! * cursor: Total number of entries skipped to position the history store * cursor */ -#define WT_STAT_CONN_CURSOR_SKIP_HS_CUR_POSITION 1228 +#define WT_STAT_CONN_CURSOR_SKIP_HS_CUR_POSITION 1231 /*! * cursor: Total number of times a search near has exited due to prefix * config */ -#define WT_STAT_CONN_CURSOR_SEARCH_NEAR_PREFIX_FAST_PATHS 1229 +#define WT_STAT_CONN_CURSOR_SEARCH_NEAR_PREFIX_FAST_PATHS 1232 /*! * cursor: Total number of times cursor fails to temporarily release * pinned page to encourage eviction of hot or large page */ -#define WT_STAT_CONN_CURSOR_REPOSITION_FAILED 1230 +#define WT_STAT_CONN_CURSOR_REPOSITION_FAILED 1233 /*! * cursor: Total number of times cursor temporarily releases pinned page * to encourage eviction of hot or large page */ -#define WT_STAT_CONN_CURSOR_REPOSITION 1231 +#define WT_STAT_CONN_CURSOR_REPOSITION 1234 /*! cursor: cached cursor count */ -#define WT_STAT_CONN_CURSOR_CACHED_COUNT 1232 +#define WT_STAT_CONN_CURSOR_CACHED_COUNT 1235 /*! cursor: cursor bound calls that return an error */ -#define WT_STAT_CONN_CURSOR_BOUND_ERROR 1233 +#define WT_STAT_CONN_CURSOR_BOUND_ERROR 1236 /*! cursor: cursor bounds cleared from reset */ -#define WT_STAT_CONN_CURSOR_BOUNDS_RESET 1234 +#define WT_STAT_CONN_CURSOR_BOUNDS_RESET 1237 /*! cursor: cursor bounds comparisons performed */ -#define WT_STAT_CONN_CURSOR_BOUNDS_COMPARISONS 1235 +#define WT_STAT_CONN_CURSOR_BOUNDS_COMPARISONS 1238 /*! cursor: cursor bounds next called on an unpositioned cursor */ -#define WT_STAT_CONN_CURSOR_BOUNDS_NEXT_UNPOSITIONED 1236 +#define WT_STAT_CONN_CURSOR_BOUNDS_NEXT_UNPOSITIONED 1239 /*! cursor: cursor bounds next early exit */ -#define WT_STAT_CONN_CURSOR_BOUNDS_NEXT_EARLY_EXIT 1237 +#define WT_STAT_CONN_CURSOR_BOUNDS_NEXT_EARLY_EXIT 1240 /*! cursor: cursor bounds prev called on an unpositioned cursor */ -#define WT_STAT_CONN_CURSOR_BOUNDS_PREV_UNPOSITIONED 1238 +#define WT_STAT_CONN_CURSOR_BOUNDS_PREV_UNPOSITIONED 1241 /*! cursor: cursor bounds prev early exit */ -#define WT_STAT_CONN_CURSOR_BOUNDS_PREV_EARLY_EXIT 1239 +#define WT_STAT_CONN_CURSOR_BOUNDS_PREV_EARLY_EXIT 1242 /*! cursor: cursor bounds search early exit */ -#define WT_STAT_CONN_CURSOR_BOUNDS_SEARCH_EARLY_EXIT 1240 +#define WT_STAT_CONN_CURSOR_BOUNDS_SEARCH_EARLY_EXIT 1243 /*! cursor: cursor bounds search near call repositioned cursor */ -#define WT_STAT_CONN_CURSOR_BOUNDS_SEARCH_NEAR_REPOSITIONED_CURSOR 1241 +#define WT_STAT_CONN_CURSOR_BOUNDS_SEARCH_NEAR_REPOSITIONED_CURSOR 1244 /*! cursor: cursor bulk loaded cursor insert calls */ -#define WT_STAT_CONN_CURSOR_INSERT_BULK 1242 +#define WT_STAT_CONN_CURSOR_INSERT_BULK 1245 /*! cursor: cursor cache calls that return an error */ -#define WT_STAT_CONN_CURSOR_CACHE_ERROR 1243 +#define WT_STAT_CONN_CURSOR_CACHE_ERROR 1246 /*! cursor: cursor close calls that result in cache */ -#define WT_STAT_CONN_CURSOR_CACHE 1244 +#define WT_STAT_CONN_CURSOR_CACHE 1247 /*! cursor: cursor close calls that return an error */ -#define WT_STAT_CONN_CURSOR_CLOSE_ERROR 1245 +#define WT_STAT_CONN_CURSOR_CLOSE_ERROR 1248 /*! cursor: cursor compare calls that return an error */ -#define WT_STAT_CONN_CURSOR_COMPARE_ERROR 1246 +#define WT_STAT_CONN_CURSOR_COMPARE_ERROR 1249 /*! cursor: cursor create calls */ -#define WT_STAT_CONN_CURSOR_CREATE 1247 +#define WT_STAT_CONN_CURSOR_CREATE 1250 /*! cursor: cursor equals calls that return an error */ -#define WT_STAT_CONN_CURSOR_EQUALS_ERROR 1248 +#define WT_STAT_CONN_CURSOR_EQUALS_ERROR 1251 /*! cursor: cursor get key calls that return an error */ -#define WT_STAT_CONN_CURSOR_GET_KEY_ERROR 1249 +#define WT_STAT_CONN_CURSOR_GET_KEY_ERROR 1252 /*! cursor: cursor get value calls that return an error */ -#define WT_STAT_CONN_CURSOR_GET_VALUE_ERROR 1250 +#define WT_STAT_CONN_CURSOR_GET_VALUE_ERROR 1253 /*! cursor: cursor insert calls */ -#define WT_STAT_CONN_CURSOR_INSERT 1251 +#define WT_STAT_CONN_CURSOR_INSERT 1254 /*! cursor: cursor insert calls that return an error */ -#define WT_STAT_CONN_CURSOR_INSERT_ERROR 1252 +#define WT_STAT_CONN_CURSOR_INSERT_ERROR 1255 /*! cursor: cursor insert check calls that return an error */ -#define WT_STAT_CONN_CURSOR_INSERT_CHECK_ERROR 1253 +#define WT_STAT_CONN_CURSOR_INSERT_CHECK_ERROR 1256 /*! cursor: cursor insert key and value bytes */ -#define WT_STAT_CONN_CURSOR_INSERT_BYTES 1254 +#define WT_STAT_CONN_CURSOR_INSERT_BYTES 1257 /*! cursor: cursor largest key calls that return an error */ -#define WT_STAT_CONN_CURSOR_LARGEST_KEY_ERROR 1255 +#define WT_STAT_CONN_CURSOR_LARGEST_KEY_ERROR 1258 /*! cursor: cursor modify calls */ -#define WT_STAT_CONN_CURSOR_MODIFY 1256 +#define WT_STAT_CONN_CURSOR_MODIFY 1259 /*! cursor: cursor modify calls that return an error */ -#define WT_STAT_CONN_CURSOR_MODIFY_ERROR 1257 +#define WT_STAT_CONN_CURSOR_MODIFY_ERROR 1260 /*! cursor: cursor modify key and value bytes affected */ -#define WT_STAT_CONN_CURSOR_MODIFY_BYTES 1258 +#define WT_STAT_CONN_CURSOR_MODIFY_BYTES 1261 /*! cursor: cursor modify value bytes modified */ -#define WT_STAT_CONN_CURSOR_MODIFY_BYTES_TOUCH 1259 +#define WT_STAT_CONN_CURSOR_MODIFY_BYTES_TOUCH 1262 /*! cursor: cursor next calls */ -#define WT_STAT_CONN_CURSOR_NEXT 1260 +#define WT_STAT_CONN_CURSOR_NEXT 1263 /*! cursor: cursor next calls that return an error */ -#define WT_STAT_CONN_CURSOR_NEXT_ERROR 1261 +#define WT_STAT_CONN_CURSOR_NEXT_ERROR 1264 /*! * cursor: cursor next calls that skip due to a globally visible history * store tombstone */ -#define WT_STAT_CONN_CURSOR_NEXT_HS_TOMBSTONE 1262 +#define WT_STAT_CONN_CURSOR_NEXT_HS_TOMBSTONE 1265 /*! * cursor: cursor next calls that skip greater than 1 and fewer than 100 * entries */ -#define WT_STAT_CONN_CURSOR_NEXT_SKIP_LT_100 1263 +#define WT_STAT_CONN_CURSOR_NEXT_SKIP_LT_100 1266 /*! * cursor: cursor next calls that skip greater than or equal to 100 * entries */ -#define WT_STAT_CONN_CURSOR_NEXT_SKIP_GE_100 1264 +#define WT_STAT_CONN_CURSOR_NEXT_SKIP_GE_100 1267 /*! cursor: cursor next random calls that return an error */ -#define WT_STAT_CONN_CURSOR_NEXT_RANDOM_ERROR 1265 +#define WT_STAT_CONN_CURSOR_NEXT_RANDOM_ERROR 1268 /*! cursor: cursor operation restarted */ -#define WT_STAT_CONN_CURSOR_RESTART 1266 +#define WT_STAT_CONN_CURSOR_RESTART 1269 /*! cursor: cursor prev calls */ -#define WT_STAT_CONN_CURSOR_PREV 1267 +#define WT_STAT_CONN_CURSOR_PREV 1270 /*! cursor: cursor prev calls that return an error */ -#define WT_STAT_CONN_CURSOR_PREV_ERROR 1268 +#define WT_STAT_CONN_CURSOR_PREV_ERROR 1271 /*! * cursor: cursor prev calls that skip due to a globally visible history * store tombstone */ -#define WT_STAT_CONN_CURSOR_PREV_HS_TOMBSTONE 1269 +#define WT_STAT_CONN_CURSOR_PREV_HS_TOMBSTONE 1272 /*! * cursor: cursor prev calls that skip greater than or equal to 100 * entries */ -#define WT_STAT_CONN_CURSOR_PREV_SKIP_GE_100 1270 +#define WT_STAT_CONN_CURSOR_PREV_SKIP_GE_100 1273 /*! cursor: cursor prev calls that skip less than 100 entries */ -#define WT_STAT_CONN_CURSOR_PREV_SKIP_LT_100 1271 +#define WT_STAT_CONN_CURSOR_PREV_SKIP_LT_100 1274 /*! cursor: cursor reconfigure calls that return an error */ -#define WT_STAT_CONN_CURSOR_RECONFIGURE_ERROR 1272 +#define WT_STAT_CONN_CURSOR_RECONFIGURE_ERROR 1275 /*! cursor: cursor remove calls */ -#define WT_STAT_CONN_CURSOR_REMOVE 1273 +#define WT_STAT_CONN_CURSOR_REMOVE 1276 /*! cursor: cursor remove calls that return an error */ -#define WT_STAT_CONN_CURSOR_REMOVE_ERROR 1274 +#define WT_STAT_CONN_CURSOR_REMOVE_ERROR 1277 /*! cursor: cursor remove key bytes removed */ -#define WT_STAT_CONN_CURSOR_REMOVE_BYTES 1275 +#define WT_STAT_CONN_CURSOR_REMOVE_BYTES 1278 /*! cursor: cursor reopen calls that return an error */ -#define WT_STAT_CONN_CURSOR_REOPEN_ERROR 1276 +#define WT_STAT_CONN_CURSOR_REOPEN_ERROR 1279 /*! cursor: cursor reserve calls */ -#define WT_STAT_CONN_CURSOR_RESERVE 1277 +#define WT_STAT_CONN_CURSOR_RESERVE 1280 /*! cursor: cursor reserve calls that return an error */ -#define WT_STAT_CONN_CURSOR_RESERVE_ERROR 1278 +#define WT_STAT_CONN_CURSOR_RESERVE_ERROR 1281 /*! cursor: cursor reset calls */ -#define WT_STAT_CONN_CURSOR_RESET 1279 +#define WT_STAT_CONN_CURSOR_RESET 1282 /*! cursor: cursor reset calls that return an error */ -#define WT_STAT_CONN_CURSOR_RESET_ERROR 1280 +#define WT_STAT_CONN_CURSOR_RESET_ERROR 1283 /*! cursor: cursor search calls */ -#define WT_STAT_CONN_CURSOR_SEARCH 1281 +#define WT_STAT_CONN_CURSOR_SEARCH 1284 /*! cursor: cursor search calls that return an error */ -#define WT_STAT_CONN_CURSOR_SEARCH_ERROR 1282 +#define WT_STAT_CONN_CURSOR_SEARCH_ERROR 1285 /*! cursor: cursor search history store calls */ -#define WT_STAT_CONN_CURSOR_SEARCH_HS 1283 +#define WT_STAT_CONN_CURSOR_SEARCH_HS 1286 /*! cursor: cursor search near calls */ -#define WT_STAT_CONN_CURSOR_SEARCH_NEAR 1284 +#define WT_STAT_CONN_CURSOR_SEARCH_NEAR 1287 /*! cursor: cursor search near calls that return an error */ -#define WT_STAT_CONN_CURSOR_SEARCH_NEAR_ERROR 1285 +#define WT_STAT_CONN_CURSOR_SEARCH_NEAR_ERROR 1288 /*! cursor: cursor sweep buckets */ -#define WT_STAT_CONN_CURSOR_SWEEP_BUCKETS 1286 +#define WT_STAT_CONN_CURSOR_SWEEP_BUCKETS 1289 /*! cursor: cursor sweep cursors closed */ -#define WT_STAT_CONN_CURSOR_SWEEP_CLOSED 1287 +#define WT_STAT_CONN_CURSOR_SWEEP_CLOSED 1290 /*! cursor: cursor sweep cursors examined */ -#define WT_STAT_CONN_CURSOR_SWEEP_EXAMINED 1288 +#define WT_STAT_CONN_CURSOR_SWEEP_EXAMINED 1291 /*! cursor: cursor sweeps */ -#define WT_STAT_CONN_CURSOR_SWEEP 1289 +#define WT_STAT_CONN_CURSOR_SWEEP 1292 /*! cursor: cursor truncate calls */ -#define WT_STAT_CONN_CURSOR_TRUNCATE 1290 +#define WT_STAT_CONN_CURSOR_TRUNCATE 1293 /*! cursor: cursor truncates performed on individual keys */ -#define WT_STAT_CONN_CURSOR_TRUNCATE_KEYS_DELETED 1291 +#define WT_STAT_CONN_CURSOR_TRUNCATE_KEYS_DELETED 1294 /*! cursor: cursor update calls */ -#define WT_STAT_CONN_CURSOR_UPDATE 1292 +#define WT_STAT_CONN_CURSOR_UPDATE 1295 /*! cursor: cursor update calls that return an error */ -#define WT_STAT_CONN_CURSOR_UPDATE_ERROR 1293 +#define WT_STAT_CONN_CURSOR_UPDATE_ERROR 1296 /*! cursor: cursor update key and value bytes */ -#define WT_STAT_CONN_CURSOR_UPDATE_BYTES 1294 +#define WT_STAT_CONN_CURSOR_UPDATE_BYTES 1297 /*! cursor: cursor update value size change */ -#define WT_STAT_CONN_CURSOR_UPDATE_BYTES_CHANGED 1295 +#define WT_STAT_CONN_CURSOR_UPDATE_BYTES_CHANGED 1298 /*! cursor: cursors reused from cache */ -#define WT_STAT_CONN_CURSOR_REOPEN 1296 +#define WT_STAT_CONN_CURSOR_REOPEN 1299 /*! cursor: open cursor count */ -#define WT_STAT_CONN_CURSOR_OPEN_COUNT 1297 +#define WT_STAT_CONN_CURSOR_OPEN_COUNT 1300 /*! data-handle: connection data handle size */ -#define WT_STAT_CONN_DH_CONN_HANDLE_SIZE 1298 +#define WT_STAT_CONN_DH_CONN_HANDLE_SIZE 1301 /*! data-handle: connection data handles currently active */ -#define WT_STAT_CONN_DH_CONN_HANDLE_COUNT 1299 +#define WT_STAT_CONN_DH_CONN_HANDLE_COUNT 1302 /*! data-handle: connection sweep candidate became referenced */ -#define WT_STAT_CONN_DH_SWEEP_REF 1300 +#define WT_STAT_CONN_DH_SWEEP_REF 1303 /*! data-handle: connection sweep dhandles closed */ -#define WT_STAT_CONN_DH_SWEEP_CLOSE 1301 +#define WT_STAT_CONN_DH_SWEEP_CLOSE 1304 /*! data-handle: connection sweep dhandles removed from hash list */ -#define WT_STAT_CONN_DH_SWEEP_REMOVE 1302 +#define WT_STAT_CONN_DH_SWEEP_REMOVE 1305 /*! data-handle: connection sweep time-of-death sets */ -#define WT_STAT_CONN_DH_SWEEP_TOD 1303 +#define WT_STAT_CONN_DH_SWEEP_TOD 1306 /*! data-handle: connection sweeps */ -#define WT_STAT_CONN_DH_SWEEPS 1304 +#define WT_STAT_CONN_DH_SWEEPS 1307 /*! * data-handle: connection sweeps skipped due to checkpoint gathering * handles */ -#define WT_STAT_CONN_DH_SWEEP_SKIP_CKPT 1305 +#define WT_STAT_CONN_DH_SWEEP_SKIP_CKPT 1308 /*! data-handle: session dhandles swept */ -#define WT_STAT_CONN_DH_SESSION_HANDLES 1306 +#define WT_STAT_CONN_DH_SESSION_HANDLES 1309 /*! data-handle: session sweep attempts */ -#define WT_STAT_CONN_DH_SESSION_SWEEPS 1307 +#define WT_STAT_CONN_DH_SESSION_SWEEPS 1310 /*! lock: checkpoint lock acquisitions */ -#define WT_STAT_CONN_LOCK_CHECKPOINT_COUNT 1308 +#define WT_STAT_CONN_LOCK_CHECKPOINT_COUNT 1311 /*! lock: checkpoint lock application thread wait time (usecs) */ -#define WT_STAT_CONN_LOCK_CHECKPOINT_WAIT_APPLICATION 1309 +#define WT_STAT_CONN_LOCK_CHECKPOINT_WAIT_APPLICATION 1312 /*! lock: checkpoint lock internal thread wait time (usecs) */ -#define WT_STAT_CONN_LOCK_CHECKPOINT_WAIT_INTERNAL 1310 +#define WT_STAT_CONN_LOCK_CHECKPOINT_WAIT_INTERNAL 1313 /*! lock: dhandle lock application thread time waiting (usecs) */ -#define WT_STAT_CONN_LOCK_DHANDLE_WAIT_APPLICATION 1311 +#define WT_STAT_CONN_LOCK_DHANDLE_WAIT_APPLICATION 1314 /*! lock: dhandle lock internal thread time waiting (usecs) */ -#define WT_STAT_CONN_LOCK_DHANDLE_WAIT_INTERNAL 1312 +#define WT_STAT_CONN_LOCK_DHANDLE_WAIT_INTERNAL 1315 /*! lock: dhandle read lock acquisitions */ -#define WT_STAT_CONN_LOCK_DHANDLE_READ_COUNT 1313 +#define WT_STAT_CONN_LOCK_DHANDLE_READ_COUNT 1316 /*! lock: dhandle write lock acquisitions */ -#define WT_STAT_CONN_LOCK_DHANDLE_WRITE_COUNT 1314 +#define WT_STAT_CONN_LOCK_DHANDLE_WRITE_COUNT 1317 /*! * lock: durable timestamp queue lock application thread time waiting * (usecs) */ -#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_WAIT_APPLICATION 1315 +#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_WAIT_APPLICATION 1318 /*! * lock: durable timestamp queue lock internal thread time waiting * (usecs) */ -#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_WAIT_INTERNAL 1316 +#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_WAIT_INTERNAL 1319 /*! lock: durable timestamp queue read lock acquisitions */ -#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_READ_COUNT 1317 +#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_READ_COUNT 1320 /*! lock: durable timestamp queue write lock acquisitions */ -#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_WRITE_COUNT 1318 +#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_WRITE_COUNT 1321 /*! lock: metadata lock acquisitions */ -#define WT_STAT_CONN_LOCK_METADATA_COUNT 1319 +#define WT_STAT_CONN_LOCK_METADATA_COUNT 1322 /*! lock: metadata lock application thread wait time (usecs) */ -#define WT_STAT_CONN_LOCK_METADATA_WAIT_APPLICATION 1320 +#define WT_STAT_CONN_LOCK_METADATA_WAIT_APPLICATION 1323 /*! lock: metadata lock internal thread wait time (usecs) */ -#define WT_STAT_CONN_LOCK_METADATA_WAIT_INTERNAL 1321 +#define WT_STAT_CONN_LOCK_METADATA_WAIT_INTERNAL 1324 /*! * lock: read timestamp queue lock application thread time waiting * (usecs) */ -#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_WAIT_APPLICATION 1322 +#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_WAIT_APPLICATION 1325 /*! lock: read timestamp queue lock internal thread time waiting (usecs) */ -#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_WAIT_INTERNAL 1323 +#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_WAIT_INTERNAL 1326 /*! lock: read timestamp queue read lock acquisitions */ -#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_READ_COUNT 1324 +#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_READ_COUNT 1327 /*! lock: read timestamp queue write lock acquisitions */ -#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_WRITE_COUNT 1325 +#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_WRITE_COUNT 1328 /*! lock: schema lock acquisitions */ -#define WT_STAT_CONN_LOCK_SCHEMA_COUNT 1326 +#define WT_STAT_CONN_LOCK_SCHEMA_COUNT 1329 /*! lock: schema lock application thread wait time (usecs) */ -#define WT_STAT_CONN_LOCK_SCHEMA_WAIT_APPLICATION 1327 +#define WT_STAT_CONN_LOCK_SCHEMA_WAIT_APPLICATION 1330 /*! lock: schema lock internal thread wait time (usecs) */ -#define WT_STAT_CONN_LOCK_SCHEMA_WAIT_INTERNAL 1328 +#define WT_STAT_CONN_LOCK_SCHEMA_WAIT_INTERNAL 1331 /*! * lock: table lock application thread time waiting for the table lock * (usecs) */ -#define WT_STAT_CONN_LOCK_TABLE_WAIT_APPLICATION 1329 +#define WT_STAT_CONN_LOCK_TABLE_WAIT_APPLICATION 1332 /*! * lock: table lock internal thread time waiting for the table lock * (usecs) */ -#define WT_STAT_CONN_LOCK_TABLE_WAIT_INTERNAL 1330 +#define WT_STAT_CONN_LOCK_TABLE_WAIT_INTERNAL 1333 /*! lock: table read lock acquisitions */ -#define WT_STAT_CONN_LOCK_TABLE_READ_COUNT 1331 +#define WT_STAT_CONN_LOCK_TABLE_READ_COUNT 1334 /*! lock: table write lock acquisitions */ -#define WT_STAT_CONN_LOCK_TABLE_WRITE_COUNT 1332 +#define WT_STAT_CONN_LOCK_TABLE_WRITE_COUNT 1335 /*! lock: txn global lock application thread time waiting (usecs) */ -#define WT_STAT_CONN_LOCK_TXN_GLOBAL_WAIT_APPLICATION 1333 +#define WT_STAT_CONN_LOCK_TXN_GLOBAL_WAIT_APPLICATION 1336 /*! lock: txn global lock internal thread time waiting (usecs) */ -#define WT_STAT_CONN_LOCK_TXN_GLOBAL_WAIT_INTERNAL 1334 +#define WT_STAT_CONN_LOCK_TXN_GLOBAL_WAIT_INTERNAL 1337 /*! lock: txn global read lock acquisitions */ -#define WT_STAT_CONN_LOCK_TXN_GLOBAL_READ_COUNT 1335 +#define WT_STAT_CONN_LOCK_TXN_GLOBAL_READ_COUNT 1338 /*! lock: txn global write lock acquisitions */ -#define WT_STAT_CONN_LOCK_TXN_GLOBAL_WRITE_COUNT 1336 +#define WT_STAT_CONN_LOCK_TXN_GLOBAL_WRITE_COUNT 1339 /*! log: busy returns attempting to switch slots */ -#define WT_STAT_CONN_LOG_SLOT_SWITCH_BUSY 1337 +#define WT_STAT_CONN_LOG_SLOT_SWITCH_BUSY 1340 /*! log: force log remove time sleeping (usecs) */ -#define WT_STAT_CONN_LOG_FORCE_REMOVE_SLEEP 1338 +#define WT_STAT_CONN_LOG_FORCE_REMOVE_SLEEP 1341 /*! log: log bytes of payload data */ -#define WT_STAT_CONN_LOG_BYTES_PAYLOAD 1339 +#define WT_STAT_CONN_LOG_BYTES_PAYLOAD 1342 /*! log: log bytes written */ -#define WT_STAT_CONN_LOG_BYTES_WRITTEN 1340 +#define WT_STAT_CONN_LOG_BYTES_WRITTEN 1343 /*! log: log files manually zero-filled */ -#define WT_STAT_CONN_LOG_ZERO_FILLS 1341 +#define WT_STAT_CONN_LOG_ZERO_FILLS 1344 /*! log: log flush operations */ -#define WT_STAT_CONN_LOG_FLUSH 1342 +#define WT_STAT_CONN_LOG_FLUSH 1345 /*! log: log force write operations */ -#define WT_STAT_CONN_LOG_FORCE_WRITE 1343 +#define WT_STAT_CONN_LOG_FORCE_WRITE 1346 /*! log: log force write operations skipped */ -#define WT_STAT_CONN_LOG_FORCE_WRITE_SKIP 1344 +#define WT_STAT_CONN_LOG_FORCE_WRITE_SKIP 1347 /*! log: log records compressed */ -#define WT_STAT_CONN_LOG_COMPRESS_WRITES 1345 +#define WT_STAT_CONN_LOG_COMPRESS_WRITES 1348 /*! log: log records not compressed */ -#define WT_STAT_CONN_LOG_COMPRESS_WRITE_FAILS 1346 +#define WT_STAT_CONN_LOG_COMPRESS_WRITE_FAILS 1349 /*! log: log records too small to compress */ -#define WT_STAT_CONN_LOG_COMPRESS_SMALL 1347 +#define WT_STAT_CONN_LOG_COMPRESS_SMALL 1350 /*! log: log release advances write LSN */ -#define WT_STAT_CONN_LOG_RELEASE_WRITE_LSN 1348 +#define WT_STAT_CONN_LOG_RELEASE_WRITE_LSN 1351 /*! log: log scan operations */ -#define WT_STAT_CONN_LOG_SCANS 1349 +#define WT_STAT_CONN_LOG_SCANS 1352 /*! log: log scan records requiring two reads */ -#define WT_STAT_CONN_LOG_SCAN_REREADS 1350 +#define WT_STAT_CONN_LOG_SCAN_REREADS 1353 /*! log: log server thread advances write LSN */ -#define WT_STAT_CONN_LOG_WRITE_LSN 1351 +#define WT_STAT_CONN_LOG_WRITE_LSN 1354 /*! log: log server thread write LSN walk skipped */ -#define WT_STAT_CONN_LOG_WRITE_LSN_SKIP 1352 +#define WT_STAT_CONN_LOG_WRITE_LSN_SKIP 1355 /*! log: log sync operations */ -#define WT_STAT_CONN_LOG_SYNC 1353 +#define WT_STAT_CONN_LOG_SYNC 1356 /*! log: log sync time duration (usecs) */ -#define WT_STAT_CONN_LOG_SYNC_DURATION 1354 +#define WT_STAT_CONN_LOG_SYNC_DURATION 1357 /*! log: log sync_dir operations */ -#define WT_STAT_CONN_LOG_SYNC_DIR 1355 +#define WT_STAT_CONN_LOG_SYNC_DIR 1358 /*! log: log sync_dir time duration (usecs) */ -#define WT_STAT_CONN_LOG_SYNC_DIR_DURATION 1356 +#define WT_STAT_CONN_LOG_SYNC_DIR_DURATION 1359 /*! log: log write operations */ -#define WT_STAT_CONN_LOG_WRITES 1357 +#define WT_STAT_CONN_LOG_WRITES 1360 /*! log: logging bytes consolidated */ -#define WT_STAT_CONN_LOG_SLOT_CONSOLIDATED 1358 +#define WT_STAT_CONN_LOG_SLOT_CONSOLIDATED 1361 /*! log: maximum log file size */ -#define WT_STAT_CONN_LOG_MAX_FILESIZE 1359 +#define WT_STAT_CONN_LOG_MAX_FILESIZE 1362 /*! log: number of pre-allocated log files to create */ -#define WT_STAT_CONN_LOG_PREALLOC_MAX 1360 +#define WT_STAT_CONN_LOG_PREALLOC_MAX 1363 /*! log: pre-allocated log files not ready and missed */ -#define WT_STAT_CONN_LOG_PREALLOC_MISSED 1361 +#define WT_STAT_CONN_LOG_PREALLOC_MISSED 1364 /*! log: pre-allocated log files prepared */ -#define WT_STAT_CONN_LOG_PREALLOC_FILES 1362 +#define WT_STAT_CONN_LOG_PREALLOC_FILES 1365 /*! log: pre-allocated log files used */ -#define WT_STAT_CONN_LOG_PREALLOC_USED 1363 +#define WT_STAT_CONN_LOG_PREALLOC_USED 1366 /*! log: records processed by log scan */ -#define WT_STAT_CONN_LOG_SCAN_RECORDS 1364 +#define WT_STAT_CONN_LOG_SCAN_RECORDS 1367 /*! log: slot close lost race */ -#define WT_STAT_CONN_LOG_SLOT_CLOSE_RACE 1365 +#define WT_STAT_CONN_LOG_SLOT_CLOSE_RACE 1368 /*! log: slot close unbuffered waits */ -#define WT_STAT_CONN_LOG_SLOT_CLOSE_UNBUF 1366 +#define WT_STAT_CONN_LOG_SLOT_CLOSE_UNBUF 1369 /*! log: slot closures */ -#define WT_STAT_CONN_LOG_SLOT_CLOSES 1367 +#define WT_STAT_CONN_LOG_SLOT_CLOSES 1370 /*! log: slot join atomic update races */ -#define WT_STAT_CONN_LOG_SLOT_RACES 1368 +#define WT_STAT_CONN_LOG_SLOT_RACES 1371 /*! log: slot join calls atomic updates raced */ -#define WT_STAT_CONN_LOG_SLOT_YIELD_RACE 1369 +#define WT_STAT_CONN_LOG_SLOT_YIELD_RACE 1372 /*! log: slot join calls did not yield */ -#define WT_STAT_CONN_LOG_SLOT_IMMEDIATE 1370 +#define WT_STAT_CONN_LOG_SLOT_IMMEDIATE 1373 /*! log: slot join calls found active slot closed */ -#define WT_STAT_CONN_LOG_SLOT_YIELD_CLOSE 1371 +#define WT_STAT_CONN_LOG_SLOT_YIELD_CLOSE 1374 /*! log: slot join calls slept */ -#define WT_STAT_CONN_LOG_SLOT_YIELD_SLEEP 1372 +#define WT_STAT_CONN_LOG_SLOT_YIELD_SLEEP 1375 /*! log: slot join calls yielded */ -#define WT_STAT_CONN_LOG_SLOT_YIELD 1373 +#define WT_STAT_CONN_LOG_SLOT_YIELD 1376 /*! log: slot join found active slot closed */ -#define WT_STAT_CONN_LOG_SLOT_ACTIVE_CLOSED 1374 +#define WT_STAT_CONN_LOG_SLOT_ACTIVE_CLOSED 1377 /*! log: slot joins yield time (usecs) */ -#define WT_STAT_CONN_LOG_SLOT_YIELD_DURATION 1375 +#define WT_STAT_CONN_LOG_SLOT_YIELD_DURATION 1378 /*! log: slot transitions unable to find free slot */ -#define WT_STAT_CONN_LOG_SLOT_NO_FREE_SLOTS 1376 +#define WT_STAT_CONN_LOG_SLOT_NO_FREE_SLOTS 1379 /*! log: slot unbuffered writes */ -#define WT_STAT_CONN_LOG_SLOT_UNBUFFERED 1377 +#define WT_STAT_CONN_LOG_SLOT_UNBUFFERED 1380 /*! log: total in-memory size of compressed records */ -#define WT_STAT_CONN_LOG_COMPRESS_MEM 1378 +#define WT_STAT_CONN_LOG_COMPRESS_MEM 1381 /*! log: total log buffer size */ -#define WT_STAT_CONN_LOG_BUFFER_SIZE 1379 +#define WT_STAT_CONN_LOG_BUFFER_SIZE 1382 /*! log: total size of compressed records */ -#define WT_STAT_CONN_LOG_COMPRESS_LEN 1380 +#define WT_STAT_CONN_LOG_COMPRESS_LEN 1383 /*! log: written slots coalesced */ -#define WT_STAT_CONN_LOG_SLOT_COALESCED 1381 +#define WT_STAT_CONN_LOG_SLOT_COALESCED 1384 /*! log: yields waiting for previous log file close */ -#define WT_STAT_CONN_LOG_CLOSE_YIELDS 1382 +#define WT_STAT_CONN_LOG_CLOSE_YIELDS 1385 /*! perf: file system read latency histogram (bucket 1) - 10-49ms */ -#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT50 1383 +#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT50 1386 /*! perf: file system read latency histogram (bucket 2) - 50-99ms */ -#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT100 1384 +#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT100 1387 /*! perf: file system read latency histogram (bucket 3) - 100-249ms */ -#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT250 1385 +#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT250 1388 /*! perf: file system read latency histogram (bucket 4) - 250-499ms */ -#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT500 1386 +#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT500 1389 /*! perf: file system read latency histogram (bucket 5) - 500-999ms */ -#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT1000 1387 +#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT1000 1390 /*! perf: file system read latency histogram (bucket 6) - 1000ms+ */ -#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_GT1000 1388 +#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_GT1000 1391 /*! perf: file system write latency histogram (bucket 1) - 10-49ms */ -#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT50 1389 +#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT50 1392 /*! perf: file system write latency histogram (bucket 2) - 50-99ms */ -#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT100 1390 +#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT100 1393 /*! perf: file system write latency histogram (bucket 3) - 100-249ms */ -#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT250 1391 +#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT250 1394 /*! perf: file system write latency histogram (bucket 4) - 250-499ms */ -#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT500 1392 +#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT500 1395 /*! perf: file system write latency histogram (bucket 5) - 500-999ms */ -#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT1000 1393 +#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT1000 1396 /*! perf: file system write latency histogram (bucket 6) - 1000ms+ */ -#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_GT1000 1394 +#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_GT1000 1397 /*! perf: operation read latency histogram (bucket 1) - 100-249us */ -#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT250 1395 +#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT250 1398 /*! perf: operation read latency histogram (bucket 2) - 250-499us */ -#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT500 1396 +#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT500 1399 /*! perf: operation read latency histogram (bucket 3) - 500-999us */ -#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT1000 1397 +#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT1000 1400 /*! perf: operation read latency histogram (bucket 4) - 1000-9999us */ -#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT10000 1398 +#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT10000 1401 /*! perf: operation read latency histogram (bucket 5) - 10000us+ */ -#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_GT10000 1399 +#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_GT10000 1402 /*! perf: operation write latency histogram (bucket 1) - 100-249us */ -#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT250 1400 +#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT250 1403 /*! perf: operation write latency histogram (bucket 2) - 250-499us */ -#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT500 1401 +#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT500 1404 /*! perf: operation write latency histogram (bucket 3) - 500-999us */ -#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT1000 1402 +#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT1000 1405 /*! perf: operation write latency histogram (bucket 4) - 1000-9999us */ -#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT10000 1403 +#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT10000 1406 /*! perf: operation write latency histogram (bucket 5) - 10000us+ */ -#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_GT10000 1404 +#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_GT10000 1407 /*! reconciliation: VLCS pages explicitly reconciled as empty */ -#define WT_STAT_CONN_REC_VLCS_EMPTIED_PAGES 1405 +#define WT_STAT_CONN_REC_VLCS_EMPTIED_PAGES 1408 /*! reconciliation: approximate byte size of timestamps in pages written */ -#define WT_STAT_CONN_REC_TIME_WINDOW_BYTES_TS 1406 +#define WT_STAT_CONN_REC_TIME_WINDOW_BYTES_TS 1409 /*! * reconciliation: approximate byte size of transaction IDs in pages * written */ -#define WT_STAT_CONN_REC_TIME_WINDOW_BYTES_TXN 1407 +#define WT_STAT_CONN_REC_TIME_WINDOW_BYTES_TXN 1410 /*! reconciliation: fast-path pages deleted */ -#define WT_STAT_CONN_REC_PAGE_DELETE_FAST 1408 +#define WT_STAT_CONN_REC_PAGE_DELETE_FAST 1411 /*! reconciliation: leaf-page overflow keys */ -#define WT_STAT_CONN_REC_OVERFLOW_KEY_LEAF 1409 +#define WT_STAT_CONN_REC_OVERFLOW_KEY_LEAF 1412 /*! reconciliation: maximum seconds spent in a reconciliation call */ -#define WT_STAT_CONN_REC_MAXIMUM_SECONDS 1410 +#define WT_STAT_CONN_REC_MAXIMUM_SECONDS 1413 /*! * reconciliation: maximum seconds spent in building a disk image in a * reconciliation */ -#define WT_STAT_CONN_REC_MAXIMUM_IMAGE_BUILD_SECONDS 1411 +#define WT_STAT_CONN_REC_MAXIMUM_IMAGE_BUILD_SECONDS 1414 /*! * reconciliation: maximum seconds spent in moving updates to the history * store in a reconciliation */ -#define WT_STAT_CONN_REC_MAXIMUM_HS_WRAPUP_SECONDS 1412 +#define WT_STAT_CONN_REC_MAXIMUM_HS_WRAPUP_SECONDS 1415 /*! reconciliation: page reconciliation calls */ -#define WT_STAT_CONN_REC_PAGES 1413 +#define WT_STAT_CONN_REC_PAGES 1416 /*! reconciliation: page reconciliation calls for eviction */ -#define WT_STAT_CONN_REC_PAGES_EVICTION 1414 +#define WT_STAT_CONN_REC_PAGES_EVICTION 1417 /*! * reconciliation: page reconciliation calls that resulted in values with * prepared transaction metadata */ -#define WT_STAT_CONN_REC_PAGES_WITH_PREPARE 1415 +#define WT_STAT_CONN_REC_PAGES_WITH_PREPARE 1418 /*! * reconciliation: page reconciliation calls that resulted in values with * timestamps */ -#define WT_STAT_CONN_REC_PAGES_WITH_TS 1416 +#define WT_STAT_CONN_REC_PAGES_WITH_TS 1419 /*! * reconciliation: page reconciliation calls that resulted in values with * transaction ids */ -#define WT_STAT_CONN_REC_PAGES_WITH_TXN 1417 +#define WT_STAT_CONN_REC_PAGES_WITH_TXN 1420 /*! reconciliation: pages deleted */ -#define WT_STAT_CONN_REC_PAGE_DELETE 1418 +#define WT_STAT_CONN_REC_PAGE_DELETE 1421 /*! * reconciliation: pages written including an aggregated newest start * durable timestamp */ -#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_START_DURABLE_TS 1419 +#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_START_DURABLE_TS 1422 /*! * reconciliation: pages written including an aggregated newest stop * durable timestamp */ -#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_STOP_DURABLE_TS 1420 +#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_STOP_DURABLE_TS 1423 /*! * reconciliation: pages written including an aggregated newest stop * timestamp */ -#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_STOP_TS 1421 +#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_STOP_TS 1424 /*! * reconciliation: pages written including an aggregated newest stop * transaction ID */ -#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_STOP_TXN 1422 +#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_STOP_TXN 1425 /*! * reconciliation: pages written including an aggregated newest * transaction ID */ -#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_TXN 1423 +#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_TXN 1426 /*! * reconciliation: pages written including an aggregated oldest start * timestamp */ -#define WT_STAT_CONN_REC_TIME_AGGR_OLDEST_START_TS 1424 +#define WT_STAT_CONN_REC_TIME_AGGR_OLDEST_START_TS 1427 /*! reconciliation: pages written including an aggregated prepare */ -#define WT_STAT_CONN_REC_TIME_AGGR_PREPARED 1425 +#define WT_STAT_CONN_REC_TIME_AGGR_PREPARED 1428 /*! reconciliation: pages written including at least one prepare state */ -#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_PREPARED 1426 +#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_PREPARED 1429 /*! * reconciliation: pages written including at least one start durable * timestamp */ -#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_DURABLE_START_TS 1427 +#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_DURABLE_START_TS 1430 /*! reconciliation: pages written including at least one start timestamp */ -#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_START_TS 1428 +#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_START_TS 1431 /*! * reconciliation: pages written including at least one start transaction * ID */ -#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_START_TXN 1429 +#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_START_TXN 1432 /*! * reconciliation: pages written including at least one stop durable * timestamp */ -#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_DURABLE_STOP_TS 1430 +#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_DURABLE_STOP_TS 1433 /*! reconciliation: pages written including at least one stop timestamp */ -#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_STOP_TS 1431 +#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_STOP_TS 1434 /*! * reconciliation: pages written including at least one stop transaction * ID */ -#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_STOP_TXN 1432 +#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_STOP_TXN 1435 /*! reconciliation: records written including a prepare state */ -#define WT_STAT_CONN_REC_TIME_WINDOW_PREPARED 1433 +#define WT_STAT_CONN_REC_TIME_WINDOW_PREPARED 1436 /*! reconciliation: records written including a start durable timestamp */ -#define WT_STAT_CONN_REC_TIME_WINDOW_DURABLE_START_TS 1434 +#define WT_STAT_CONN_REC_TIME_WINDOW_DURABLE_START_TS 1437 /*! reconciliation: records written including a start timestamp */ -#define WT_STAT_CONN_REC_TIME_WINDOW_START_TS 1435 +#define WT_STAT_CONN_REC_TIME_WINDOW_START_TS 1438 /*! reconciliation: records written including a start transaction ID */ -#define WT_STAT_CONN_REC_TIME_WINDOW_START_TXN 1436 +#define WT_STAT_CONN_REC_TIME_WINDOW_START_TXN 1439 /*! reconciliation: records written including a stop durable timestamp */ -#define WT_STAT_CONN_REC_TIME_WINDOW_DURABLE_STOP_TS 1437 +#define WT_STAT_CONN_REC_TIME_WINDOW_DURABLE_STOP_TS 1440 /*! reconciliation: records written including a stop timestamp */ -#define WT_STAT_CONN_REC_TIME_WINDOW_STOP_TS 1438 +#define WT_STAT_CONN_REC_TIME_WINDOW_STOP_TS 1441 /*! reconciliation: records written including a stop transaction ID */ -#define WT_STAT_CONN_REC_TIME_WINDOW_STOP_TXN 1439 +#define WT_STAT_CONN_REC_TIME_WINDOW_STOP_TXN 1442 /*! reconciliation: split bytes currently awaiting free */ -#define WT_STAT_CONN_REC_SPLIT_STASHED_BYTES 1440 +#define WT_STAT_CONN_REC_SPLIT_STASHED_BYTES 1443 /*! reconciliation: split objects currently awaiting free */ -#define WT_STAT_CONN_REC_SPLIT_STASHED_OBJECTS 1441 +#define WT_STAT_CONN_REC_SPLIT_STASHED_OBJECTS 1444 /*! session: attempts to remove a local object and the object is in use */ -#define WT_STAT_CONN_LOCAL_OBJECTS_INUSE 1442 +#define WT_STAT_CONN_LOCAL_OBJECTS_INUSE 1445 /*! session: flush_tier failed calls */ -#define WT_STAT_CONN_FLUSH_TIER_FAIL 1443 +#define WT_STAT_CONN_FLUSH_TIER_FAIL 1446 /*! session: flush_tier operation calls */ -#define WT_STAT_CONN_FLUSH_TIER 1444 +#define WT_STAT_CONN_FLUSH_TIER 1447 /*! session: flush_tier tables skipped due to no checkpoint */ -#define WT_STAT_CONN_FLUSH_TIER_SKIPPED 1445 +#define WT_STAT_CONN_FLUSH_TIER_SKIPPED 1448 /*! session: flush_tier tables switched */ -#define WT_STAT_CONN_FLUSH_TIER_SWITCHED 1446 +#define WT_STAT_CONN_FLUSH_TIER_SWITCHED 1449 /*! session: local objects removed */ -#define WT_STAT_CONN_LOCAL_OBJECTS_REMOVED 1447 +#define WT_STAT_CONN_LOCAL_OBJECTS_REMOVED 1450 /*! session: open session count */ -#define WT_STAT_CONN_SESSION_OPEN 1448 +#define WT_STAT_CONN_SESSION_OPEN 1451 /*! session: session query timestamp calls */ -#define WT_STAT_CONN_SESSION_QUERY_TS 1449 +#define WT_STAT_CONN_SESSION_QUERY_TS 1452 /*! session: table alter failed calls */ -#define WT_STAT_CONN_SESSION_TABLE_ALTER_FAIL 1450 +#define WT_STAT_CONN_SESSION_TABLE_ALTER_FAIL 1453 /*! session: table alter successful calls */ -#define WT_STAT_CONN_SESSION_TABLE_ALTER_SUCCESS 1451 +#define WT_STAT_CONN_SESSION_TABLE_ALTER_SUCCESS 1454 /*! session: table alter triggering checkpoint calls */ -#define WT_STAT_CONN_SESSION_TABLE_ALTER_TRIGGER_CHECKPOINT 1452 +#define WT_STAT_CONN_SESSION_TABLE_ALTER_TRIGGER_CHECKPOINT 1455 /*! session: table alter unchanged and skipped */ -#define WT_STAT_CONN_SESSION_TABLE_ALTER_SKIP 1453 +#define WT_STAT_CONN_SESSION_TABLE_ALTER_SKIP 1456 /*! session: table compact failed calls */ -#define WT_STAT_CONN_SESSION_TABLE_COMPACT_FAIL 1454 +#define WT_STAT_CONN_SESSION_TABLE_COMPACT_FAIL 1457 /*! session: table compact failed calls due to cache pressure */ -#define WT_STAT_CONN_SESSION_TABLE_COMPACT_FAIL_CACHE_PRESSURE 1455 +#define WT_STAT_CONN_SESSION_TABLE_COMPACT_FAIL_CACHE_PRESSURE 1458 /*! session: table compact running */ -#define WT_STAT_CONN_SESSION_TABLE_COMPACT_RUNNING 1456 +#define WT_STAT_CONN_SESSION_TABLE_COMPACT_RUNNING 1459 /*! session: table compact skipped as process would not reduce file size */ -#define WT_STAT_CONN_SESSION_TABLE_COMPACT_SKIPPED 1457 +#define WT_STAT_CONN_SESSION_TABLE_COMPACT_SKIPPED 1460 /*! session: table compact successful calls */ -#define WT_STAT_CONN_SESSION_TABLE_COMPACT_SUCCESS 1458 +#define WT_STAT_CONN_SESSION_TABLE_COMPACT_SUCCESS 1461 /*! session: table compact timeout */ -#define WT_STAT_CONN_SESSION_TABLE_COMPACT_TIMEOUT 1459 +#define WT_STAT_CONN_SESSION_TABLE_COMPACT_TIMEOUT 1462 /*! session: table create failed calls */ -#define WT_STAT_CONN_SESSION_TABLE_CREATE_FAIL 1460 +#define WT_STAT_CONN_SESSION_TABLE_CREATE_FAIL 1463 /*! session: table create successful calls */ -#define WT_STAT_CONN_SESSION_TABLE_CREATE_SUCCESS 1461 +#define WT_STAT_CONN_SESSION_TABLE_CREATE_SUCCESS 1464 /*! session: table create with import failed calls */ -#define WT_STAT_CONN_SESSION_TABLE_CREATE_IMPORT_FAIL 1462 +#define WT_STAT_CONN_SESSION_TABLE_CREATE_IMPORT_FAIL 1465 /*! session: table create with import successful calls */ -#define WT_STAT_CONN_SESSION_TABLE_CREATE_IMPORT_SUCCESS 1463 +#define WT_STAT_CONN_SESSION_TABLE_CREATE_IMPORT_SUCCESS 1466 /*! session: table drop failed calls */ -#define WT_STAT_CONN_SESSION_TABLE_DROP_FAIL 1464 +#define WT_STAT_CONN_SESSION_TABLE_DROP_FAIL 1467 /*! session: table drop successful calls */ -#define WT_STAT_CONN_SESSION_TABLE_DROP_SUCCESS 1465 +#define WT_STAT_CONN_SESSION_TABLE_DROP_SUCCESS 1468 /*! session: table rename failed calls */ -#define WT_STAT_CONN_SESSION_TABLE_RENAME_FAIL 1466 +#define WT_STAT_CONN_SESSION_TABLE_RENAME_FAIL 1469 /*! session: table rename successful calls */ -#define WT_STAT_CONN_SESSION_TABLE_RENAME_SUCCESS 1467 +#define WT_STAT_CONN_SESSION_TABLE_RENAME_SUCCESS 1470 /*! session: table salvage failed calls */ -#define WT_STAT_CONN_SESSION_TABLE_SALVAGE_FAIL 1468 +#define WT_STAT_CONN_SESSION_TABLE_SALVAGE_FAIL 1471 /*! session: table salvage successful calls */ -#define WT_STAT_CONN_SESSION_TABLE_SALVAGE_SUCCESS 1469 +#define WT_STAT_CONN_SESSION_TABLE_SALVAGE_SUCCESS 1472 /*! session: table truncate failed calls */ -#define WT_STAT_CONN_SESSION_TABLE_TRUNCATE_FAIL 1470 +#define WT_STAT_CONN_SESSION_TABLE_TRUNCATE_FAIL 1473 /*! session: table truncate successful calls */ -#define WT_STAT_CONN_SESSION_TABLE_TRUNCATE_SUCCESS 1471 +#define WT_STAT_CONN_SESSION_TABLE_TRUNCATE_SUCCESS 1474 /*! session: table verify failed calls */ -#define WT_STAT_CONN_SESSION_TABLE_VERIFY_FAIL 1472 +#define WT_STAT_CONN_SESSION_TABLE_VERIFY_FAIL 1475 /*! session: table verify successful calls */ -#define WT_STAT_CONN_SESSION_TABLE_VERIFY_SUCCESS 1473 +#define WT_STAT_CONN_SESSION_TABLE_VERIFY_SUCCESS 1476 /*! session: tiered operations dequeued and processed */ -#define WT_STAT_CONN_TIERED_WORK_UNITS_DEQUEUED 1474 +#define WT_STAT_CONN_TIERED_WORK_UNITS_DEQUEUED 1477 /*! session: tiered operations removed without processing */ -#define WT_STAT_CONN_TIERED_WORK_UNITS_REMOVED 1475 +#define WT_STAT_CONN_TIERED_WORK_UNITS_REMOVED 1478 /*! session: tiered operations scheduled */ -#define WT_STAT_CONN_TIERED_WORK_UNITS_CREATED 1476 +#define WT_STAT_CONN_TIERED_WORK_UNITS_CREATED 1479 /*! session: tiered storage local retention time (secs) */ -#define WT_STAT_CONN_TIERED_RETENTION 1477 +#define WT_STAT_CONN_TIERED_RETENTION 1480 /*! thread-state: active filesystem fsync calls */ -#define WT_STAT_CONN_THREAD_FSYNC_ACTIVE 1478 +#define WT_STAT_CONN_THREAD_FSYNC_ACTIVE 1481 /*! thread-state: active filesystem read calls */ -#define WT_STAT_CONN_THREAD_READ_ACTIVE 1479 +#define WT_STAT_CONN_THREAD_READ_ACTIVE 1482 /*! thread-state: active filesystem write calls */ -#define WT_STAT_CONN_THREAD_WRITE_ACTIVE 1480 +#define WT_STAT_CONN_THREAD_WRITE_ACTIVE 1483 /*! thread-yield: application thread time evicting (usecs) */ -#define WT_STAT_CONN_APPLICATION_EVICT_TIME 1481 +#define WT_STAT_CONN_APPLICATION_EVICT_TIME 1484 /*! thread-yield: application thread time waiting for cache (usecs) */ -#define WT_STAT_CONN_APPLICATION_CACHE_TIME 1482 +#define WT_STAT_CONN_APPLICATION_CACHE_TIME 1485 /*! * thread-yield: connection close blocked waiting for transaction state * stabilization */ -#define WT_STAT_CONN_TXN_RELEASE_BLOCKED 1483 +#define WT_STAT_CONN_TXN_RELEASE_BLOCKED 1486 /*! thread-yield: connection close yielded for lsm manager shutdown */ -#define WT_STAT_CONN_CONN_CLOSE_BLOCKED_LSM 1484 +#define WT_STAT_CONN_CONN_CLOSE_BLOCKED_LSM 1487 /*! thread-yield: data handle lock yielded */ -#define WT_STAT_CONN_DHANDLE_LOCK_BLOCKED 1485 +#define WT_STAT_CONN_DHANDLE_LOCK_BLOCKED 1488 /*! * thread-yield: get reference for page index and slot time sleeping * (usecs) */ -#define WT_STAT_CONN_PAGE_INDEX_SLOT_REF_BLOCKED 1486 +#define WT_STAT_CONN_PAGE_INDEX_SLOT_REF_BLOCKED 1489 /*! thread-yield: page access yielded due to prepare state change */ -#define WT_STAT_CONN_PREPARED_TRANSITION_BLOCKED_PAGE 1487 +#define WT_STAT_CONN_PREPARED_TRANSITION_BLOCKED_PAGE 1490 /*! thread-yield: page acquire busy blocked */ -#define WT_STAT_CONN_PAGE_BUSY_BLOCKED 1488 +#define WT_STAT_CONN_PAGE_BUSY_BLOCKED 1491 /*! thread-yield: page acquire eviction blocked */ -#define WT_STAT_CONN_PAGE_FORCIBLE_EVICT_BLOCKED 1489 +#define WT_STAT_CONN_PAGE_FORCIBLE_EVICT_BLOCKED 1492 /*! thread-yield: page acquire locked blocked */ -#define WT_STAT_CONN_PAGE_LOCKED_BLOCKED 1490 +#define WT_STAT_CONN_PAGE_LOCKED_BLOCKED 1493 /*! thread-yield: page acquire read blocked */ -#define WT_STAT_CONN_PAGE_READ_BLOCKED 1491 +#define WT_STAT_CONN_PAGE_READ_BLOCKED 1494 /*! thread-yield: page acquire time sleeping (usecs) */ -#define WT_STAT_CONN_PAGE_SLEEP 1492 +#define WT_STAT_CONN_PAGE_SLEEP 1495 /*! * thread-yield: page delete rollback time sleeping for state change * (usecs) */ -#define WT_STAT_CONN_PAGE_DEL_ROLLBACK_BLOCKED 1493 +#define WT_STAT_CONN_PAGE_DEL_ROLLBACK_BLOCKED 1496 /*! thread-yield: page reconciliation yielded due to child modification */ -#define WT_STAT_CONN_CHILD_MODIFY_BLOCKED_PAGE 1494 +#define WT_STAT_CONN_CHILD_MODIFY_BLOCKED_PAGE 1497 /*! transaction: Number of prepared updates */ -#define WT_STAT_CONN_TXN_PREPARED_UPDATES 1495 +#define WT_STAT_CONN_TXN_PREPARED_UPDATES 1498 /*! transaction: Number of prepared updates committed */ -#define WT_STAT_CONN_TXN_PREPARED_UPDATES_COMMITTED 1496 +#define WT_STAT_CONN_TXN_PREPARED_UPDATES_COMMITTED 1499 /*! transaction: Number of prepared updates repeated on the same key */ -#define WT_STAT_CONN_TXN_PREPARED_UPDATES_KEY_REPEATED 1497 +#define WT_STAT_CONN_TXN_PREPARED_UPDATES_KEY_REPEATED 1500 /*! transaction: Number of prepared updates rolled back */ -#define WT_STAT_CONN_TXN_PREPARED_UPDATES_ROLLEDBACK 1498 +#define WT_STAT_CONN_TXN_PREPARED_UPDATES_ROLLEDBACK 1501 /*! transaction: number of times overflow removed value is read */ -#define WT_STAT_CONN_TXN_READ_OVERFLOW_REMOVE 1499 +#define WT_STAT_CONN_TXN_READ_OVERFLOW_REMOVE 1502 /*! transaction: oldest pinned transaction ID rolled back for eviction */ -#define WT_STAT_CONN_TXN_ROLLBACK_OLDEST_PINNED 1500 +#define WT_STAT_CONN_TXN_ROLLBACK_OLDEST_PINNED 1503 /*! transaction: prepared transactions */ -#define WT_STAT_CONN_TXN_PREPARE 1501 +#define WT_STAT_CONN_TXN_PREPARE 1504 /*! transaction: prepared transactions committed */ -#define WT_STAT_CONN_TXN_PREPARE_COMMIT 1502 +#define WT_STAT_CONN_TXN_PREPARE_COMMIT 1505 /*! transaction: prepared transactions currently active */ -#define WT_STAT_CONN_TXN_PREPARE_ACTIVE 1503 +#define WT_STAT_CONN_TXN_PREPARE_ACTIVE 1506 /*! transaction: prepared transactions rolled back */ -#define WT_STAT_CONN_TXN_PREPARE_ROLLBACK 1504 +#define WT_STAT_CONN_TXN_PREPARE_ROLLBACK 1507 /*! transaction: query timestamp calls */ -#define WT_STAT_CONN_TXN_QUERY_TS 1505 +#define WT_STAT_CONN_TXN_QUERY_TS 1508 /*! transaction: race to read prepared update retry */ -#define WT_STAT_CONN_TXN_READ_RACE_PREPARE_UPDATE 1506 +#define WT_STAT_CONN_TXN_READ_RACE_PREPARE_UPDATE 1509 /*! transaction: rollback to stable calls */ -#define WT_STAT_CONN_TXN_RTS 1507 +#define WT_STAT_CONN_TXN_RTS 1510 +/*! + * transaction: rollback to stable history store keys that would have + * been swept in non-dryrun mode + */ +#define WT_STAT_CONN_TXN_RTS_SWEEP_HS_KEYS_DRYRUN 1511 /*! * transaction: rollback to stable history store records with stop * timestamps older than newer records */ -#define WT_STAT_CONN_TXN_RTS_HS_STOP_OLDER_THAN_NEWER_START 1508 +#define WT_STAT_CONN_TXN_RTS_HS_STOP_OLDER_THAN_NEWER_START 1512 /*! transaction: rollback to stable inconsistent checkpoint */ -#define WT_STAT_CONN_TXN_RTS_INCONSISTENT_CKPT 1509 +#define WT_STAT_CONN_TXN_RTS_INCONSISTENT_CKPT 1513 /*! transaction: rollback to stable keys removed */ -#define WT_STAT_CONN_TXN_RTS_KEYS_REMOVED 1510 +#define WT_STAT_CONN_TXN_RTS_KEYS_REMOVED 1514 /*! transaction: rollback to stable keys restored */ -#define WT_STAT_CONN_TXN_RTS_KEYS_RESTORED 1511 +#define WT_STAT_CONN_TXN_RTS_KEYS_RESTORED 1515 +/*! + * transaction: rollback to stable keys that would have been removed in + * non-dryrun mode + */ +#define WT_STAT_CONN_TXN_RTS_KEYS_REMOVED_DRYRUN 1516 +/*! + * transaction: rollback to stable keys that would have been restored in + * non-dryrun mode + */ +#define WT_STAT_CONN_TXN_RTS_KEYS_RESTORED_DRYRUN 1517 /*! transaction: rollback to stable pages visited */ -#define WT_STAT_CONN_TXN_RTS_PAGES_VISITED 1512 +#define WT_STAT_CONN_TXN_RTS_PAGES_VISITED 1518 /*! transaction: rollback to stable restored tombstones from history store */ -#define WT_STAT_CONN_TXN_RTS_HS_RESTORE_TOMBSTONES 1513 +#define WT_STAT_CONN_TXN_RTS_HS_RESTORE_TOMBSTONES 1519 /*! transaction: rollback to stable restored updates from history store */ -#define WT_STAT_CONN_TXN_RTS_HS_RESTORE_UPDATES 1514 +#define WT_STAT_CONN_TXN_RTS_HS_RESTORE_UPDATES 1520 /*! transaction: rollback to stable skipping delete rle */ -#define WT_STAT_CONN_TXN_RTS_DELETE_RLE_SKIPPED 1515 +#define WT_STAT_CONN_TXN_RTS_DELETE_RLE_SKIPPED 1521 /*! transaction: rollback to stable skipping stable rle */ -#define WT_STAT_CONN_TXN_RTS_STABLE_RLE_SKIPPED 1516 +#define WT_STAT_CONN_TXN_RTS_STABLE_RLE_SKIPPED 1522 /*! transaction: rollback to stable sweeping history store keys */ -#define WT_STAT_CONN_TXN_RTS_SWEEP_HS_KEYS 1517 +#define WT_STAT_CONN_TXN_RTS_SWEEP_HS_KEYS 1523 +/*! + * transaction: rollback to stable tombstones from history store that + * would have been restored in non-dryrun mode + */ +#define WT_STAT_CONN_TXN_RTS_HS_RESTORE_TOMBSTONES_DRYRUN 1524 /*! transaction: rollback to stable tree walk skipping pages */ -#define WT_STAT_CONN_TXN_RTS_TREE_WALK_SKIP_PAGES 1518 +#define WT_STAT_CONN_TXN_RTS_TREE_WALK_SKIP_PAGES 1525 /*! transaction: rollback to stable updates aborted */ -#define WT_STAT_CONN_TXN_RTS_UPD_ABORTED 1519 +#define WT_STAT_CONN_TXN_RTS_UPD_ABORTED 1526 +/*! + * transaction: rollback to stable updates from history store that would + * have been restored in non-dryrun mode + */ +#define WT_STAT_CONN_TXN_RTS_HS_RESTORE_UPDATES_DRYRUN 1527 /*! transaction: rollback to stable updates removed from history store */ -#define WT_STAT_CONN_TXN_RTS_HS_REMOVED 1520 +#define WT_STAT_CONN_TXN_RTS_HS_REMOVED 1528 +/*! + * transaction: rollback to stable updates that would have been aborted + * in non-dryrun mode + */ +#define WT_STAT_CONN_TXN_RTS_UPD_ABORTED_DRYRUN 1529 +/*! + * transaction: rollback to stable updates that would have been removed + * from history store in non-dryrun mode + */ +#define WT_STAT_CONN_TXN_RTS_HS_REMOVED_DRYRUN 1530 /*! transaction: sessions scanned in each walk of concurrent sessions */ -#define WT_STAT_CONN_TXN_SESSIONS_WALKED 1521 +#define WT_STAT_CONN_TXN_SESSIONS_WALKED 1531 /*! transaction: set timestamp calls */ -#define WT_STAT_CONN_TXN_SET_TS 1522 +#define WT_STAT_CONN_TXN_SET_TS 1532 /*! transaction: set timestamp durable calls */ -#define WT_STAT_CONN_TXN_SET_TS_DURABLE 1523 +#define WT_STAT_CONN_TXN_SET_TS_DURABLE 1533 /*! transaction: set timestamp durable updates */ -#define WT_STAT_CONN_TXN_SET_TS_DURABLE_UPD 1524 +#define WT_STAT_CONN_TXN_SET_TS_DURABLE_UPD 1534 /*! transaction: set timestamp oldest calls */ -#define WT_STAT_CONN_TXN_SET_TS_OLDEST 1525 +#define WT_STAT_CONN_TXN_SET_TS_OLDEST 1535 /*! transaction: set timestamp oldest updates */ -#define WT_STAT_CONN_TXN_SET_TS_OLDEST_UPD 1526 +#define WT_STAT_CONN_TXN_SET_TS_OLDEST_UPD 1536 /*! transaction: set timestamp stable calls */ -#define WT_STAT_CONN_TXN_SET_TS_STABLE 1527 +#define WT_STAT_CONN_TXN_SET_TS_STABLE 1537 /*! transaction: set timestamp stable updates */ -#define WT_STAT_CONN_TXN_SET_TS_STABLE_UPD 1528 +#define WT_STAT_CONN_TXN_SET_TS_STABLE_UPD 1538 /*! transaction: transaction begins */ -#define WT_STAT_CONN_TXN_BEGIN 1529 +#define WT_STAT_CONN_TXN_BEGIN 1539 /*! transaction: transaction checkpoint currently running */ -#define WT_STAT_CONN_TXN_CHECKPOINT_RUNNING 1530 +#define WT_STAT_CONN_TXN_CHECKPOINT_RUNNING 1540 /*! * transaction: transaction checkpoint currently running for history * store file */ -#define WT_STAT_CONN_TXN_CHECKPOINT_RUNNING_HS 1531 +#define WT_STAT_CONN_TXN_CHECKPOINT_RUNNING_HS 1541 /*! transaction: transaction checkpoint generation */ -#define WT_STAT_CONN_TXN_CHECKPOINT_GENERATION 1532 +#define WT_STAT_CONN_TXN_CHECKPOINT_GENERATION 1542 /*! * transaction: transaction checkpoint history store file duration * (usecs) */ -#define WT_STAT_CONN_TXN_HS_CKPT_DURATION 1533 +#define WT_STAT_CONN_TXN_HS_CKPT_DURATION 1543 /*! transaction: transaction checkpoint max time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MAX 1534 +#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MAX 1544 /*! transaction: transaction checkpoint min time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MIN 1535 +#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MIN 1545 /*! * transaction: transaction checkpoint most recent duration for gathering * all handles (usecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_DURATION 1536 +#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_DURATION 1546 /*! * transaction: transaction checkpoint most recent duration for gathering * applied handles (usecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_DURATION_APPLY 1537 +#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_DURATION_APPLY 1547 /*! * transaction: transaction checkpoint most recent duration for gathering * skipped handles (usecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_DURATION_SKIP 1538 +#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_DURATION_SKIP 1548 /*! transaction: transaction checkpoint most recent handles applied */ -#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_APPLIED 1539 +#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_APPLIED 1549 /*! transaction: transaction checkpoint most recent handles skipped */ -#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_SKIPPED 1540 +#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_SKIPPED 1550 /*! transaction: transaction checkpoint most recent handles walked */ -#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_WALKED 1541 +#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_WALKED 1551 /*! transaction: transaction checkpoint most recent time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_RECENT 1542 +#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_RECENT 1552 /*! transaction: transaction checkpoint prepare currently running */ -#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_RUNNING 1543 +#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_RUNNING 1553 /*! transaction: transaction checkpoint prepare max time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_MAX 1544 +#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_MAX 1554 /*! transaction: transaction checkpoint prepare min time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_MIN 1545 +#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_MIN 1555 /*! transaction: transaction checkpoint prepare most recent time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_RECENT 1546 +#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_RECENT 1556 /*! transaction: transaction checkpoint prepare total time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_TOTAL 1547 +#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_TOTAL 1557 /*! transaction: transaction checkpoint scrub dirty target */ -#define WT_STAT_CONN_TXN_CHECKPOINT_SCRUB_TARGET 1548 +#define WT_STAT_CONN_TXN_CHECKPOINT_SCRUB_TARGET 1558 /*! transaction: transaction checkpoint scrub time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_SCRUB_TIME 1549 +#define WT_STAT_CONN_TXN_CHECKPOINT_SCRUB_TIME 1559 /*! transaction: transaction checkpoint stop timing stress active */ -#define WT_STAT_CONN_TXN_CHECKPOINT_STOP_STRESS_ACTIVE 1550 +#define WT_STAT_CONN_TXN_CHECKPOINT_STOP_STRESS_ACTIVE 1560 /*! transaction: transaction checkpoint total time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_TOTAL 1551 +#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_TOTAL 1561 /*! transaction: transaction checkpoints */ -#define WT_STAT_CONN_TXN_CHECKPOINT 1552 +#define WT_STAT_CONN_TXN_CHECKPOINT 1562 /*! transaction: transaction checkpoints due to obsolete pages */ -#define WT_STAT_CONN_TXN_CHECKPOINT_OBSOLETE_APPLIED 1553 +#define WT_STAT_CONN_TXN_CHECKPOINT_OBSOLETE_APPLIED 1563 /*! * transaction: transaction checkpoints skipped because database was * clean */ -#define WT_STAT_CONN_TXN_CHECKPOINT_SKIPPED 1554 +#define WT_STAT_CONN_TXN_CHECKPOINT_SKIPPED 1564 /*! * transaction: transaction fsync calls for checkpoint after allocating * the transaction ID */ -#define WT_STAT_CONN_TXN_CHECKPOINT_FSYNC_POST 1555 +#define WT_STAT_CONN_TXN_CHECKPOINT_FSYNC_POST 1565 /*! * transaction: transaction fsync duration for checkpoint after * allocating the transaction ID (usecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_FSYNC_POST_DURATION 1556 +#define WT_STAT_CONN_TXN_CHECKPOINT_FSYNC_POST_DURATION 1566 /*! transaction: transaction range of IDs currently pinned */ -#define WT_STAT_CONN_TXN_PINNED_RANGE 1557 +#define WT_STAT_CONN_TXN_PINNED_RANGE 1567 /*! transaction: transaction range of IDs currently pinned by a checkpoint */ -#define WT_STAT_CONN_TXN_PINNED_CHECKPOINT_RANGE 1558 +#define WT_STAT_CONN_TXN_PINNED_CHECKPOINT_RANGE 1568 /*! transaction: transaction range of timestamps currently pinned */ -#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP 1559 +#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP 1569 /*! transaction: transaction range of timestamps pinned by a checkpoint */ -#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP_CHECKPOINT 1560 +#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP_CHECKPOINT 1570 /*! * transaction: transaction range of timestamps pinned by the oldest * active read timestamp */ -#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP_READER 1561 +#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP_READER 1571 /*! * transaction: transaction range of timestamps pinned by the oldest * timestamp */ -#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP_OLDEST 1562 +#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP_OLDEST 1572 /*! transaction: transaction read timestamp of the oldest active reader */ -#define WT_STAT_CONN_TXN_TIMESTAMP_OLDEST_ACTIVE_READ 1563 +#define WT_STAT_CONN_TXN_TIMESTAMP_OLDEST_ACTIVE_READ 1573 /*! transaction: transaction rollback to stable currently running */ -#define WT_STAT_CONN_TXN_ROLLBACK_TO_STABLE_RUNNING 1564 +#define WT_STAT_CONN_TXN_ROLLBACK_TO_STABLE_RUNNING 1574 /*! transaction: transaction walk of concurrent sessions */ -#define WT_STAT_CONN_TXN_WALK_SESSIONS 1565 +#define WT_STAT_CONN_TXN_WALK_SESSIONS 1575 /*! transaction: transactions committed */ -#define WT_STAT_CONN_TXN_COMMIT 1566 +#define WT_STAT_CONN_TXN_COMMIT 1576 /*! transaction: transactions rolled back */ -#define WT_STAT_CONN_TXN_ROLLBACK 1567 +#define WT_STAT_CONN_TXN_ROLLBACK 1577 /*! transaction: update conflicts */ -#define WT_STAT_CONN_TXN_UPDATE_CONFLICT 1568 +#define WT_STAT_CONN_TXN_UPDATE_CONFLICT 1578 /*! * @} @@ -6965,521 +7015,566 @@ extern int wiredtiger_extension_terminate(WT_CONNECTION *connection); */ #define WT_STAT_DSRC_CACHE_HS_KEY_TRUNCATE_ONPAGE_REMOVAL 2086 /*! + * cache: history store table truncations that would have happened in + * non-dryrun mode + */ +#define WT_STAT_DSRC_CACHE_HS_BTREE_TRUNCATE_DRYRUN 2087 +/*! + * cache: history store table truncations to remove an unstable update + * that would have happened in non-dryrun mode + */ +#define WT_STAT_DSRC_CACHE_HS_KEY_TRUNCATE_RTS_UNSTABLE_DRYRUN 2088 +/*! + * cache: history store table truncations to remove an update that would + * have happened in non-dryrun mode + */ +#define WT_STAT_DSRC_CACHE_HS_KEY_TRUNCATE_RTS_DRYRUN 2089 +/*! * cache: history store table updates without timestamps fixed up by * reinserting with the fixed timestamp */ -#define WT_STAT_DSRC_CACHE_HS_ORDER_REINSERT 2087 +#define WT_STAT_DSRC_CACHE_HS_ORDER_REINSERT 2090 /*! cache: history store table writes requiring squashed modifies */ -#define WT_STAT_DSRC_CACHE_HS_WRITE_SQUASH 2088 +#define WT_STAT_DSRC_CACHE_HS_WRITE_SQUASH 2091 /*! cache: in-memory page passed criteria to be split */ -#define WT_STAT_DSRC_CACHE_INMEM_SPLITTABLE 2089 +#define WT_STAT_DSRC_CACHE_INMEM_SPLITTABLE 2092 /*! cache: in-memory page splits */ -#define WT_STAT_DSRC_CACHE_INMEM_SPLIT 2090 +#define WT_STAT_DSRC_CACHE_INMEM_SPLIT 2093 /*! cache: internal page split blocked its eviction */ -#define WT_STAT_DSRC_CACHE_EVICTION_BLOCKED_INTERNAL_PAGE_SPLIT 2091 +#define WT_STAT_DSRC_CACHE_EVICTION_BLOCKED_INTERNAL_PAGE_SPLIT 2094 /*! cache: internal pages evicted */ -#define WT_STAT_DSRC_CACHE_EVICTION_INTERNAL 2092 +#define WT_STAT_DSRC_CACHE_EVICTION_INTERNAL 2095 /*! cache: internal pages split during eviction */ -#define WT_STAT_DSRC_CACHE_EVICTION_SPLIT_INTERNAL 2093 +#define WT_STAT_DSRC_CACHE_EVICTION_SPLIT_INTERNAL 2096 /*! cache: leaf pages split during eviction */ -#define WT_STAT_DSRC_CACHE_EVICTION_SPLIT_LEAF 2094 +#define WT_STAT_DSRC_CACHE_EVICTION_SPLIT_LEAF 2097 /*! cache: modified pages evicted */ -#define WT_STAT_DSRC_CACHE_EVICTION_DIRTY 2095 +#define WT_STAT_DSRC_CACHE_EVICTION_DIRTY 2098 /*! * cache: overflow keys on a multiblock row-store page blocked its * eviction */ -#define WT_STAT_DSRC_CACHE_EVICTION_BLOCKED_OVERFLOW_KEYS 2096 +#define WT_STAT_DSRC_CACHE_EVICTION_BLOCKED_OVERFLOW_KEYS 2099 /*! cache: overflow pages read into cache */ -#define WT_STAT_DSRC_CACHE_READ_OVERFLOW 2097 +#define WT_STAT_DSRC_CACHE_READ_OVERFLOW 2100 /*! cache: page split during eviction deepened the tree */ -#define WT_STAT_DSRC_CACHE_EVICTION_DEEPEN 2098 +#define WT_STAT_DSRC_CACHE_EVICTION_DEEPEN 2101 /*! cache: page written requiring history store records */ -#define WT_STAT_DSRC_CACHE_WRITE_HS 2099 +#define WT_STAT_DSRC_CACHE_WRITE_HS 2102 /*! cache: pages read into cache */ -#define WT_STAT_DSRC_CACHE_READ 2100 +#define WT_STAT_DSRC_CACHE_READ 2103 /*! cache: pages read into cache after truncate */ -#define WT_STAT_DSRC_CACHE_READ_DELETED 2101 +#define WT_STAT_DSRC_CACHE_READ_DELETED 2104 /*! cache: pages read into cache after truncate in prepare state */ -#define WT_STAT_DSRC_CACHE_READ_DELETED_PREPARED 2102 +#define WT_STAT_DSRC_CACHE_READ_DELETED_PREPARED 2105 /*! cache: pages requested from the cache */ -#define WT_STAT_DSRC_CACHE_PAGES_REQUESTED 2103 +#define WT_STAT_DSRC_CACHE_PAGES_REQUESTED 2106 /*! cache: pages seen by eviction walk */ -#define WT_STAT_DSRC_CACHE_EVICTION_PAGES_SEEN 2104 +#define WT_STAT_DSRC_CACHE_EVICTION_PAGES_SEEN 2107 /*! cache: pages written from cache */ -#define WT_STAT_DSRC_CACHE_WRITE 2105 +#define WT_STAT_DSRC_CACHE_WRITE 2108 /*! cache: pages written requiring in-memory restoration */ -#define WT_STAT_DSRC_CACHE_WRITE_RESTORE 2106 +#define WT_STAT_DSRC_CACHE_WRITE_RESTORE 2109 /*! cache: recent modification of a page blocked its eviction */ -#define WT_STAT_DSRC_CACHE_EVICTION_BLOCKED_RECENTLY_MODIFIED 2107 +#define WT_STAT_DSRC_CACHE_EVICTION_BLOCKED_RECENTLY_MODIFIED 2110 /*! cache: reverse splits performed */ -#define WT_STAT_DSRC_CACHE_REVERSE_SPLITS 2108 +#define WT_STAT_DSRC_CACHE_REVERSE_SPLITS 2111 /*! * cache: reverse splits skipped because of VLCS namespace gap * restrictions */ -#define WT_STAT_DSRC_CACHE_REVERSE_SPLITS_SKIPPED_VLCS 2109 +#define WT_STAT_DSRC_CACHE_REVERSE_SPLITS_SKIPPED_VLCS 2112 /*! cache: the number of times full update inserted to history store */ -#define WT_STAT_DSRC_CACHE_HS_INSERT_FULL_UPDATE 2110 +#define WT_STAT_DSRC_CACHE_HS_INSERT_FULL_UPDATE 2113 /*! cache: the number of times reverse modify inserted to history store */ -#define WT_STAT_DSRC_CACHE_HS_INSERT_REVERSE_MODIFY 2111 +#define WT_STAT_DSRC_CACHE_HS_INSERT_REVERSE_MODIFY 2114 /*! cache: tracked dirty bytes in the cache */ -#define WT_STAT_DSRC_CACHE_BYTES_DIRTY 2112 +#define WT_STAT_DSRC_CACHE_BYTES_DIRTY 2115 /*! cache: uncommitted truncate blocked page eviction */ -#define WT_STAT_DSRC_CACHE_EVICTION_BLOCKED_UNCOMMITTED_TRUNCATE 2113 +#define WT_STAT_DSRC_CACHE_EVICTION_BLOCKED_UNCOMMITTED_TRUNCATE 2116 /*! cache: unmodified pages evicted */ -#define WT_STAT_DSRC_CACHE_EVICTION_CLEAN 2114 +#define WT_STAT_DSRC_CACHE_EVICTION_CLEAN 2117 /*! * cache_walk: Average difference between current eviction generation * when the page was last considered, only reported if cache_walk or all * statistics are enabled */ -#define WT_STAT_DSRC_CACHE_STATE_GEN_AVG_GAP 2115 +#define WT_STAT_DSRC_CACHE_STATE_GEN_AVG_GAP 2118 /*! * cache_walk: Average on-disk page image size seen, only reported if * cache_walk or all statistics are enabled */ -#define WT_STAT_DSRC_CACHE_STATE_AVG_WRITTEN_SIZE 2116 +#define WT_STAT_DSRC_CACHE_STATE_AVG_WRITTEN_SIZE 2119 /*! * cache_walk: Average time in cache for pages that have been visited by * the eviction server, only reported if cache_walk or all statistics are * enabled */ -#define WT_STAT_DSRC_CACHE_STATE_AVG_VISITED_AGE 2117 +#define WT_STAT_DSRC_CACHE_STATE_AVG_VISITED_AGE 2120 /*! * cache_walk: Average time in cache for pages that have not been visited * by the eviction server, only reported if cache_walk or all statistics * are enabled */ -#define WT_STAT_DSRC_CACHE_STATE_AVG_UNVISITED_AGE 2118 +#define WT_STAT_DSRC_CACHE_STATE_AVG_UNVISITED_AGE 2121 /*! * cache_walk: Clean pages currently in cache, only reported if * cache_walk or all statistics are enabled */ -#define WT_STAT_DSRC_CACHE_STATE_PAGES_CLEAN 2119 +#define WT_STAT_DSRC_CACHE_STATE_PAGES_CLEAN 2122 /*! * cache_walk: Current eviction generation, only reported if cache_walk * or all statistics are enabled */ -#define WT_STAT_DSRC_CACHE_STATE_GEN_CURRENT 2120 +#define WT_STAT_DSRC_CACHE_STATE_GEN_CURRENT 2123 /*! * cache_walk: Dirty pages currently in cache, only reported if * cache_walk or all statistics are enabled */ -#define WT_STAT_DSRC_CACHE_STATE_PAGES_DIRTY 2121 +#define WT_STAT_DSRC_CACHE_STATE_PAGES_DIRTY 2124 /*! * cache_walk: Entries in the root page, only reported if cache_walk or * all statistics are enabled */ -#define WT_STAT_DSRC_CACHE_STATE_ROOT_ENTRIES 2122 +#define WT_STAT_DSRC_CACHE_STATE_ROOT_ENTRIES 2125 /*! * cache_walk: Internal pages currently in cache, only reported if * cache_walk or all statistics are enabled */ -#define WT_STAT_DSRC_CACHE_STATE_PAGES_INTERNAL 2123 +#define WT_STAT_DSRC_CACHE_STATE_PAGES_INTERNAL 2126 /*! * cache_walk: Leaf pages currently in cache, only reported if cache_walk * or all statistics are enabled */ -#define WT_STAT_DSRC_CACHE_STATE_PAGES_LEAF 2124 +#define WT_STAT_DSRC_CACHE_STATE_PAGES_LEAF 2127 /*! * cache_walk: Maximum difference between current eviction generation * when the page was last considered, only reported if cache_walk or all * statistics are enabled */ -#define WT_STAT_DSRC_CACHE_STATE_GEN_MAX_GAP 2125 +#define WT_STAT_DSRC_CACHE_STATE_GEN_MAX_GAP 2128 /*! * cache_walk: Maximum page size seen, only reported if cache_walk or all * statistics are enabled */ -#define WT_STAT_DSRC_CACHE_STATE_MAX_PAGESIZE 2126 +#define WT_STAT_DSRC_CACHE_STATE_MAX_PAGESIZE 2129 /*! * cache_walk: Minimum on-disk page image size seen, only reported if * cache_walk or all statistics are enabled */ -#define WT_STAT_DSRC_CACHE_STATE_MIN_WRITTEN_SIZE 2127 +#define WT_STAT_DSRC_CACHE_STATE_MIN_WRITTEN_SIZE 2130 /*! * cache_walk: Number of pages never visited by eviction server, only * reported if cache_walk or all statistics are enabled */ -#define WT_STAT_DSRC_CACHE_STATE_UNVISITED_COUNT 2128 +#define WT_STAT_DSRC_CACHE_STATE_UNVISITED_COUNT 2131 /*! * cache_walk: On-disk page image sizes smaller than a single allocation * unit, only reported if cache_walk or all statistics are enabled */ -#define WT_STAT_DSRC_CACHE_STATE_SMALLER_ALLOC_SIZE 2129 +#define WT_STAT_DSRC_CACHE_STATE_SMALLER_ALLOC_SIZE 2132 /*! * cache_walk: Pages created in memory and never written, only reported * if cache_walk or all statistics are enabled */ -#define WT_STAT_DSRC_CACHE_STATE_MEMORY 2130 +#define WT_STAT_DSRC_CACHE_STATE_MEMORY 2133 /*! * cache_walk: Pages currently queued for eviction, only reported if * cache_walk or all statistics are enabled */ -#define WT_STAT_DSRC_CACHE_STATE_QUEUED 2131 +#define WT_STAT_DSRC_CACHE_STATE_QUEUED 2134 /*! * cache_walk: Pages that could not be queued for eviction, only reported * if cache_walk or all statistics are enabled */ -#define WT_STAT_DSRC_CACHE_STATE_NOT_QUEUEABLE 2132 +#define WT_STAT_DSRC_CACHE_STATE_NOT_QUEUEABLE 2135 /*! * cache_walk: Refs skipped during cache traversal, only reported if * cache_walk or all statistics are enabled */ -#define WT_STAT_DSRC_CACHE_STATE_REFS_SKIPPED 2133 +#define WT_STAT_DSRC_CACHE_STATE_REFS_SKIPPED 2136 /*! * cache_walk: Size of the root page, only reported if cache_walk or all * statistics are enabled */ -#define WT_STAT_DSRC_CACHE_STATE_ROOT_SIZE 2134 +#define WT_STAT_DSRC_CACHE_STATE_ROOT_SIZE 2137 /*! * cache_walk: Total number of pages currently in cache, only reported if * cache_walk or all statistics are enabled */ -#define WT_STAT_DSRC_CACHE_STATE_PAGES 2135 +#define WT_STAT_DSRC_CACHE_STATE_PAGES 2138 /*! checkpoint-cleanup: pages added for eviction */ -#define WT_STAT_DSRC_CC_PAGES_EVICT 2136 +#define WT_STAT_DSRC_CC_PAGES_EVICT 2139 /*! checkpoint-cleanup: pages removed */ -#define WT_STAT_DSRC_CC_PAGES_REMOVED 2137 +#define WT_STAT_DSRC_CC_PAGES_REMOVED 2140 /*! checkpoint-cleanup: pages skipped during tree walk */ -#define WT_STAT_DSRC_CC_PAGES_WALK_SKIPPED 2138 +#define WT_STAT_DSRC_CC_PAGES_WALK_SKIPPED 2141 /*! checkpoint-cleanup: pages visited */ -#define WT_STAT_DSRC_CC_PAGES_VISITED 2139 +#define WT_STAT_DSRC_CC_PAGES_VISITED 2142 /*! * compression: compressed page maximum internal page size prior to * compression */ -#define WT_STAT_DSRC_COMPRESS_PRECOMP_INTL_MAX_PAGE_SIZE 2140 +#define WT_STAT_DSRC_COMPRESS_PRECOMP_INTL_MAX_PAGE_SIZE 2143 /*! * compression: compressed page maximum leaf page size prior to * compression */ -#define WT_STAT_DSRC_COMPRESS_PRECOMP_LEAF_MAX_PAGE_SIZE 2141 +#define WT_STAT_DSRC_COMPRESS_PRECOMP_LEAF_MAX_PAGE_SIZE 2144 /*! compression: compressed pages read */ -#define WT_STAT_DSRC_COMPRESS_READ 2142 +#define WT_STAT_DSRC_COMPRESS_READ 2145 /*! compression: compressed pages written */ -#define WT_STAT_DSRC_COMPRESS_WRITE 2143 +#define WT_STAT_DSRC_COMPRESS_WRITE 2146 /*! compression: number of blocks with compress ratio greater than 64 */ -#define WT_STAT_DSRC_COMPRESS_HIST_RATIO_MAX 2144 +#define WT_STAT_DSRC_COMPRESS_HIST_RATIO_MAX 2147 /*! compression: number of blocks with compress ratio smaller than 16 */ -#define WT_STAT_DSRC_COMPRESS_HIST_RATIO_16 2145 +#define WT_STAT_DSRC_COMPRESS_HIST_RATIO_16 2148 /*! compression: number of blocks with compress ratio smaller than 2 */ -#define WT_STAT_DSRC_COMPRESS_HIST_RATIO_2 2146 +#define WT_STAT_DSRC_COMPRESS_HIST_RATIO_2 2149 /*! compression: number of blocks with compress ratio smaller than 32 */ -#define WT_STAT_DSRC_COMPRESS_HIST_RATIO_32 2147 +#define WT_STAT_DSRC_COMPRESS_HIST_RATIO_32 2150 /*! compression: number of blocks with compress ratio smaller than 4 */ -#define WT_STAT_DSRC_COMPRESS_HIST_RATIO_4 2148 +#define WT_STAT_DSRC_COMPRESS_HIST_RATIO_4 2151 /*! compression: number of blocks with compress ratio smaller than 64 */ -#define WT_STAT_DSRC_COMPRESS_HIST_RATIO_64 2149 +#define WT_STAT_DSRC_COMPRESS_HIST_RATIO_64 2152 /*! compression: number of blocks with compress ratio smaller than 8 */ -#define WT_STAT_DSRC_COMPRESS_HIST_RATIO_8 2150 +#define WT_STAT_DSRC_COMPRESS_HIST_RATIO_8 2153 /*! compression: page written failed to compress */ -#define WT_STAT_DSRC_COMPRESS_WRITE_FAIL 2151 +#define WT_STAT_DSRC_COMPRESS_WRITE_FAIL 2154 /*! compression: page written was too small to compress */ -#define WT_STAT_DSRC_COMPRESS_WRITE_TOO_SMALL 2152 +#define WT_STAT_DSRC_COMPRESS_WRITE_TOO_SMALL 2155 /*! cursor: Total number of entries skipped by cursor next calls */ -#define WT_STAT_DSRC_CURSOR_NEXT_SKIP_TOTAL 2153 +#define WT_STAT_DSRC_CURSOR_NEXT_SKIP_TOTAL 2156 /*! cursor: Total number of entries skipped by cursor prev calls */ -#define WT_STAT_DSRC_CURSOR_PREV_SKIP_TOTAL 2154 +#define WT_STAT_DSRC_CURSOR_PREV_SKIP_TOTAL 2157 /*! * cursor: Total number of entries skipped to position the history store * cursor */ -#define WT_STAT_DSRC_CURSOR_SKIP_HS_CUR_POSITION 2155 +#define WT_STAT_DSRC_CURSOR_SKIP_HS_CUR_POSITION 2158 /*! * cursor: Total number of times a search near has exited due to prefix * config */ -#define WT_STAT_DSRC_CURSOR_SEARCH_NEAR_PREFIX_FAST_PATHS 2156 +#define WT_STAT_DSRC_CURSOR_SEARCH_NEAR_PREFIX_FAST_PATHS 2159 /*! * cursor: Total number of times cursor fails to temporarily release * pinned page to encourage eviction of hot or large page */ -#define WT_STAT_DSRC_CURSOR_REPOSITION_FAILED 2157 +#define WT_STAT_DSRC_CURSOR_REPOSITION_FAILED 2160 /*! * cursor: Total number of times cursor temporarily releases pinned page * to encourage eviction of hot or large page */ -#define WT_STAT_DSRC_CURSOR_REPOSITION 2158 +#define WT_STAT_DSRC_CURSOR_REPOSITION 2161 /*! cursor: bulk loaded cursor insert calls */ -#define WT_STAT_DSRC_CURSOR_INSERT_BULK 2159 +#define WT_STAT_DSRC_CURSOR_INSERT_BULK 2162 /*! cursor: cache cursors reuse count */ -#define WT_STAT_DSRC_CURSOR_REOPEN 2160 +#define WT_STAT_DSRC_CURSOR_REOPEN 2163 /*! cursor: close calls that result in cache */ -#define WT_STAT_DSRC_CURSOR_CACHE 2161 +#define WT_STAT_DSRC_CURSOR_CACHE 2164 /*! cursor: create calls */ -#define WT_STAT_DSRC_CURSOR_CREATE 2162 +#define WT_STAT_DSRC_CURSOR_CREATE 2165 /*! cursor: cursor bound calls that return an error */ -#define WT_STAT_DSRC_CURSOR_BOUND_ERROR 2163 +#define WT_STAT_DSRC_CURSOR_BOUND_ERROR 2166 /*! cursor: cursor bounds cleared from reset */ -#define WT_STAT_DSRC_CURSOR_BOUNDS_RESET 2164 +#define WT_STAT_DSRC_CURSOR_BOUNDS_RESET 2167 /*! cursor: cursor bounds comparisons performed */ -#define WT_STAT_DSRC_CURSOR_BOUNDS_COMPARISONS 2165 +#define WT_STAT_DSRC_CURSOR_BOUNDS_COMPARISONS 2168 /*! cursor: cursor bounds next called on an unpositioned cursor */ -#define WT_STAT_DSRC_CURSOR_BOUNDS_NEXT_UNPOSITIONED 2166 +#define WT_STAT_DSRC_CURSOR_BOUNDS_NEXT_UNPOSITIONED 2169 /*! cursor: cursor bounds next early exit */ -#define WT_STAT_DSRC_CURSOR_BOUNDS_NEXT_EARLY_EXIT 2167 +#define WT_STAT_DSRC_CURSOR_BOUNDS_NEXT_EARLY_EXIT 2170 /*! cursor: cursor bounds prev called on an unpositioned cursor */ -#define WT_STAT_DSRC_CURSOR_BOUNDS_PREV_UNPOSITIONED 2168 +#define WT_STAT_DSRC_CURSOR_BOUNDS_PREV_UNPOSITIONED 2171 /*! cursor: cursor bounds prev early exit */ -#define WT_STAT_DSRC_CURSOR_BOUNDS_PREV_EARLY_EXIT 2169 +#define WT_STAT_DSRC_CURSOR_BOUNDS_PREV_EARLY_EXIT 2172 /*! cursor: cursor bounds search early exit */ -#define WT_STAT_DSRC_CURSOR_BOUNDS_SEARCH_EARLY_EXIT 2170 +#define WT_STAT_DSRC_CURSOR_BOUNDS_SEARCH_EARLY_EXIT 2173 /*! cursor: cursor bounds search near call repositioned cursor */ -#define WT_STAT_DSRC_CURSOR_BOUNDS_SEARCH_NEAR_REPOSITIONED_CURSOR 2171 +#define WT_STAT_DSRC_CURSOR_BOUNDS_SEARCH_NEAR_REPOSITIONED_CURSOR 2174 /*! cursor: cursor cache calls that return an error */ -#define WT_STAT_DSRC_CURSOR_CACHE_ERROR 2172 +#define WT_STAT_DSRC_CURSOR_CACHE_ERROR 2175 /*! cursor: cursor close calls that return an error */ -#define WT_STAT_DSRC_CURSOR_CLOSE_ERROR 2173 +#define WT_STAT_DSRC_CURSOR_CLOSE_ERROR 2176 /*! cursor: cursor compare calls that return an error */ -#define WT_STAT_DSRC_CURSOR_COMPARE_ERROR 2174 +#define WT_STAT_DSRC_CURSOR_COMPARE_ERROR 2177 /*! cursor: cursor equals calls that return an error */ -#define WT_STAT_DSRC_CURSOR_EQUALS_ERROR 2175 +#define WT_STAT_DSRC_CURSOR_EQUALS_ERROR 2178 /*! cursor: cursor get key calls that return an error */ -#define WT_STAT_DSRC_CURSOR_GET_KEY_ERROR 2176 +#define WT_STAT_DSRC_CURSOR_GET_KEY_ERROR 2179 /*! cursor: cursor get value calls that return an error */ -#define WT_STAT_DSRC_CURSOR_GET_VALUE_ERROR 2177 +#define WT_STAT_DSRC_CURSOR_GET_VALUE_ERROR 2180 /*! cursor: cursor insert calls that return an error */ -#define WT_STAT_DSRC_CURSOR_INSERT_ERROR 2178 +#define WT_STAT_DSRC_CURSOR_INSERT_ERROR 2181 /*! cursor: cursor insert check calls that return an error */ -#define WT_STAT_DSRC_CURSOR_INSERT_CHECK_ERROR 2179 +#define WT_STAT_DSRC_CURSOR_INSERT_CHECK_ERROR 2182 /*! cursor: cursor largest key calls that return an error */ -#define WT_STAT_DSRC_CURSOR_LARGEST_KEY_ERROR 2180 +#define WT_STAT_DSRC_CURSOR_LARGEST_KEY_ERROR 2183 /*! cursor: cursor modify calls that return an error */ -#define WT_STAT_DSRC_CURSOR_MODIFY_ERROR 2181 +#define WT_STAT_DSRC_CURSOR_MODIFY_ERROR 2184 /*! cursor: cursor next calls that return an error */ -#define WT_STAT_DSRC_CURSOR_NEXT_ERROR 2182 +#define WT_STAT_DSRC_CURSOR_NEXT_ERROR 2185 /*! * cursor: cursor next calls that skip due to a globally visible history * store tombstone */ -#define WT_STAT_DSRC_CURSOR_NEXT_HS_TOMBSTONE 2183 +#define WT_STAT_DSRC_CURSOR_NEXT_HS_TOMBSTONE 2186 /*! * cursor: cursor next calls that skip greater than 1 and fewer than 100 * entries */ -#define WT_STAT_DSRC_CURSOR_NEXT_SKIP_LT_100 2184 +#define WT_STAT_DSRC_CURSOR_NEXT_SKIP_LT_100 2187 /*! * cursor: cursor next calls that skip greater than or equal to 100 * entries */ -#define WT_STAT_DSRC_CURSOR_NEXT_SKIP_GE_100 2185 +#define WT_STAT_DSRC_CURSOR_NEXT_SKIP_GE_100 2188 /*! cursor: cursor next random calls that return an error */ -#define WT_STAT_DSRC_CURSOR_NEXT_RANDOM_ERROR 2186 +#define WT_STAT_DSRC_CURSOR_NEXT_RANDOM_ERROR 2189 /*! cursor: cursor prev calls that return an error */ -#define WT_STAT_DSRC_CURSOR_PREV_ERROR 2187 +#define WT_STAT_DSRC_CURSOR_PREV_ERROR 2190 /*! * cursor: cursor prev calls that skip due to a globally visible history * store tombstone */ -#define WT_STAT_DSRC_CURSOR_PREV_HS_TOMBSTONE 2188 +#define WT_STAT_DSRC_CURSOR_PREV_HS_TOMBSTONE 2191 /*! * cursor: cursor prev calls that skip greater than or equal to 100 * entries */ -#define WT_STAT_DSRC_CURSOR_PREV_SKIP_GE_100 2189 +#define WT_STAT_DSRC_CURSOR_PREV_SKIP_GE_100 2192 /*! cursor: cursor prev calls that skip less than 100 entries */ -#define WT_STAT_DSRC_CURSOR_PREV_SKIP_LT_100 2190 +#define WT_STAT_DSRC_CURSOR_PREV_SKIP_LT_100 2193 /*! cursor: cursor reconfigure calls that return an error */ -#define WT_STAT_DSRC_CURSOR_RECONFIGURE_ERROR 2191 +#define WT_STAT_DSRC_CURSOR_RECONFIGURE_ERROR 2194 /*! cursor: cursor remove calls that return an error */ -#define WT_STAT_DSRC_CURSOR_REMOVE_ERROR 2192 +#define WT_STAT_DSRC_CURSOR_REMOVE_ERROR 2195 /*! cursor: cursor reopen calls that return an error */ -#define WT_STAT_DSRC_CURSOR_REOPEN_ERROR 2193 +#define WT_STAT_DSRC_CURSOR_REOPEN_ERROR 2196 /*! cursor: cursor reserve calls that return an error */ -#define WT_STAT_DSRC_CURSOR_RESERVE_ERROR 2194 +#define WT_STAT_DSRC_CURSOR_RESERVE_ERROR 2197 /*! cursor: cursor reset calls that return an error */ -#define WT_STAT_DSRC_CURSOR_RESET_ERROR 2195 +#define WT_STAT_DSRC_CURSOR_RESET_ERROR 2198 /*! cursor: cursor search calls that return an error */ -#define WT_STAT_DSRC_CURSOR_SEARCH_ERROR 2196 +#define WT_STAT_DSRC_CURSOR_SEARCH_ERROR 2199 /*! cursor: cursor search near calls that return an error */ -#define WT_STAT_DSRC_CURSOR_SEARCH_NEAR_ERROR 2197 +#define WT_STAT_DSRC_CURSOR_SEARCH_NEAR_ERROR 2200 /*! cursor: cursor update calls that return an error */ -#define WT_STAT_DSRC_CURSOR_UPDATE_ERROR 2198 +#define WT_STAT_DSRC_CURSOR_UPDATE_ERROR 2201 /*! cursor: insert calls */ -#define WT_STAT_DSRC_CURSOR_INSERT 2199 +#define WT_STAT_DSRC_CURSOR_INSERT 2202 /*! cursor: insert key and value bytes */ -#define WT_STAT_DSRC_CURSOR_INSERT_BYTES 2200 +#define WT_STAT_DSRC_CURSOR_INSERT_BYTES 2203 /*! cursor: modify */ -#define WT_STAT_DSRC_CURSOR_MODIFY 2201 +#define WT_STAT_DSRC_CURSOR_MODIFY 2204 /*! cursor: modify key and value bytes affected */ -#define WT_STAT_DSRC_CURSOR_MODIFY_BYTES 2202 +#define WT_STAT_DSRC_CURSOR_MODIFY_BYTES 2205 /*! cursor: modify value bytes modified */ -#define WT_STAT_DSRC_CURSOR_MODIFY_BYTES_TOUCH 2203 +#define WT_STAT_DSRC_CURSOR_MODIFY_BYTES_TOUCH 2206 /*! cursor: next calls */ -#define WT_STAT_DSRC_CURSOR_NEXT 2204 +#define WT_STAT_DSRC_CURSOR_NEXT 2207 /*! cursor: open cursor count */ -#define WT_STAT_DSRC_CURSOR_OPEN_COUNT 2205 +#define WT_STAT_DSRC_CURSOR_OPEN_COUNT 2208 /*! cursor: operation restarted */ -#define WT_STAT_DSRC_CURSOR_RESTART 2206 +#define WT_STAT_DSRC_CURSOR_RESTART 2209 /*! cursor: prev calls */ -#define WT_STAT_DSRC_CURSOR_PREV 2207 +#define WT_STAT_DSRC_CURSOR_PREV 2210 /*! cursor: remove calls */ -#define WT_STAT_DSRC_CURSOR_REMOVE 2208 +#define WT_STAT_DSRC_CURSOR_REMOVE 2211 /*! cursor: remove key bytes removed */ -#define WT_STAT_DSRC_CURSOR_REMOVE_BYTES 2209 +#define WT_STAT_DSRC_CURSOR_REMOVE_BYTES 2212 /*! cursor: reserve calls */ -#define WT_STAT_DSRC_CURSOR_RESERVE 2210 +#define WT_STAT_DSRC_CURSOR_RESERVE 2213 /*! cursor: reset calls */ -#define WT_STAT_DSRC_CURSOR_RESET 2211 +#define WT_STAT_DSRC_CURSOR_RESET 2214 /*! cursor: search calls */ -#define WT_STAT_DSRC_CURSOR_SEARCH 2212 +#define WT_STAT_DSRC_CURSOR_SEARCH 2215 /*! cursor: search history store calls */ -#define WT_STAT_DSRC_CURSOR_SEARCH_HS 2213 +#define WT_STAT_DSRC_CURSOR_SEARCH_HS 2216 /*! cursor: search near calls */ -#define WT_STAT_DSRC_CURSOR_SEARCH_NEAR 2214 +#define WT_STAT_DSRC_CURSOR_SEARCH_NEAR 2217 /*! cursor: truncate calls */ -#define WT_STAT_DSRC_CURSOR_TRUNCATE 2215 +#define WT_STAT_DSRC_CURSOR_TRUNCATE 2218 /*! cursor: update calls */ -#define WT_STAT_DSRC_CURSOR_UPDATE 2216 +#define WT_STAT_DSRC_CURSOR_UPDATE 2219 /*! cursor: update key and value bytes */ -#define WT_STAT_DSRC_CURSOR_UPDATE_BYTES 2217 +#define WT_STAT_DSRC_CURSOR_UPDATE_BYTES 2220 /*! cursor: update value size change */ -#define WT_STAT_DSRC_CURSOR_UPDATE_BYTES_CHANGED 2218 +#define WT_STAT_DSRC_CURSOR_UPDATE_BYTES_CHANGED 2221 /*! reconciliation: VLCS pages explicitly reconciled as empty */ -#define WT_STAT_DSRC_REC_VLCS_EMPTIED_PAGES 2219 +#define WT_STAT_DSRC_REC_VLCS_EMPTIED_PAGES 2222 /*! reconciliation: approximate byte size of timestamps in pages written */ -#define WT_STAT_DSRC_REC_TIME_WINDOW_BYTES_TS 2220 +#define WT_STAT_DSRC_REC_TIME_WINDOW_BYTES_TS 2223 /*! * reconciliation: approximate byte size of transaction IDs in pages * written */ -#define WT_STAT_DSRC_REC_TIME_WINDOW_BYTES_TXN 2221 +#define WT_STAT_DSRC_REC_TIME_WINDOW_BYTES_TXN 2224 /*! reconciliation: dictionary matches */ -#define WT_STAT_DSRC_REC_DICTIONARY 2222 +#define WT_STAT_DSRC_REC_DICTIONARY 2225 /*! reconciliation: fast-path pages deleted */ -#define WT_STAT_DSRC_REC_PAGE_DELETE_FAST 2223 +#define WT_STAT_DSRC_REC_PAGE_DELETE_FAST 2226 /*! * reconciliation: internal page key bytes discarded using suffix * compression */ -#define WT_STAT_DSRC_REC_SUFFIX_COMPRESSION 2224 +#define WT_STAT_DSRC_REC_SUFFIX_COMPRESSION 2227 /*! reconciliation: internal page multi-block writes */ -#define WT_STAT_DSRC_REC_MULTIBLOCK_INTERNAL 2225 +#define WT_STAT_DSRC_REC_MULTIBLOCK_INTERNAL 2228 /*! reconciliation: leaf page key bytes discarded using prefix compression */ -#define WT_STAT_DSRC_REC_PREFIX_COMPRESSION 2226 +#define WT_STAT_DSRC_REC_PREFIX_COMPRESSION 2229 /*! reconciliation: leaf page multi-block writes */ -#define WT_STAT_DSRC_REC_MULTIBLOCK_LEAF 2227 +#define WT_STAT_DSRC_REC_MULTIBLOCK_LEAF 2230 /*! reconciliation: leaf-page overflow keys */ -#define WT_STAT_DSRC_REC_OVERFLOW_KEY_LEAF 2228 +#define WT_STAT_DSRC_REC_OVERFLOW_KEY_LEAF 2231 /*! reconciliation: maximum blocks required for a page */ -#define WT_STAT_DSRC_REC_MULTIBLOCK_MAX 2229 +#define WT_STAT_DSRC_REC_MULTIBLOCK_MAX 2232 /*! reconciliation: overflow values written */ -#define WT_STAT_DSRC_REC_OVERFLOW_VALUE 2230 +#define WT_STAT_DSRC_REC_OVERFLOW_VALUE 2233 /*! reconciliation: page checksum matches */ -#define WT_STAT_DSRC_REC_PAGE_MATCH 2231 +#define WT_STAT_DSRC_REC_PAGE_MATCH 2234 /*! reconciliation: page reconciliation calls */ -#define WT_STAT_DSRC_REC_PAGES 2232 +#define WT_STAT_DSRC_REC_PAGES 2235 /*! reconciliation: page reconciliation calls for eviction */ -#define WT_STAT_DSRC_REC_PAGES_EVICTION 2233 +#define WT_STAT_DSRC_REC_PAGES_EVICTION 2236 /*! reconciliation: pages deleted */ -#define WT_STAT_DSRC_REC_PAGE_DELETE 2234 +#define WT_STAT_DSRC_REC_PAGE_DELETE 2237 /*! * reconciliation: pages written including an aggregated newest start * durable timestamp */ -#define WT_STAT_DSRC_REC_TIME_AGGR_NEWEST_START_DURABLE_TS 2235 +#define WT_STAT_DSRC_REC_TIME_AGGR_NEWEST_START_DURABLE_TS 2238 /*! * reconciliation: pages written including an aggregated newest stop * durable timestamp */ -#define WT_STAT_DSRC_REC_TIME_AGGR_NEWEST_STOP_DURABLE_TS 2236 +#define WT_STAT_DSRC_REC_TIME_AGGR_NEWEST_STOP_DURABLE_TS 2239 /*! * reconciliation: pages written including an aggregated newest stop * timestamp */ -#define WT_STAT_DSRC_REC_TIME_AGGR_NEWEST_STOP_TS 2237 +#define WT_STAT_DSRC_REC_TIME_AGGR_NEWEST_STOP_TS 2240 /*! * reconciliation: pages written including an aggregated newest stop * transaction ID */ -#define WT_STAT_DSRC_REC_TIME_AGGR_NEWEST_STOP_TXN 2238 +#define WT_STAT_DSRC_REC_TIME_AGGR_NEWEST_STOP_TXN 2241 /*! * reconciliation: pages written including an aggregated newest * transaction ID */ -#define WT_STAT_DSRC_REC_TIME_AGGR_NEWEST_TXN 2239 +#define WT_STAT_DSRC_REC_TIME_AGGR_NEWEST_TXN 2242 /*! * reconciliation: pages written including an aggregated oldest start * timestamp */ -#define WT_STAT_DSRC_REC_TIME_AGGR_OLDEST_START_TS 2240 +#define WT_STAT_DSRC_REC_TIME_AGGR_OLDEST_START_TS 2243 /*! reconciliation: pages written including an aggregated prepare */ -#define WT_STAT_DSRC_REC_TIME_AGGR_PREPARED 2241 +#define WT_STAT_DSRC_REC_TIME_AGGR_PREPARED 2244 /*! reconciliation: pages written including at least one prepare */ -#define WT_STAT_DSRC_REC_TIME_WINDOW_PAGES_PREPARED 2242 +#define WT_STAT_DSRC_REC_TIME_WINDOW_PAGES_PREPARED 2245 /*! * reconciliation: pages written including at least one start durable * timestamp */ -#define WT_STAT_DSRC_REC_TIME_WINDOW_PAGES_DURABLE_START_TS 2243 +#define WT_STAT_DSRC_REC_TIME_WINDOW_PAGES_DURABLE_START_TS 2246 /*! reconciliation: pages written including at least one start timestamp */ -#define WT_STAT_DSRC_REC_TIME_WINDOW_PAGES_START_TS 2244 +#define WT_STAT_DSRC_REC_TIME_WINDOW_PAGES_START_TS 2247 /*! * reconciliation: pages written including at least one start transaction * ID */ -#define WT_STAT_DSRC_REC_TIME_WINDOW_PAGES_START_TXN 2245 +#define WT_STAT_DSRC_REC_TIME_WINDOW_PAGES_START_TXN 2248 /*! * reconciliation: pages written including at least one stop durable * timestamp */ -#define WT_STAT_DSRC_REC_TIME_WINDOW_PAGES_DURABLE_STOP_TS 2246 +#define WT_STAT_DSRC_REC_TIME_WINDOW_PAGES_DURABLE_STOP_TS 2249 /*! reconciliation: pages written including at least one stop timestamp */ -#define WT_STAT_DSRC_REC_TIME_WINDOW_PAGES_STOP_TS 2247 +#define WT_STAT_DSRC_REC_TIME_WINDOW_PAGES_STOP_TS 2250 /*! * reconciliation: pages written including at least one stop transaction * ID */ -#define WT_STAT_DSRC_REC_TIME_WINDOW_PAGES_STOP_TXN 2248 +#define WT_STAT_DSRC_REC_TIME_WINDOW_PAGES_STOP_TXN 2251 /*! reconciliation: records written including a prepare */ -#define WT_STAT_DSRC_REC_TIME_WINDOW_PREPARED 2249 +#define WT_STAT_DSRC_REC_TIME_WINDOW_PREPARED 2252 /*! reconciliation: records written including a start durable timestamp */ -#define WT_STAT_DSRC_REC_TIME_WINDOW_DURABLE_START_TS 2250 +#define WT_STAT_DSRC_REC_TIME_WINDOW_DURABLE_START_TS 2253 /*! reconciliation: records written including a start timestamp */ -#define WT_STAT_DSRC_REC_TIME_WINDOW_START_TS 2251 +#define WT_STAT_DSRC_REC_TIME_WINDOW_START_TS 2254 /*! reconciliation: records written including a start transaction ID */ -#define WT_STAT_DSRC_REC_TIME_WINDOW_START_TXN 2252 +#define WT_STAT_DSRC_REC_TIME_WINDOW_START_TXN 2255 /*! reconciliation: records written including a stop durable timestamp */ -#define WT_STAT_DSRC_REC_TIME_WINDOW_DURABLE_STOP_TS 2253 +#define WT_STAT_DSRC_REC_TIME_WINDOW_DURABLE_STOP_TS 2256 /*! reconciliation: records written including a stop timestamp */ -#define WT_STAT_DSRC_REC_TIME_WINDOW_STOP_TS 2254 +#define WT_STAT_DSRC_REC_TIME_WINDOW_STOP_TS 2257 /*! reconciliation: records written including a stop transaction ID */ -#define WT_STAT_DSRC_REC_TIME_WINDOW_STOP_TXN 2255 +#define WT_STAT_DSRC_REC_TIME_WINDOW_STOP_TXN 2258 /*! session: object compaction */ -#define WT_STAT_DSRC_SESSION_COMPACT 2256 +#define WT_STAT_DSRC_SESSION_COMPACT 2259 /*! transaction: number of times overflow removed value is read */ -#define WT_STAT_DSRC_TXN_READ_OVERFLOW_REMOVE 2257 +#define WT_STAT_DSRC_TXN_READ_OVERFLOW_REMOVE 2260 /*! transaction: race to read prepared update retry */ -#define WT_STAT_DSRC_TXN_READ_RACE_PREPARE_UPDATE 2258 +#define WT_STAT_DSRC_TXN_READ_RACE_PREPARE_UPDATE 2261 +/*! + * transaction: rollback to stable history store keys that would have + * been swept in non-dryrun mode + */ +#define WT_STAT_DSRC_TXN_RTS_SWEEP_HS_KEYS_DRYRUN 2262 /*! * transaction: rollback to stable history store records with stop * timestamps older than newer records */ -#define WT_STAT_DSRC_TXN_RTS_HS_STOP_OLDER_THAN_NEWER_START 2259 +#define WT_STAT_DSRC_TXN_RTS_HS_STOP_OLDER_THAN_NEWER_START 2263 /*! transaction: rollback to stable inconsistent checkpoint */ -#define WT_STAT_DSRC_TXN_RTS_INCONSISTENT_CKPT 2260 +#define WT_STAT_DSRC_TXN_RTS_INCONSISTENT_CKPT 2264 /*! transaction: rollback to stable keys removed */ -#define WT_STAT_DSRC_TXN_RTS_KEYS_REMOVED 2261 +#define WT_STAT_DSRC_TXN_RTS_KEYS_REMOVED 2265 /*! transaction: rollback to stable keys restored */ -#define WT_STAT_DSRC_TXN_RTS_KEYS_RESTORED 2262 +#define WT_STAT_DSRC_TXN_RTS_KEYS_RESTORED 2266 +/*! + * transaction: rollback to stable keys that would have been removed in + * non-dryrun mode + */ +#define WT_STAT_DSRC_TXN_RTS_KEYS_REMOVED_DRYRUN 2267 +/*! + * transaction: rollback to stable keys that would have been restored in + * non-dryrun mode + */ +#define WT_STAT_DSRC_TXN_RTS_KEYS_RESTORED_DRYRUN 2268 /*! transaction: rollback to stable restored tombstones from history store */ -#define WT_STAT_DSRC_TXN_RTS_HS_RESTORE_TOMBSTONES 2263 +#define WT_STAT_DSRC_TXN_RTS_HS_RESTORE_TOMBSTONES 2269 /*! transaction: rollback to stable restored updates from history store */ -#define WT_STAT_DSRC_TXN_RTS_HS_RESTORE_UPDATES 2264 +#define WT_STAT_DSRC_TXN_RTS_HS_RESTORE_UPDATES 2270 /*! transaction: rollback to stable skipping delete rle */ -#define WT_STAT_DSRC_TXN_RTS_DELETE_RLE_SKIPPED 2265 +#define WT_STAT_DSRC_TXN_RTS_DELETE_RLE_SKIPPED 2271 /*! transaction: rollback to stable skipping stable rle */ -#define WT_STAT_DSRC_TXN_RTS_STABLE_RLE_SKIPPED 2266 +#define WT_STAT_DSRC_TXN_RTS_STABLE_RLE_SKIPPED 2272 /*! transaction: rollback to stable sweeping history store keys */ -#define WT_STAT_DSRC_TXN_RTS_SWEEP_HS_KEYS 2267 +#define WT_STAT_DSRC_TXN_RTS_SWEEP_HS_KEYS 2273 +/*! + * transaction: rollback to stable tombstones from history store that + * would have been restored in non-dryrun mode + */ +#define WT_STAT_DSRC_TXN_RTS_HS_RESTORE_TOMBSTONES_DRYRUN 2274 +/*! + * transaction: rollback to stable updates from history store that would + * have been restored in non-dryrun mode + */ +#define WT_STAT_DSRC_TXN_RTS_HS_RESTORE_UPDATES_DRYRUN 2275 /*! transaction: rollback to stable updates removed from history store */ -#define WT_STAT_DSRC_TXN_RTS_HS_REMOVED 2268 +#define WT_STAT_DSRC_TXN_RTS_HS_REMOVED 2276 +/*! + * transaction: rollback to stable updates that would have been removed + * from history store in non-dryrun mode + */ +#define WT_STAT_DSRC_TXN_RTS_HS_REMOVED_DRYRUN 2277 /*! transaction: transaction checkpoints due to obsolete pages */ -#define WT_STAT_DSRC_TXN_CHECKPOINT_OBSOLETE_APPLIED 2269 +#define WT_STAT_DSRC_TXN_CHECKPOINT_OBSOLETE_APPLIED 2278 /*! transaction: update conflicts */ -#define WT_STAT_DSRC_TXN_UPDATE_CONFLICT 2270 +#define WT_STAT_DSRC_TXN_UPDATE_CONFLICT 2279 /*! * @} diff --git a/src/third_party/wiredtiger/src/rollback_to_stable/rts_api.c b/src/third_party/wiredtiger/src/rollback_to_stable/rts_api.c index ce8bdcb86c1..bc3e55f7580 100644 --- a/src/third_party/wiredtiger/src/rollback_to_stable/rts_api.c +++ b/src/third_party/wiredtiger/src/rollback_to_stable/rts_api.c @@ -89,8 +89,10 @@ __rollback_to_stable_int(WT_SESSION_IMPL *session, bool no_ckpt) WT_ERR(__wt_rts_btree_apply_all(session, rollback_timestamp)); /* Rollback the global durable timestamp to the stable timestamp. */ - txn_global->has_durable_timestamp = txn_global->has_stable_timestamp; - txn_global->durable_timestamp = txn_global->stable_timestamp; + if (!dryrun) { + txn_global->has_durable_timestamp = txn_global->has_stable_timestamp; + txn_global->durable_timestamp = txn_global->stable_timestamp; + } __rts_assert_timestamps_unchanged(session, pinned_timestamp, rollback_timestamp); /* diff --git a/src/third_party/wiredtiger/src/support/stat.c b/src/third_party/wiredtiger/src/support/stat.c index f3e949ff159..066b27520d6 100644 --- a/src/third_party/wiredtiger/src/support/stat.c +++ b/src/third_party/wiredtiger/src/support/stat.c @@ -98,6 +98,11 @@ static const char *const __stats_dsrc_desc[] = { "timestamp on data page", "cache: history store table truncation to remove range of updates due to key being removed from " "the data page during reconciliation", + "cache: history store table truncations that would have happened in non-dryrun mode", + "cache: history store table truncations to remove an unstable update that would have happened in " + "non-dryrun mode", + "cache: history store table truncations to remove an update that would have happened in " + "non-dryrun mode", "cache: history store table updates without timestamps fixed up by reinserting with the fixed " "timestamp", "cache: history store table writes requiring squashed modifies", @@ -275,17 +280,27 @@ static const char *const __stats_dsrc_desc[] = { "session: object compaction", "transaction: number of times overflow removed value is read", "transaction: race to read prepared update retry", + "transaction: rollback to stable history store keys that would have been swept in non-dryrun " + "mode", "transaction: rollback to stable history store records with stop timestamps older than newer " "records", "transaction: rollback to stable inconsistent checkpoint", "transaction: rollback to stable keys removed", "transaction: rollback to stable keys restored", + "transaction: rollback to stable keys that would have been removed in non-dryrun mode", + "transaction: rollback to stable keys that would have been restored in non-dryrun mode", "transaction: rollback to stable restored tombstones from history store", "transaction: rollback to stable restored updates from history store", "transaction: rollback to stable skipping delete rle", "transaction: rollback to stable skipping stable rle", "transaction: rollback to stable sweeping history store keys", + "transaction: rollback to stable tombstones from history store that would have been restored in " + "non-dryrun mode", + "transaction: rollback to stable updates from history store that would have been restored in " + "non-dryrun mode", "transaction: rollback to stable updates removed from history store", + "transaction: rollback to stable updates that would have been removed from history store in " + "non-dryrun mode", "transaction: transaction checkpoints due to obsolete pages", "transaction: update conflicts", }; @@ -415,6 +430,9 @@ __wt_stat_dsrc_clear_single(WT_DSRC_STATS *stats) stats->cache_hs_key_truncate = 0; stats->cache_hs_order_remove = 0; stats->cache_hs_key_truncate_onpage_removal = 0; + stats->cache_hs_btree_truncate_dryrun = 0; + stats->cache_hs_key_truncate_rts_unstable_dryrun = 0; + stats->cache_hs_key_truncate_rts_dryrun = 0; stats->cache_hs_order_reinsert = 0; stats->cache_hs_write_squash = 0; stats->cache_inmem_splittable = 0; @@ -587,16 +605,22 @@ __wt_stat_dsrc_clear_single(WT_DSRC_STATS *stats) stats->session_compact = 0; stats->txn_read_overflow_remove = 0; stats->txn_read_race_prepare_update = 0; + stats->txn_rts_sweep_hs_keys_dryrun = 0; stats->txn_rts_hs_stop_older_than_newer_start = 0; stats->txn_rts_inconsistent_ckpt = 0; stats->txn_rts_keys_removed = 0; stats->txn_rts_keys_restored = 0; + stats->txn_rts_keys_removed_dryrun = 0; + stats->txn_rts_keys_restored_dryrun = 0; stats->txn_rts_hs_restore_tombstones = 0; stats->txn_rts_hs_restore_updates = 0; stats->txn_rts_delete_rle_skipped = 0; stats->txn_rts_stable_rle_skipped = 0; stats->txn_rts_sweep_hs_keys = 0; + stats->txn_rts_hs_restore_tombstones_dryrun = 0; + stats->txn_rts_hs_restore_updates_dryrun = 0; stats->txn_rts_hs_removed = 0; + stats->txn_rts_hs_removed_dryrun = 0; stats->txn_checkpoint_obsolete_applied = 0; stats->txn_update_conflict = 0; } @@ -716,6 +740,10 @@ __wt_stat_dsrc_aggregate_single(WT_DSRC_STATS *from, WT_DSRC_STATS *to) to->cache_hs_key_truncate += from->cache_hs_key_truncate; to->cache_hs_order_remove += from->cache_hs_order_remove; to->cache_hs_key_truncate_onpage_removal += from->cache_hs_key_truncate_onpage_removal; + to->cache_hs_btree_truncate_dryrun += from->cache_hs_btree_truncate_dryrun; + to->cache_hs_key_truncate_rts_unstable_dryrun += + from->cache_hs_key_truncate_rts_unstable_dryrun; + to->cache_hs_key_truncate_rts_dryrun += from->cache_hs_key_truncate_rts_dryrun; to->cache_hs_order_reinsert += from->cache_hs_order_reinsert; to->cache_hs_write_squash += from->cache_hs_write_squash; to->cache_inmem_splittable += from->cache_inmem_splittable; @@ -892,16 +920,22 @@ __wt_stat_dsrc_aggregate_single(WT_DSRC_STATS *from, WT_DSRC_STATS *to) to->session_compact += from->session_compact; to->txn_read_overflow_remove += from->txn_read_overflow_remove; to->txn_read_race_prepare_update += from->txn_read_race_prepare_update; + to->txn_rts_sweep_hs_keys_dryrun += from->txn_rts_sweep_hs_keys_dryrun; to->txn_rts_hs_stop_older_than_newer_start += from->txn_rts_hs_stop_older_than_newer_start; to->txn_rts_inconsistent_ckpt += from->txn_rts_inconsistent_ckpt; to->txn_rts_keys_removed += from->txn_rts_keys_removed; to->txn_rts_keys_restored += from->txn_rts_keys_restored; + to->txn_rts_keys_removed_dryrun += from->txn_rts_keys_removed_dryrun; + to->txn_rts_keys_restored_dryrun += from->txn_rts_keys_restored_dryrun; to->txn_rts_hs_restore_tombstones += from->txn_rts_hs_restore_tombstones; to->txn_rts_hs_restore_updates += from->txn_rts_hs_restore_updates; to->txn_rts_delete_rle_skipped += from->txn_rts_delete_rle_skipped; to->txn_rts_stable_rle_skipped += from->txn_rts_stable_rle_skipped; to->txn_rts_sweep_hs_keys += from->txn_rts_sweep_hs_keys; + to->txn_rts_hs_restore_tombstones_dryrun += from->txn_rts_hs_restore_tombstones_dryrun; + to->txn_rts_hs_restore_updates_dryrun += from->txn_rts_hs_restore_updates_dryrun; to->txn_rts_hs_removed += from->txn_rts_hs_removed; + to->txn_rts_hs_removed_dryrun += from->txn_rts_hs_removed_dryrun; to->txn_checkpoint_obsolete_applied += from->txn_checkpoint_obsolete_applied; to->txn_update_conflict += from->txn_update_conflict; } @@ -1021,6 +1055,10 @@ __wt_stat_dsrc_aggregate(WT_DSRC_STATS **from, WT_DSRC_STATS *to) to->cache_hs_order_remove += WT_STAT_READ(from, cache_hs_order_remove); to->cache_hs_key_truncate_onpage_removal += WT_STAT_READ(from, cache_hs_key_truncate_onpage_removal); + to->cache_hs_btree_truncate_dryrun += WT_STAT_READ(from, cache_hs_btree_truncate_dryrun); + to->cache_hs_key_truncate_rts_unstable_dryrun += + WT_STAT_READ(from, cache_hs_key_truncate_rts_unstable_dryrun); + to->cache_hs_key_truncate_rts_dryrun += WT_STAT_READ(from, cache_hs_key_truncate_rts_dryrun); to->cache_hs_order_reinsert += WT_STAT_READ(from, cache_hs_order_reinsert); to->cache_hs_write_squash += WT_STAT_READ(from, cache_hs_write_squash); to->cache_inmem_splittable += WT_STAT_READ(from, cache_inmem_splittable); @@ -1206,17 +1244,24 @@ __wt_stat_dsrc_aggregate(WT_DSRC_STATS **from, WT_DSRC_STATS *to) to->session_compact += WT_STAT_READ(from, session_compact); to->txn_read_overflow_remove += WT_STAT_READ(from, txn_read_overflow_remove); to->txn_read_race_prepare_update += WT_STAT_READ(from, txn_read_race_prepare_update); + to->txn_rts_sweep_hs_keys_dryrun += WT_STAT_READ(from, txn_rts_sweep_hs_keys_dryrun); to->txn_rts_hs_stop_older_than_newer_start += WT_STAT_READ(from, txn_rts_hs_stop_older_than_newer_start); to->txn_rts_inconsistent_ckpt += WT_STAT_READ(from, txn_rts_inconsistent_ckpt); to->txn_rts_keys_removed += WT_STAT_READ(from, txn_rts_keys_removed); to->txn_rts_keys_restored += WT_STAT_READ(from, txn_rts_keys_restored); + to->txn_rts_keys_removed_dryrun += WT_STAT_READ(from, txn_rts_keys_removed_dryrun); + to->txn_rts_keys_restored_dryrun += WT_STAT_READ(from, txn_rts_keys_restored_dryrun); to->txn_rts_hs_restore_tombstones += WT_STAT_READ(from, txn_rts_hs_restore_tombstones); to->txn_rts_hs_restore_updates += WT_STAT_READ(from, txn_rts_hs_restore_updates); to->txn_rts_delete_rle_skipped += WT_STAT_READ(from, txn_rts_delete_rle_skipped); to->txn_rts_stable_rle_skipped += WT_STAT_READ(from, txn_rts_stable_rle_skipped); to->txn_rts_sweep_hs_keys += WT_STAT_READ(from, txn_rts_sweep_hs_keys); + to->txn_rts_hs_restore_tombstones_dryrun += + WT_STAT_READ(from, txn_rts_hs_restore_tombstones_dryrun); + to->txn_rts_hs_restore_updates_dryrun += WT_STAT_READ(from, txn_rts_hs_restore_updates_dryrun); to->txn_rts_hs_removed += WT_STAT_READ(from, txn_rts_hs_removed); + to->txn_rts_hs_removed_dryrun += WT_STAT_READ(from, txn_rts_hs_removed_dryrun); to->txn_checkpoint_obsolete_applied += WT_STAT_READ(from, txn_checkpoint_obsolete_applied); to->txn_update_conflict += WT_STAT_READ(from, txn_update_conflict); } @@ -1370,6 +1415,11 @@ static const char *const __stats_connection_desc[] = { "timestamp on data page", "cache: history store table truncation to remove range of updates due to key being removed from " "the data page during reconciliation", + "cache: history store table truncations that would have happened in non-dryrun mode", + "cache: history store table truncations to remove an unstable update that would have happened in " + "non-dryrun mode", + "cache: history store table truncations to remove an update that would have happened in " + "non-dryrun mode", "cache: history store table updates without timestamps fixed up by reinserting with the fixed " "timestamp", "cache: history store table writes requiring squashed modifies", @@ -1749,20 +1799,31 @@ static const char *const __stats_connection_desc[] = { "transaction: query timestamp calls", "transaction: race to read prepared update retry", "transaction: rollback to stable calls", + "transaction: rollback to stable history store keys that would have been swept in non-dryrun " + "mode", "transaction: rollback to stable history store records with stop timestamps older than newer " "records", "transaction: rollback to stable inconsistent checkpoint", "transaction: rollback to stable keys removed", "transaction: rollback to stable keys restored", + "transaction: rollback to stable keys that would have been removed in non-dryrun mode", + "transaction: rollback to stable keys that would have been restored in non-dryrun mode", "transaction: rollback to stable pages visited", "transaction: rollback to stable restored tombstones from history store", "transaction: rollback to stable restored updates from history store", "transaction: rollback to stable skipping delete rle", "transaction: rollback to stable skipping stable rle", "transaction: rollback to stable sweeping history store keys", + "transaction: rollback to stable tombstones from history store that would have been restored in " + "non-dryrun mode", "transaction: rollback to stable tree walk skipping pages", "transaction: rollback to stable updates aborted", + "transaction: rollback to stable updates from history store that would have been restored in " + "non-dryrun mode", "transaction: rollback to stable updates removed from history store", + "transaction: rollback to stable updates that would have been aborted in non-dryrun mode", + "transaction: rollback to stable updates that would have been removed from history store in " + "non-dryrun mode", "transaction: sessions scanned in each walk of concurrent sessions", "transaction: set timestamp calls", "transaction: set timestamp durable calls", @@ -1988,6 +2049,9 @@ __wt_stat_connection_clear_single(WT_CONNECTION_STATS *stats) stats->cache_hs_key_truncate = 0; stats->cache_hs_order_remove = 0; stats->cache_hs_key_truncate_onpage_removal = 0; + stats->cache_hs_btree_truncate_dryrun = 0; + stats->cache_hs_key_truncate_rts_unstable_dryrun = 0; + stats->cache_hs_key_truncate_rts_dryrun = 0; stats->cache_hs_order_reinsert = 0; stats->cache_hs_write_squash = 0; stats->cache_inmem_splittable = 0; @@ -2360,19 +2424,26 @@ __wt_stat_connection_clear_single(WT_CONNECTION_STATS *stats) stats->txn_query_ts = 0; stats->txn_read_race_prepare_update = 0; stats->txn_rts = 0; + stats->txn_rts_sweep_hs_keys_dryrun = 0; stats->txn_rts_hs_stop_older_than_newer_start = 0; stats->txn_rts_inconsistent_ckpt = 0; stats->txn_rts_keys_removed = 0; stats->txn_rts_keys_restored = 0; + stats->txn_rts_keys_removed_dryrun = 0; + stats->txn_rts_keys_restored_dryrun = 0; stats->txn_rts_pages_visited = 0; stats->txn_rts_hs_restore_tombstones = 0; stats->txn_rts_hs_restore_updates = 0; stats->txn_rts_delete_rle_skipped = 0; stats->txn_rts_stable_rle_skipped = 0; stats->txn_rts_sweep_hs_keys = 0; + stats->txn_rts_hs_restore_tombstones_dryrun = 0; stats->txn_rts_tree_walk_skip_pages = 0; stats->txn_rts_upd_aborted = 0; + stats->txn_rts_hs_restore_updates_dryrun = 0; stats->txn_rts_hs_removed = 0; + stats->txn_rts_upd_aborted_dryrun = 0; + stats->txn_rts_hs_removed_dryrun = 0; stats->txn_sessions_walked = 0; stats->txn_set_ts = 0; stats->txn_set_ts_durable = 0; @@ -2592,6 +2663,10 @@ __wt_stat_connection_aggregate(WT_CONNECTION_STATS **from, WT_CONNECTION_STATS * to->cache_hs_order_remove += WT_STAT_READ(from, cache_hs_order_remove); to->cache_hs_key_truncate_onpage_removal += WT_STAT_READ(from, cache_hs_key_truncate_onpage_removal); + to->cache_hs_btree_truncate_dryrun += WT_STAT_READ(from, cache_hs_btree_truncate_dryrun); + to->cache_hs_key_truncate_rts_unstable_dryrun += + WT_STAT_READ(from, cache_hs_key_truncate_rts_unstable_dryrun); + to->cache_hs_key_truncate_rts_dryrun += WT_STAT_READ(from, cache_hs_key_truncate_rts_dryrun); to->cache_hs_order_reinsert += WT_STAT_READ(from, cache_hs_order_reinsert); to->cache_hs_write_squash += WT_STAT_READ(from, cache_hs_write_squash); to->cache_inmem_splittable += WT_STAT_READ(from, cache_inmem_splittable); @@ -2993,20 +3068,28 @@ __wt_stat_connection_aggregate(WT_CONNECTION_STATS **from, WT_CONNECTION_STATS * to->txn_query_ts += WT_STAT_READ(from, txn_query_ts); to->txn_read_race_prepare_update += WT_STAT_READ(from, txn_read_race_prepare_update); to->txn_rts += WT_STAT_READ(from, txn_rts); + to->txn_rts_sweep_hs_keys_dryrun += WT_STAT_READ(from, txn_rts_sweep_hs_keys_dryrun); to->txn_rts_hs_stop_older_than_newer_start += WT_STAT_READ(from, txn_rts_hs_stop_older_than_newer_start); to->txn_rts_inconsistent_ckpt += WT_STAT_READ(from, txn_rts_inconsistent_ckpt); to->txn_rts_keys_removed += WT_STAT_READ(from, txn_rts_keys_removed); to->txn_rts_keys_restored += WT_STAT_READ(from, txn_rts_keys_restored); + to->txn_rts_keys_removed_dryrun += WT_STAT_READ(from, txn_rts_keys_removed_dryrun); + to->txn_rts_keys_restored_dryrun += WT_STAT_READ(from, txn_rts_keys_restored_dryrun); to->txn_rts_pages_visited += WT_STAT_READ(from, txn_rts_pages_visited); to->txn_rts_hs_restore_tombstones += WT_STAT_READ(from, txn_rts_hs_restore_tombstones); to->txn_rts_hs_restore_updates += WT_STAT_READ(from, txn_rts_hs_restore_updates); to->txn_rts_delete_rle_skipped += WT_STAT_READ(from, txn_rts_delete_rle_skipped); to->txn_rts_stable_rle_skipped += WT_STAT_READ(from, txn_rts_stable_rle_skipped); to->txn_rts_sweep_hs_keys += WT_STAT_READ(from, txn_rts_sweep_hs_keys); + to->txn_rts_hs_restore_tombstones_dryrun += + WT_STAT_READ(from, txn_rts_hs_restore_tombstones_dryrun); to->txn_rts_tree_walk_skip_pages += WT_STAT_READ(from, txn_rts_tree_walk_skip_pages); to->txn_rts_upd_aborted += WT_STAT_READ(from, txn_rts_upd_aborted); + to->txn_rts_hs_restore_updates_dryrun += WT_STAT_READ(from, txn_rts_hs_restore_updates_dryrun); to->txn_rts_hs_removed += WT_STAT_READ(from, txn_rts_hs_removed); + to->txn_rts_upd_aborted_dryrun += WT_STAT_READ(from, txn_rts_upd_aborted_dryrun); + to->txn_rts_hs_removed_dryrun += WT_STAT_READ(from, txn_rts_hs_removed_dryrun); to->txn_sessions_walked += WT_STAT_READ(from, txn_sessions_walked); to->txn_set_ts += WT_STAT_READ(from, txn_set_ts); to->txn_set_ts_durable += WT_STAT_READ(from, txn_set_ts_durable); diff --git a/src/third_party/wiredtiger/test/suite/test_rollback_to_stable01.py b/src/third_party/wiredtiger/test/suite/test_rollback_to_stable01.py index 9b7ec2cf8ae..6f331ce0630 100755 --- a/src/third_party/wiredtiger/test/suite/test_rollback_to_stable01.py +++ b/src/third_party/wiredtiger/test/suite/test_rollback_to_stable01.py @@ -114,8 +114,10 @@ class test_rollback_to_stable01(test_rollback_to_stable_base): hs_removed = stat_cursor[stat.conn.txn_rts_hs_removed][2] keys_removed = stat_cursor[stat.conn.txn_rts_keys_removed][2] keys_restored = stat_cursor[stat.conn.txn_rts_keys_restored][2] + keys_restored_dryrun = stat_cursor[stat.conn.txn_rts_keys_restored_dryrun][2] pages_visited = stat_cursor[stat.conn.txn_rts_pages_visited][2] upd_aborted = stat_cursor[stat.conn.txn_rts_upd_aborted][2] + upd_aborted_dryrun = stat_cursor[stat.conn.txn_rts_upd_aborted_dryrun][2] stat_cursor.close() self.assertEqual(calls, 1) @@ -123,8 +125,9 @@ class test_rollback_to_stable01(test_rollback_to_stable_base): self.assertEqual(keys_removed, 0) if self.dryrun: self.assertEqual(upd_aborted, 0) + self.assertEqual(upd_aborted_dryrun + keys_restored_dryrun, nrows) elif self.in_memory: - self.assertEqual(upd_aborted, nrows) + self.assertEqual(upd_aborted + upd_aborted_dryrun, nrows) else: self.assertEqual(upd_aborted + keys_restored, nrows) self.assertGreaterEqual(keys_restored, 0) diff --git a/src/third_party/wiredtiger/test/suite/test_rollback_to_stable02.py b/src/third_party/wiredtiger/test/suite/test_rollback_to_stable02.py index 23f9b28e9e9..3e9e0e26a06 100755 --- a/src/third_party/wiredtiger/test/suite/test_rollback_to_stable02.py +++ b/src/third_party/wiredtiger/test/suite/test_rollback_to_stable02.py @@ -127,6 +127,10 @@ class test_rollback_to_stable02(test_rollback_to_stable_base): if not self.in_memory: self.session.checkpoint() + # FIXME WT-10017: We need this eviction cursor to work around column-store not having the + # same "roll back the history store anyway" workaround that row-store has. + self.evict_cursor(uri, nrows, valued) + self.conn.rollback_to_stable('dryrun={}'.format('true' if self.dryrun else 'false')) # Check that the new updates are only seen after the update timestamp. self.session.breakpoint() @@ -143,6 +147,8 @@ class test_rollback_to_stable02(test_rollback_to_stable_base): calls = stat_cursor[stat.conn.txn_rts][2] upd_aborted = (stat_cursor[stat.conn.txn_rts_upd_aborted][2] + stat_cursor[stat.conn.txn_rts_hs_removed][2]) + upd_aborted_dryrun = (stat_cursor[stat.conn.txn_rts_upd_aborted_dryrun][2] + + stat_cursor[stat.conn.txn_rts_hs_removed_dryrun][2]) keys_removed = stat_cursor[stat.conn.txn_rts_keys_removed][2] keys_restored = stat_cursor[stat.conn.txn_rts_keys_restored][2] pages_visited = stat_cursor[stat.conn.txn_rts_pages_visited][2] @@ -155,8 +161,10 @@ class test_rollback_to_stable02(test_rollback_to_stable_base): if self.dryrun: self.assertEqual(upd_aborted, 0) + self.assertGreaterEqual(upd_aborted_dryrun, nrows * 2) else: self.assertGreaterEqual(upd_aborted, nrows * 2) + self.assertEqual(upd_aborted_dryrun, 0) if __name__ == '__main__': wttest.run() diff --git a/src/third_party/wiredtiger/test/suite/test_rollback_to_stable04.py b/src/third_party/wiredtiger/test/suite/test_rollback_to_stable04.py index 658df6361aa..007616943ce 100755 --- a/src/third_party/wiredtiger/test/suite/test_rollback_to_stable04.py +++ b/src/third_party/wiredtiger/test/suite/test_rollback_to_stable04.py @@ -165,11 +165,14 @@ class test_rollback_to_stable04(test_rollback_to_stable_base): stat_cursor = self.session.open_cursor('statistics:', None, None) calls = stat_cursor[stat.conn.txn_rts][2] hs_removed = stat_cursor[stat.conn.txn_rts_hs_removed][2] + hs_removed_dryrun = stat_cursor[stat.conn.txn_rts_hs_removed_dryrun][2] hs_sweep = stat_cursor[stat.conn.txn_rts_sweep_hs_keys][2] + hs_sweep_dryrun = stat_cursor[stat.conn.txn_rts_sweep_hs_keys_dryrun][2] keys_removed = stat_cursor[stat.conn.txn_rts_keys_removed][2] keys_restored = stat_cursor[stat.conn.txn_rts_keys_restored][2] pages_visited = stat_cursor[stat.conn.txn_rts_pages_visited][2] upd_aborted = stat_cursor[stat.conn.txn_rts_upd_aborted][2] + upd_aborted_dryrun = stat_cursor[stat.conn.txn_rts_upd_aborted_dryrun][2] stat_cursor.close() self.assertEqual(calls, 1) @@ -178,11 +181,14 @@ class test_rollback_to_stable04(test_rollback_to_stable_base): self.assertGreater(pages_visited, 0) if self.dryrun: self.assertEqual(upd_aborted + hs_removed + hs_sweep, 0) + self.assertGreaterEqual(upd_aborted_dryrun + hs_removed_dryrun + hs_sweep_dryrun, nrows * 11) elif self.in_memory: self.assertEqual(upd_aborted, nrows * 11) self.assertEqual(hs_removed + hs_sweep, 0) + self.assertEqual(upd_aborted_dryrun + hs_removed_dryrun + hs_sweep_dryrun, 0) else: self.assertGreaterEqual(upd_aborted + hs_removed + hs_sweep, nrows * 11) + self.assertEqual(upd_aborted_dryrun + hs_removed_dryrun + hs_sweep_dryrun, 0) if __name__ == '__main__': wttest.run() |