summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEtienne Petrel <etienne.petrel@mongodb.com>2022-04-05 03:26:59 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-04-05 03:55:41 +0000
commit0d0b526b42e0708cd6b43f3912a25589420476eb (patch)
tree3adb3a360d0f815f75cd1d5c2700495b42d87cdb
parentd8928077b6c1f457b014dfe6548a2878edd29398 (diff)
downloadmongo-0d0b526b42e0708cd6b43f3912a25589420476eb.tar.gz
Import wiredtiger: ba7f30585628b2f3a21cae01dbc1bfeb692a2bd1 from branch mongodb-master
ref: a47bf12a71..ba7f305856 for: 6.0.0-rc0 WT-8792 Clean obsolete on-disk pages with overflow items during checkpoint cleanup
-rw-r--r--src/third_party/wiredtiger/dist/s_string.ok1
-rw-r--r--src/third_party/wiredtiger/dist/stat_data.py1
-rw-r--r--src/third_party/wiredtiger/import.data2
-rw-r--r--src/third_party/wiredtiger/src/btree/bt_sync.c44
-rw-r--r--src/third_party/wiredtiger/src/include/stat.h2
-rw-r--r--src/third_party/wiredtiger/src/include/wiredtiger.in862
-rw-r--r--src/third_party/wiredtiger/src/support/stat.c7
-rw-r--r--src/third_party/wiredtiger/test/suite/test_checkpoint23.py141
8 files changed, 625 insertions, 435 deletions
diff --git a/src/third_party/wiredtiger/dist/s_string.ok b/src/third_party/wiredtiger/dist/s_string.ok
index 8e94b159ae8..d741e8c8f97 100644
--- a/src/third_party/wiredtiger/dist/s_string.ok
+++ b/src/third_party/wiredtiger/dist/s_string.ok
@@ -1345,6 +1345,7 @@ recurse
refp
regionp
reinitialization
+reinstantiate
relocked
repl
resizable
diff --git a/src/third_party/wiredtiger/dist/stat_data.py b/src/third_party/wiredtiger/dist/stat_data.py
index da36da590a5..5a8c6cd2838 100644
--- a/src/third_party/wiredtiger/dist/stat_data.py
+++ b/src/third_party/wiredtiger/dist/stat_data.py
@@ -875,6 +875,7 @@ conn_dsrc_stats = [
# Checkpoint cleanup statistics
##########################################
CheckpointCleanupStat('cc_pages_evict', 'pages added for eviction'),
+ CheckpointCleanupStat('cc_pages_read', 'obsolete pages read in for cleanup'),
CheckpointCleanupStat('cc_pages_removed', 'pages removed'),
CheckpointCleanupStat('cc_pages_visited', 'pages visited'),
CheckpointCleanupStat('cc_pages_walk_skipped', 'pages skipped during tree walk'),
diff --git a/src/third_party/wiredtiger/import.data b/src/third_party/wiredtiger/import.data
index 9e9dfc12c7d..86b09ed8dfc 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": "a47bf12a717db87f20d9df44a14ce72560bdf79f"
+ "commit": "ba7f30585628b2f3a21cae01dbc1bfeb692a2bd1"
}
diff --git a/src/third_party/wiredtiger/src/btree/bt_sync.c b/src/third_party/wiredtiger/src/btree/bt_sync.c
index e7c0e4f3a83..855e1246414 100644
--- a/src/third_party/wiredtiger/src/btree/bt_sync.c
+++ b/src/third_party/wiredtiger/src/btree/bt_sync.c
@@ -115,6 +115,22 @@ __sync_dup_walk(WT_SESSION_IMPL *session, WT_REF *walk, uint32_t flags, WT_REF *
}
/*
+ * __sync_should_read_obsolete_page --
+ * Check if we should read in an obsolete page with overflow items in order to re-reconcile it
+ * and discard it all.
+ */
+static int
+__sync_should_read_obsolete_page(WT_SESSION_IMPL *session)
+{
+ /* If the cache is under stress, don't make it worse. */
+ if (__wt_cache_aggressive(session) || __wt_cache_full(session) || __wt_cache_stuck(session) ||
+ __wt_eviction_needed(session, false, false, NULL))
+ return (false);
+
+ return (true);
+}
+
+/*
* __sync_ref_obsolete_check --
* Check whether the ref is obsolete according to the newest stop time point and handle the
* obsolete page.
@@ -168,11 +184,10 @@ __sync_ref_obsolete_check(WT_SESSION_IMPL *session, WT_REF *ref)
ovfl_items = false;
if (previous_state == WT_REF_DISK) {
/*
- * There should be an address, but simply skip any page where we don't find one. Also skip
- * the pages that have overflow keys as part of fast delete flow. These overflow keys pages
- * are handled as an in-memory obsolete page flow.
+ * There should be an address, but simply skip any page where we don't find one.
*/
- if (__wt_ref_addr_copy(session, ref, &addr) && addr.type == WT_ADDR_LEAF_NO) {
+ if (__wt_ref_addr_copy(session, ref, &addr) &&
+ (addr.type == WT_ADDR_LEAF_NO || addr.type == WT_ADDR_LEAF)) {
/*
* Max stop timestamp is possible only when the prepared update is written to the data
* store.
@@ -184,11 +199,30 @@ __sync_ref_obsolete_check(WT_SESSION_IMPL *session, WT_REF *ref)
obsolete = __wt_txn_visible_all(session, newest_stop_txn, newest_stop_durable_ts);
}
- if (obsolete) {
+ if (obsolete && addr.type == WT_ADDR_LEAF_NO) {
WT_REF_UNLOCK(ref, WT_REF_DELETED);
WT_STAT_CONN_DATA_INCR(session, cc_pages_removed);
WT_RET(__wt_page_parent_modify_set(session, ref, true));
+ } else if (obsolete && __sync_should_read_obsolete_page(session)) {
+ /*
+ * This page has overflow items, so we can't just drop it. Instead, read it into memory
+ * and mark it dirty (and ready to evict) so that the next reconciliation will clean it
+ * up.
+ *
+ * Set READ_SKIP_DELETED so that if someone else deletes the page when we unlock it, we
+ * don't then bother to reinstantiate it.
+ */
+ WT_REF_UNLOCK(ref, previous_state);
+ ret = __wt_page_in(session, ref, WT_READ_WONT_NEED | WT_READ_SKIP_DELETED);
+ WT_RET_NOTFOUND_OK(ret);
+ if (ret == 0) {
+ /* Mark the page dirty and count what we did in the stats. */
+ WT_RET(__wt_page_modify_init(session, ref->page));
+ __wt_page_modify_set(session, ref->page);
+ WT_RET(__wt_page_release(session, ref, 0));
+ WT_STAT_CONN_DATA_INCR(session, cc_pages_read);
+ }
} else
WT_REF_UNLOCK(ref, previous_state);
diff --git a/src/third_party/wiredtiger/src/include/stat.h b/src/third_party/wiredtiger/src/include/stat.h
index 2b80cca70c0..7d3c7c3f1d5 100644
--- a/src/third_party/wiredtiger/src/include/stat.h
+++ b/src/third_party/wiredtiger/src/include/stat.h
@@ -524,6 +524,7 @@ struct __wt_connection_stats {
int64_t capacity_time_evict;
int64_t capacity_time_log;
int64_t capacity_time_read;
+ int64_t cc_pages_read;
int64_t cc_pages_evict;
int64_t cc_pages_removed;
int64_t cc_pages_walk_skipped;
@@ -981,6 +982,7 @@ struct __wt_dsrc_stats {
int64_t cache_state_refs_skipped;
int64_t cache_state_root_size;
int64_t cache_state_pages;
+ int64_t cc_pages_read;
int64_t cc_pages_evict;
int64_t cc_pages_removed;
int64_t cc_pages_walk_skipped;
diff --git a/src/third_party/wiredtiger/src/include/wiredtiger.in b/src/third_party/wiredtiger/src/include/wiredtiger.in
index 7601058d613..7c832ec6ff0 100644
--- a/src/third_party/wiredtiger/src/include/wiredtiger.in
+++ b/src/third_party/wiredtiger/src/include/wiredtiger.in
@@ -5642,783 +5642,785 @@ extern int wiredtiger_extension_terminate(WT_CONNECTION *connection);
#define WT_STAT_CONN_CAPACITY_TIME_LOG 1190
/*! capacity: time waiting during read (usecs) */
#define WT_STAT_CONN_CAPACITY_TIME_READ 1191
+/*! checkpoint-cleanup: obsolete pages read in for cleanup */
+#define WT_STAT_CONN_CC_PAGES_READ 1192
/*! checkpoint-cleanup: pages added for eviction */
-#define WT_STAT_CONN_CC_PAGES_EVICT 1192
+#define WT_STAT_CONN_CC_PAGES_EVICT 1193
/*! checkpoint-cleanup: pages removed */
-#define WT_STAT_CONN_CC_PAGES_REMOVED 1193
+#define WT_STAT_CONN_CC_PAGES_REMOVED 1194
/*! checkpoint-cleanup: pages skipped during tree walk */
-#define WT_STAT_CONN_CC_PAGES_WALK_SKIPPED 1194
+#define WT_STAT_CONN_CC_PAGES_WALK_SKIPPED 1195
/*! checkpoint-cleanup: pages visited */
-#define WT_STAT_CONN_CC_PAGES_VISITED 1195
+#define WT_STAT_CONN_CC_PAGES_VISITED 1196
/*! connection: auto adjusting condition resets */
-#define WT_STAT_CONN_COND_AUTO_WAIT_RESET 1196
+#define WT_STAT_CONN_COND_AUTO_WAIT_RESET 1197
/*! connection: auto adjusting condition wait calls */
-#define WT_STAT_CONN_COND_AUTO_WAIT 1197
+#define WT_STAT_CONN_COND_AUTO_WAIT 1198
/*!
* connection: auto adjusting condition wait raced to update timeout and
* skipped updating
*/
-#define WT_STAT_CONN_COND_AUTO_WAIT_SKIPPED 1198
+#define WT_STAT_CONN_COND_AUTO_WAIT_SKIPPED 1199
/*! connection: detected system time went backwards */
-#define WT_STAT_CONN_TIME_TRAVEL 1199
+#define WT_STAT_CONN_TIME_TRAVEL 1200
/*! connection: files currently open */
-#define WT_STAT_CONN_FILE_OPEN 1200
+#define WT_STAT_CONN_FILE_OPEN 1201
/*! connection: hash bucket array size for data handles */
-#define WT_STAT_CONN_BUCKETS_DH 1201
+#define WT_STAT_CONN_BUCKETS_DH 1202
/*! connection: hash bucket array size general */
-#define WT_STAT_CONN_BUCKETS 1202
+#define WT_STAT_CONN_BUCKETS 1203
/*! connection: memory allocations */
-#define WT_STAT_CONN_MEMORY_ALLOCATION 1203
+#define WT_STAT_CONN_MEMORY_ALLOCATION 1204
/*! connection: memory frees */
-#define WT_STAT_CONN_MEMORY_FREE 1204
+#define WT_STAT_CONN_MEMORY_FREE 1205
/*! connection: memory re-allocations */
-#define WT_STAT_CONN_MEMORY_GROW 1205
+#define WT_STAT_CONN_MEMORY_GROW 1206
/*! connection: pthread mutex condition wait calls */
-#define WT_STAT_CONN_COND_WAIT 1206
+#define WT_STAT_CONN_COND_WAIT 1207
/*! connection: pthread mutex shared lock read-lock calls */
-#define WT_STAT_CONN_RWLOCK_READ 1207
+#define WT_STAT_CONN_RWLOCK_READ 1208
/*! connection: pthread mutex shared lock write-lock calls */
-#define WT_STAT_CONN_RWLOCK_WRITE 1208
+#define WT_STAT_CONN_RWLOCK_WRITE 1209
/*! connection: total fsync I/Os */
-#define WT_STAT_CONN_FSYNC_IO 1209
+#define WT_STAT_CONN_FSYNC_IO 1210
/*! connection: total read I/Os */
-#define WT_STAT_CONN_READ_IO 1210
+#define WT_STAT_CONN_READ_IO 1211
/*! connection: total write I/Os */
-#define WT_STAT_CONN_WRITE_IO 1211
+#define WT_STAT_CONN_WRITE_IO 1212
/*! cursor: Total number of entries skipped by cursor next calls */
-#define WT_STAT_CONN_CURSOR_NEXT_SKIP_TOTAL 1212
+#define WT_STAT_CONN_CURSOR_NEXT_SKIP_TOTAL 1213
/*! cursor: Total number of entries skipped by cursor prev calls */
-#define WT_STAT_CONN_CURSOR_PREV_SKIP_TOTAL 1213
+#define WT_STAT_CONN_CURSOR_PREV_SKIP_TOTAL 1214
/*!
* cursor: Total number of entries skipped to position the history store
* cursor
*/
-#define WT_STAT_CONN_CURSOR_SKIP_HS_CUR_POSITION 1214
+#define WT_STAT_CONN_CURSOR_SKIP_HS_CUR_POSITION 1215
/*!
* cursor: Total number of times a search near has exited due to prefix
* config
*/
-#define WT_STAT_CONN_CURSOR_SEARCH_NEAR_PREFIX_FAST_PATHS 1215
+#define WT_STAT_CONN_CURSOR_SEARCH_NEAR_PREFIX_FAST_PATHS 1216
/*! cursor: cached cursor count */
-#define WT_STAT_CONN_CURSOR_CACHED_COUNT 1216
+#define WT_STAT_CONN_CURSOR_CACHED_COUNT 1217
/*! cursor: cursor bulk loaded cursor insert calls */
-#define WT_STAT_CONN_CURSOR_INSERT_BULK 1217
+#define WT_STAT_CONN_CURSOR_INSERT_BULK 1218
/*! cursor: cursor close calls that result in cache */
-#define WT_STAT_CONN_CURSOR_CACHE 1218
+#define WT_STAT_CONN_CURSOR_CACHE 1219
/*! cursor: cursor create calls */
-#define WT_STAT_CONN_CURSOR_CREATE 1219
+#define WT_STAT_CONN_CURSOR_CREATE 1220
/*! cursor: cursor insert calls */
-#define WT_STAT_CONN_CURSOR_INSERT 1220
+#define WT_STAT_CONN_CURSOR_INSERT 1221
/*! cursor: cursor insert key and value bytes */
-#define WT_STAT_CONN_CURSOR_INSERT_BYTES 1221
+#define WT_STAT_CONN_CURSOR_INSERT_BYTES 1222
/*! cursor: cursor modify calls */
-#define WT_STAT_CONN_CURSOR_MODIFY 1222
+#define WT_STAT_CONN_CURSOR_MODIFY 1223
/*! cursor: cursor modify key and value bytes affected */
-#define WT_STAT_CONN_CURSOR_MODIFY_BYTES 1223
+#define WT_STAT_CONN_CURSOR_MODIFY_BYTES 1224
/*! cursor: cursor modify value bytes modified */
-#define WT_STAT_CONN_CURSOR_MODIFY_BYTES_TOUCH 1224
+#define WT_STAT_CONN_CURSOR_MODIFY_BYTES_TOUCH 1225
/*! cursor: cursor next calls */
-#define WT_STAT_CONN_CURSOR_NEXT 1225
+#define WT_STAT_CONN_CURSOR_NEXT 1226
/*!
* cursor: cursor next calls that skip due to a globally visible history
* store tombstone
*/
-#define WT_STAT_CONN_CURSOR_NEXT_HS_TOMBSTONE 1226
+#define WT_STAT_CONN_CURSOR_NEXT_HS_TOMBSTONE 1227
/*!
* cursor: cursor next calls that skip greater than or equal to 100
* entries
*/
-#define WT_STAT_CONN_CURSOR_NEXT_SKIP_GE_100 1227
+#define WT_STAT_CONN_CURSOR_NEXT_SKIP_GE_100 1228
/*! cursor: cursor next calls that skip less than 100 entries */
-#define WT_STAT_CONN_CURSOR_NEXT_SKIP_LT_100 1228
+#define WT_STAT_CONN_CURSOR_NEXT_SKIP_LT_100 1229
/*! cursor: cursor operation restarted */
-#define WT_STAT_CONN_CURSOR_RESTART 1229
+#define WT_STAT_CONN_CURSOR_RESTART 1230
/*! cursor: cursor prev calls */
-#define WT_STAT_CONN_CURSOR_PREV 1230
+#define WT_STAT_CONN_CURSOR_PREV 1231
/*!
* cursor: cursor prev calls that skip due to a globally visible history
* store tombstone
*/
-#define WT_STAT_CONN_CURSOR_PREV_HS_TOMBSTONE 1231
+#define WT_STAT_CONN_CURSOR_PREV_HS_TOMBSTONE 1232
/*!
* cursor: cursor prev calls that skip greater than or equal to 100
* entries
*/
-#define WT_STAT_CONN_CURSOR_PREV_SKIP_GE_100 1232
+#define WT_STAT_CONN_CURSOR_PREV_SKIP_GE_100 1233
/*! cursor: cursor prev calls that skip less than 100 entries */
-#define WT_STAT_CONN_CURSOR_PREV_SKIP_LT_100 1233
+#define WT_STAT_CONN_CURSOR_PREV_SKIP_LT_100 1234
/*! cursor: cursor remove calls */
-#define WT_STAT_CONN_CURSOR_REMOVE 1234
+#define WT_STAT_CONN_CURSOR_REMOVE 1235
/*! cursor: cursor remove key bytes removed */
-#define WT_STAT_CONN_CURSOR_REMOVE_BYTES 1235
+#define WT_STAT_CONN_CURSOR_REMOVE_BYTES 1236
/*! cursor: cursor reserve calls */
-#define WT_STAT_CONN_CURSOR_RESERVE 1236
+#define WT_STAT_CONN_CURSOR_RESERVE 1237
/*! cursor: cursor reset calls */
-#define WT_STAT_CONN_CURSOR_RESET 1237
+#define WT_STAT_CONN_CURSOR_RESET 1238
/*! cursor: cursor search calls */
-#define WT_STAT_CONN_CURSOR_SEARCH 1238
+#define WT_STAT_CONN_CURSOR_SEARCH 1239
/*! cursor: cursor search history store calls */
-#define WT_STAT_CONN_CURSOR_SEARCH_HS 1239
+#define WT_STAT_CONN_CURSOR_SEARCH_HS 1240
/*! cursor: cursor search near calls */
-#define WT_STAT_CONN_CURSOR_SEARCH_NEAR 1240
+#define WT_STAT_CONN_CURSOR_SEARCH_NEAR 1241
/*! cursor: cursor sweep buckets */
-#define WT_STAT_CONN_CURSOR_SWEEP_BUCKETS 1241
+#define WT_STAT_CONN_CURSOR_SWEEP_BUCKETS 1242
/*! cursor: cursor sweep cursors closed */
-#define WT_STAT_CONN_CURSOR_SWEEP_CLOSED 1242
+#define WT_STAT_CONN_CURSOR_SWEEP_CLOSED 1243
/*! cursor: cursor sweep cursors examined */
-#define WT_STAT_CONN_CURSOR_SWEEP_EXAMINED 1243
+#define WT_STAT_CONN_CURSOR_SWEEP_EXAMINED 1244
/*! cursor: cursor sweeps */
-#define WT_STAT_CONN_CURSOR_SWEEP 1244
+#define WT_STAT_CONN_CURSOR_SWEEP 1245
/*! cursor: cursor truncate calls */
-#define WT_STAT_CONN_CURSOR_TRUNCATE 1245
+#define WT_STAT_CONN_CURSOR_TRUNCATE 1246
/*! cursor: cursor update calls */
-#define WT_STAT_CONN_CURSOR_UPDATE 1246
+#define WT_STAT_CONN_CURSOR_UPDATE 1247
/*! cursor: cursor update key and value bytes */
-#define WT_STAT_CONN_CURSOR_UPDATE_BYTES 1247
+#define WT_STAT_CONN_CURSOR_UPDATE_BYTES 1248
/*! cursor: cursor update value size change */
-#define WT_STAT_CONN_CURSOR_UPDATE_BYTES_CHANGED 1248
+#define WT_STAT_CONN_CURSOR_UPDATE_BYTES_CHANGED 1249
/*! cursor: cursors reused from cache */
-#define WT_STAT_CONN_CURSOR_REOPEN 1249
+#define WT_STAT_CONN_CURSOR_REOPEN 1250
/*! cursor: open cursor count */
-#define WT_STAT_CONN_CURSOR_OPEN_COUNT 1250
+#define WT_STAT_CONN_CURSOR_OPEN_COUNT 1251
/*! data-handle: connection data handle size */
-#define WT_STAT_CONN_DH_CONN_HANDLE_SIZE 1251
+#define WT_STAT_CONN_DH_CONN_HANDLE_SIZE 1252
/*! data-handle: connection data handles currently active */
-#define WT_STAT_CONN_DH_CONN_HANDLE_COUNT 1252
+#define WT_STAT_CONN_DH_CONN_HANDLE_COUNT 1253
/*! data-handle: connection sweep candidate became referenced */
-#define WT_STAT_CONN_DH_SWEEP_REF 1253
+#define WT_STAT_CONN_DH_SWEEP_REF 1254
/*! data-handle: connection sweep dhandles closed */
-#define WT_STAT_CONN_DH_SWEEP_CLOSE 1254
+#define WT_STAT_CONN_DH_SWEEP_CLOSE 1255
/*! data-handle: connection sweep dhandles removed from hash list */
-#define WT_STAT_CONN_DH_SWEEP_REMOVE 1255
+#define WT_STAT_CONN_DH_SWEEP_REMOVE 1256
/*! data-handle: connection sweep time-of-death sets */
-#define WT_STAT_CONN_DH_SWEEP_TOD 1256
+#define WT_STAT_CONN_DH_SWEEP_TOD 1257
/*! data-handle: connection sweeps */
-#define WT_STAT_CONN_DH_SWEEPS 1257
+#define WT_STAT_CONN_DH_SWEEPS 1258
/*!
* data-handle: connection sweeps skipped due to checkpoint gathering
* handles
*/
-#define WT_STAT_CONN_DH_SWEEP_SKIP_CKPT 1258
+#define WT_STAT_CONN_DH_SWEEP_SKIP_CKPT 1259
/*! data-handle: session dhandles swept */
-#define WT_STAT_CONN_DH_SESSION_HANDLES 1259
+#define WT_STAT_CONN_DH_SESSION_HANDLES 1260
/*! data-handle: session sweep attempts */
-#define WT_STAT_CONN_DH_SESSION_SWEEPS 1260
+#define WT_STAT_CONN_DH_SESSION_SWEEPS 1261
/*! lock: checkpoint lock acquisitions */
-#define WT_STAT_CONN_LOCK_CHECKPOINT_COUNT 1261
+#define WT_STAT_CONN_LOCK_CHECKPOINT_COUNT 1262
/*! lock: checkpoint lock application thread wait time (usecs) */
-#define WT_STAT_CONN_LOCK_CHECKPOINT_WAIT_APPLICATION 1262
+#define WT_STAT_CONN_LOCK_CHECKPOINT_WAIT_APPLICATION 1263
/*! lock: checkpoint lock internal thread wait time (usecs) */
-#define WT_STAT_CONN_LOCK_CHECKPOINT_WAIT_INTERNAL 1263
+#define WT_STAT_CONN_LOCK_CHECKPOINT_WAIT_INTERNAL 1264
/*! lock: dhandle lock application thread time waiting (usecs) */
-#define WT_STAT_CONN_LOCK_DHANDLE_WAIT_APPLICATION 1264
+#define WT_STAT_CONN_LOCK_DHANDLE_WAIT_APPLICATION 1265
/*! lock: dhandle lock internal thread time waiting (usecs) */
-#define WT_STAT_CONN_LOCK_DHANDLE_WAIT_INTERNAL 1265
+#define WT_STAT_CONN_LOCK_DHANDLE_WAIT_INTERNAL 1266
/*! lock: dhandle read lock acquisitions */
-#define WT_STAT_CONN_LOCK_DHANDLE_READ_COUNT 1266
+#define WT_STAT_CONN_LOCK_DHANDLE_READ_COUNT 1267
/*! lock: dhandle write lock acquisitions */
-#define WT_STAT_CONN_LOCK_DHANDLE_WRITE_COUNT 1267
+#define WT_STAT_CONN_LOCK_DHANDLE_WRITE_COUNT 1268
/*!
* lock: durable timestamp queue lock application thread time waiting
* (usecs)
*/
-#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_WAIT_APPLICATION 1268
+#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_WAIT_APPLICATION 1269
/*!
* lock: durable timestamp queue lock internal thread time waiting
* (usecs)
*/
-#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_WAIT_INTERNAL 1269
+#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_WAIT_INTERNAL 1270
/*! lock: durable timestamp queue read lock acquisitions */
-#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_READ_COUNT 1270
+#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_READ_COUNT 1271
/*! lock: durable timestamp queue write lock acquisitions */
-#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_WRITE_COUNT 1271
+#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_WRITE_COUNT 1272
/*! lock: metadata lock acquisitions */
-#define WT_STAT_CONN_LOCK_METADATA_COUNT 1272
+#define WT_STAT_CONN_LOCK_METADATA_COUNT 1273
/*! lock: metadata lock application thread wait time (usecs) */
-#define WT_STAT_CONN_LOCK_METADATA_WAIT_APPLICATION 1273
+#define WT_STAT_CONN_LOCK_METADATA_WAIT_APPLICATION 1274
/*! lock: metadata lock internal thread wait time (usecs) */
-#define WT_STAT_CONN_LOCK_METADATA_WAIT_INTERNAL 1274
+#define WT_STAT_CONN_LOCK_METADATA_WAIT_INTERNAL 1275
/*!
* lock: read timestamp queue lock application thread time waiting
* (usecs)
*/
-#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_WAIT_APPLICATION 1275
+#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_WAIT_APPLICATION 1276
/*! lock: read timestamp queue lock internal thread time waiting (usecs) */
-#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_WAIT_INTERNAL 1276
+#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_WAIT_INTERNAL 1277
/*! lock: read timestamp queue read lock acquisitions */
-#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_READ_COUNT 1277
+#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_READ_COUNT 1278
/*! lock: read timestamp queue write lock acquisitions */
-#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_WRITE_COUNT 1278
+#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_WRITE_COUNT 1279
/*! lock: schema lock acquisitions */
-#define WT_STAT_CONN_LOCK_SCHEMA_COUNT 1279
+#define WT_STAT_CONN_LOCK_SCHEMA_COUNT 1280
/*! lock: schema lock application thread wait time (usecs) */
-#define WT_STAT_CONN_LOCK_SCHEMA_WAIT_APPLICATION 1280
+#define WT_STAT_CONN_LOCK_SCHEMA_WAIT_APPLICATION 1281
/*! lock: schema lock internal thread wait time (usecs) */
-#define WT_STAT_CONN_LOCK_SCHEMA_WAIT_INTERNAL 1281
+#define WT_STAT_CONN_LOCK_SCHEMA_WAIT_INTERNAL 1282
/*!
* lock: table lock application thread time waiting for the table lock
* (usecs)
*/
-#define WT_STAT_CONN_LOCK_TABLE_WAIT_APPLICATION 1282
+#define WT_STAT_CONN_LOCK_TABLE_WAIT_APPLICATION 1283
/*!
* lock: table lock internal thread time waiting for the table lock
* (usecs)
*/
-#define WT_STAT_CONN_LOCK_TABLE_WAIT_INTERNAL 1283
+#define WT_STAT_CONN_LOCK_TABLE_WAIT_INTERNAL 1284
/*! lock: table read lock acquisitions */
-#define WT_STAT_CONN_LOCK_TABLE_READ_COUNT 1284
+#define WT_STAT_CONN_LOCK_TABLE_READ_COUNT 1285
/*! lock: table write lock acquisitions */
-#define WT_STAT_CONN_LOCK_TABLE_WRITE_COUNT 1285
+#define WT_STAT_CONN_LOCK_TABLE_WRITE_COUNT 1286
/*! lock: txn global lock application thread time waiting (usecs) */
-#define WT_STAT_CONN_LOCK_TXN_GLOBAL_WAIT_APPLICATION 1286
+#define WT_STAT_CONN_LOCK_TXN_GLOBAL_WAIT_APPLICATION 1287
/*! lock: txn global lock internal thread time waiting (usecs) */
-#define WT_STAT_CONN_LOCK_TXN_GLOBAL_WAIT_INTERNAL 1287
+#define WT_STAT_CONN_LOCK_TXN_GLOBAL_WAIT_INTERNAL 1288
/*! lock: txn global read lock acquisitions */
-#define WT_STAT_CONN_LOCK_TXN_GLOBAL_READ_COUNT 1288
+#define WT_STAT_CONN_LOCK_TXN_GLOBAL_READ_COUNT 1289
/*! lock: txn global write lock acquisitions */
-#define WT_STAT_CONN_LOCK_TXN_GLOBAL_WRITE_COUNT 1289
+#define WT_STAT_CONN_LOCK_TXN_GLOBAL_WRITE_COUNT 1290
/*! log: busy returns attempting to switch slots */
-#define WT_STAT_CONN_LOG_SLOT_SWITCH_BUSY 1290
+#define WT_STAT_CONN_LOG_SLOT_SWITCH_BUSY 1291
/*! log: force log remove time sleeping (usecs) */
-#define WT_STAT_CONN_LOG_FORCE_REMOVE_SLEEP 1291
+#define WT_STAT_CONN_LOG_FORCE_REMOVE_SLEEP 1292
/*! log: log bytes of payload data */
-#define WT_STAT_CONN_LOG_BYTES_PAYLOAD 1292
+#define WT_STAT_CONN_LOG_BYTES_PAYLOAD 1293
/*! log: log bytes written */
-#define WT_STAT_CONN_LOG_BYTES_WRITTEN 1293
+#define WT_STAT_CONN_LOG_BYTES_WRITTEN 1294
/*! log: log files manually zero-filled */
-#define WT_STAT_CONN_LOG_ZERO_FILLS 1294
+#define WT_STAT_CONN_LOG_ZERO_FILLS 1295
/*! log: log flush operations */
-#define WT_STAT_CONN_LOG_FLUSH 1295
+#define WT_STAT_CONN_LOG_FLUSH 1296
/*! log: log force write operations */
-#define WT_STAT_CONN_LOG_FORCE_WRITE 1296
+#define WT_STAT_CONN_LOG_FORCE_WRITE 1297
/*! log: log force write operations skipped */
-#define WT_STAT_CONN_LOG_FORCE_WRITE_SKIP 1297
+#define WT_STAT_CONN_LOG_FORCE_WRITE_SKIP 1298
/*! log: log records compressed */
-#define WT_STAT_CONN_LOG_COMPRESS_WRITES 1298
+#define WT_STAT_CONN_LOG_COMPRESS_WRITES 1299
/*! log: log records not compressed */
-#define WT_STAT_CONN_LOG_COMPRESS_WRITE_FAILS 1299
+#define WT_STAT_CONN_LOG_COMPRESS_WRITE_FAILS 1300
/*! log: log records too small to compress */
-#define WT_STAT_CONN_LOG_COMPRESS_SMALL 1300
+#define WT_STAT_CONN_LOG_COMPRESS_SMALL 1301
/*! log: log release advances write LSN */
-#define WT_STAT_CONN_LOG_RELEASE_WRITE_LSN 1301
+#define WT_STAT_CONN_LOG_RELEASE_WRITE_LSN 1302
/*! log: log scan operations */
-#define WT_STAT_CONN_LOG_SCANS 1302
+#define WT_STAT_CONN_LOG_SCANS 1303
/*! log: log scan records requiring two reads */
-#define WT_STAT_CONN_LOG_SCAN_REREADS 1303
+#define WT_STAT_CONN_LOG_SCAN_REREADS 1304
/*! log: log server thread advances write LSN */
-#define WT_STAT_CONN_LOG_WRITE_LSN 1304
+#define WT_STAT_CONN_LOG_WRITE_LSN 1305
/*! log: log server thread write LSN walk skipped */
-#define WT_STAT_CONN_LOG_WRITE_LSN_SKIP 1305
+#define WT_STAT_CONN_LOG_WRITE_LSN_SKIP 1306
/*! log: log sync operations */
-#define WT_STAT_CONN_LOG_SYNC 1306
+#define WT_STAT_CONN_LOG_SYNC 1307
/*! log: log sync time duration (usecs) */
-#define WT_STAT_CONN_LOG_SYNC_DURATION 1307
+#define WT_STAT_CONN_LOG_SYNC_DURATION 1308
/*! log: log sync_dir operations */
-#define WT_STAT_CONN_LOG_SYNC_DIR 1308
+#define WT_STAT_CONN_LOG_SYNC_DIR 1309
/*! log: log sync_dir time duration (usecs) */
-#define WT_STAT_CONN_LOG_SYNC_DIR_DURATION 1309
+#define WT_STAT_CONN_LOG_SYNC_DIR_DURATION 1310
/*! log: log write operations */
-#define WT_STAT_CONN_LOG_WRITES 1310
+#define WT_STAT_CONN_LOG_WRITES 1311
/*! log: logging bytes consolidated */
-#define WT_STAT_CONN_LOG_SLOT_CONSOLIDATED 1311
+#define WT_STAT_CONN_LOG_SLOT_CONSOLIDATED 1312
/*! log: maximum log file size */
-#define WT_STAT_CONN_LOG_MAX_FILESIZE 1312
+#define WT_STAT_CONN_LOG_MAX_FILESIZE 1313
/*! log: number of pre-allocated log files to create */
-#define WT_STAT_CONN_LOG_PREALLOC_MAX 1313
+#define WT_STAT_CONN_LOG_PREALLOC_MAX 1314
/*! log: pre-allocated log files not ready and missed */
-#define WT_STAT_CONN_LOG_PREALLOC_MISSED 1314
+#define WT_STAT_CONN_LOG_PREALLOC_MISSED 1315
/*! log: pre-allocated log files prepared */
-#define WT_STAT_CONN_LOG_PREALLOC_FILES 1315
+#define WT_STAT_CONN_LOG_PREALLOC_FILES 1316
/*! log: pre-allocated log files used */
-#define WT_STAT_CONN_LOG_PREALLOC_USED 1316
+#define WT_STAT_CONN_LOG_PREALLOC_USED 1317
/*! log: records processed by log scan */
-#define WT_STAT_CONN_LOG_SCAN_RECORDS 1317
+#define WT_STAT_CONN_LOG_SCAN_RECORDS 1318
/*! log: slot close lost race */
-#define WT_STAT_CONN_LOG_SLOT_CLOSE_RACE 1318
+#define WT_STAT_CONN_LOG_SLOT_CLOSE_RACE 1319
/*! log: slot close unbuffered waits */
-#define WT_STAT_CONN_LOG_SLOT_CLOSE_UNBUF 1319
+#define WT_STAT_CONN_LOG_SLOT_CLOSE_UNBUF 1320
/*! log: slot closures */
-#define WT_STAT_CONN_LOG_SLOT_CLOSES 1320
+#define WT_STAT_CONN_LOG_SLOT_CLOSES 1321
/*! log: slot join atomic update races */
-#define WT_STAT_CONN_LOG_SLOT_RACES 1321
+#define WT_STAT_CONN_LOG_SLOT_RACES 1322
/*! log: slot join calls atomic updates raced */
-#define WT_STAT_CONN_LOG_SLOT_YIELD_RACE 1322
+#define WT_STAT_CONN_LOG_SLOT_YIELD_RACE 1323
/*! log: slot join calls did not yield */
-#define WT_STAT_CONN_LOG_SLOT_IMMEDIATE 1323
+#define WT_STAT_CONN_LOG_SLOT_IMMEDIATE 1324
/*! log: slot join calls found active slot closed */
-#define WT_STAT_CONN_LOG_SLOT_YIELD_CLOSE 1324
+#define WT_STAT_CONN_LOG_SLOT_YIELD_CLOSE 1325
/*! log: slot join calls slept */
-#define WT_STAT_CONN_LOG_SLOT_YIELD_SLEEP 1325
+#define WT_STAT_CONN_LOG_SLOT_YIELD_SLEEP 1326
/*! log: slot join calls yielded */
-#define WT_STAT_CONN_LOG_SLOT_YIELD 1326
+#define WT_STAT_CONN_LOG_SLOT_YIELD 1327
/*! log: slot join found active slot closed */
-#define WT_STAT_CONN_LOG_SLOT_ACTIVE_CLOSED 1327
+#define WT_STAT_CONN_LOG_SLOT_ACTIVE_CLOSED 1328
/*! log: slot joins yield time (usecs) */
-#define WT_STAT_CONN_LOG_SLOT_YIELD_DURATION 1328
+#define WT_STAT_CONN_LOG_SLOT_YIELD_DURATION 1329
/*! log: slot transitions unable to find free slot */
-#define WT_STAT_CONN_LOG_SLOT_NO_FREE_SLOTS 1329
+#define WT_STAT_CONN_LOG_SLOT_NO_FREE_SLOTS 1330
/*! log: slot unbuffered writes */
-#define WT_STAT_CONN_LOG_SLOT_UNBUFFERED 1330
+#define WT_STAT_CONN_LOG_SLOT_UNBUFFERED 1331
/*! log: total in-memory size of compressed records */
-#define WT_STAT_CONN_LOG_COMPRESS_MEM 1331
+#define WT_STAT_CONN_LOG_COMPRESS_MEM 1332
/*! log: total log buffer size */
-#define WT_STAT_CONN_LOG_BUFFER_SIZE 1332
+#define WT_STAT_CONN_LOG_BUFFER_SIZE 1333
/*! log: total size of compressed records */
-#define WT_STAT_CONN_LOG_COMPRESS_LEN 1333
+#define WT_STAT_CONN_LOG_COMPRESS_LEN 1334
/*! log: written slots coalesced */
-#define WT_STAT_CONN_LOG_SLOT_COALESCED 1334
+#define WT_STAT_CONN_LOG_SLOT_COALESCED 1335
/*! log: yields waiting for previous log file close */
-#define WT_STAT_CONN_LOG_CLOSE_YIELDS 1335
+#define WT_STAT_CONN_LOG_CLOSE_YIELDS 1336
/*! perf: file system read latency histogram (bucket 1) - 10-49ms */
-#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT50 1336
+#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT50 1337
/*! perf: file system read latency histogram (bucket 2) - 50-99ms */
-#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT100 1337
+#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT100 1338
/*! perf: file system read latency histogram (bucket 3) - 100-249ms */
-#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT250 1338
+#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT250 1339
/*! perf: file system read latency histogram (bucket 4) - 250-499ms */
-#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT500 1339
+#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT500 1340
/*! perf: file system read latency histogram (bucket 5) - 500-999ms */
-#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT1000 1340
+#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT1000 1341
/*! perf: file system read latency histogram (bucket 6) - 1000ms+ */
-#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_GT1000 1341
+#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_GT1000 1342
/*! perf: file system write latency histogram (bucket 1) - 10-49ms */
-#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT50 1342
+#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT50 1343
/*! perf: file system write latency histogram (bucket 2) - 50-99ms */
-#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT100 1343
+#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT100 1344
/*! perf: file system write latency histogram (bucket 3) - 100-249ms */
-#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT250 1344
+#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT250 1345
/*! perf: file system write latency histogram (bucket 4) - 250-499ms */
-#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT500 1345
+#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT500 1346
/*! perf: file system write latency histogram (bucket 5) - 500-999ms */
-#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT1000 1346
+#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT1000 1347
/*! perf: file system write latency histogram (bucket 6) - 1000ms+ */
-#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_GT1000 1347
+#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_GT1000 1348
/*! perf: operation read latency histogram (bucket 1) - 100-249us */
-#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT250 1348
+#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT250 1349
/*! perf: operation read latency histogram (bucket 2) - 250-499us */
-#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT500 1349
+#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT500 1350
/*! perf: operation read latency histogram (bucket 3) - 500-999us */
-#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT1000 1350
+#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT1000 1351
/*! perf: operation read latency histogram (bucket 4) - 1000-9999us */
-#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT10000 1351
+#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT10000 1352
/*! perf: operation read latency histogram (bucket 5) - 10000us+ */
-#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_GT10000 1352
+#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_GT10000 1353
/*! perf: operation write latency histogram (bucket 1) - 100-249us */
-#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT250 1353
+#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT250 1354
/*! perf: operation write latency histogram (bucket 2) - 250-499us */
-#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT500 1354
+#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT500 1355
/*! perf: operation write latency histogram (bucket 3) - 500-999us */
-#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT1000 1355
+#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT1000 1356
/*! perf: operation write latency histogram (bucket 4) - 1000-9999us */
-#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT10000 1356
+#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT10000 1357
/*! perf: operation write latency histogram (bucket 5) - 10000us+ */
-#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_GT10000 1357
+#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_GT10000 1358
/*! reconciliation: approximate byte size of timestamps in pages written */
-#define WT_STAT_CONN_REC_TIME_WINDOW_BYTES_TS 1358
+#define WT_STAT_CONN_REC_TIME_WINDOW_BYTES_TS 1359
/*!
* reconciliation: approximate byte size of transaction IDs in pages
* written
*/
-#define WT_STAT_CONN_REC_TIME_WINDOW_BYTES_TXN 1359
+#define WT_STAT_CONN_REC_TIME_WINDOW_BYTES_TXN 1360
/*! reconciliation: fast-path pages deleted */
-#define WT_STAT_CONN_REC_PAGE_DELETE_FAST 1360
+#define WT_STAT_CONN_REC_PAGE_DELETE_FAST 1361
/*! reconciliation: leaf-page overflow keys */
-#define WT_STAT_CONN_REC_OVERFLOW_KEY_LEAF 1361
+#define WT_STAT_CONN_REC_OVERFLOW_KEY_LEAF 1362
/*! reconciliation: maximum seconds spent in a reconciliation call */
-#define WT_STAT_CONN_REC_MAXIMUM_SECONDS 1362
+#define WT_STAT_CONN_REC_MAXIMUM_SECONDS 1363
/*! reconciliation: page reconciliation calls */
-#define WT_STAT_CONN_REC_PAGES 1363
+#define WT_STAT_CONN_REC_PAGES 1364
/*! reconciliation: page reconciliation calls for eviction */
-#define WT_STAT_CONN_REC_PAGES_EVICTION 1364
+#define WT_STAT_CONN_REC_PAGES_EVICTION 1365
/*!
* reconciliation: page reconciliation calls that resulted in values with
* prepared transaction metadata
*/
-#define WT_STAT_CONN_REC_PAGES_WITH_PREPARE 1365
+#define WT_STAT_CONN_REC_PAGES_WITH_PREPARE 1366
/*!
* reconciliation: page reconciliation calls that resulted in values with
* timestamps
*/
-#define WT_STAT_CONN_REC_PAGES_WITH_TS 1366
+#define WT_STAT_CONN_REC_PAGES_WITH_TS 1367
/*!
* reconciliation: page reconciliation calls that resulted in values with
* transaction ids
*/
-#define WT_STAT_CONN_REC_PAGES_WITH_TXN 1367
+#define WT_STAT_CONN_REC_PAGES_WITH_TXN 1368
/*! reconciliation: pages deleted */
-#define WT_STAT_CONN_REC_PAGE_DELETE 1368
+#define WT_STAT_CONN_REC_PAGE_DELETE 1369
/*!
* reconciliation: pages written including an aggregated newest start
* durable timestamp
*/
-#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_START_DURABLE_TS 1369
+#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_START_DURABLE_TS 1370
/*!
* reconciliation: pages written including an aggregated newest stop
* durable timestamp
*/
-#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_STOP_DURABLE_TS 1370
+#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_STOP_DURABLE_TS 1371
/*!
* reconciliation: pages written including an aggregated newest stop
* timestamp
*/
-#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_STOP_TS 1371
+#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_STOP_TS 1372
/*!
* reconciliation: pages written including an aggregated newest stop
* transaction ID
*/
-#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_STOP_TXN 1372
+#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_STOP_TXN 1373
/*!
* reconciliation: pages written including an aggregated newest
* transaction ID
*/
-#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_TXN 1373
+#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_TXN 1374
/*!
* reconciliation: pages written including an aggregated oldest start
* timestamp
*/
-#define WT_STAT_CONN_REC_TIME_AGGR_OLDEST_START_TS 1374
+#define WT_STAT_CONN_REC_TIME_AGGR_OLDEST_START_TS 1375
/*! reconciliation: pages written including an aggregated prepare */
-#define WT_STAT_CONN_REC_TIME_AGGR_PREPARED 1375
+#define WT_STAT_CONN_REC_TIME_AGGR_PREPARED 1376
/*! reconciliation: pages written including at least one prepare state */
-#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_PREPARED 1376
+#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_PREPARED 1377
/*!
* reconciliation: pages written including at least one start durable
* timestamp
*/
-#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_DURABLE_START_TS 1377
+#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_DURABLE_START_TS 1378
/*! reconciliation: pages written including at least one start timestamp */
-#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_START_TS 1378
+#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_START_TS 1379
/*!
* reconciliation: pages written including at least one start transaction
* ID
*/
-#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_START_TXN 1379
+#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_START_TXN 1380
/*!
* reconciliation: pages written including at least one stop durable
* timestamp
*/
-#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_DURABLE_STOP_TS 1380
+#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_DURABLE_STOP_TS 1381
/*! reconciliation: pages written including at least one stop timestamp */
-#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_STOP_TS 1381
+#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_STOP_TS 1382
/*!
* reconciliation: pages written including at least one stop transaction
* ID
*/
-#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_STOP_TXN 1382
+#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_STOP_TXN 1383
/*! reconciliation: records written including a prepare state */
-#define WT_STAT_CONN_REC_TIME_WINDOW_PREPARED 1383
+#define WT_STAT_CONN_REC_TIME_WINDOW_PREPARED 1384
/*! reconciliation: records written including a start durable timestamp */
-#define WT_STAT_CONN_REC_TIME_WINDOW_DURABLE_START_TS 1384
+#define WT_STAT_CONN_REC_TIME_WINDOW_DURABLE_START_TS 1385
/*! reconciliation: records written including a start timestamp */
-#define WT_STAT_CONN_REC_TIME_WINDOW_START_TS 1385
+#define WT_STAT_CONN_REC_TIME_WINDOW_START_TS 1386
/*! reconciliation: records written including a start transaction ID */
-#define WT_STAT_CONN_REC_TIME_WINDOW_START_TXN 1386
+#define WT_STAT_CONN_REC_TIME_WINDOW_START_TXN 1387
/*! reconciliation: records written including a stop durable timestamp */
-#define WT_STAT_CONN_REC_TIME_WINDOW_DURABLE_STOP_TS 1387
+#define WT_STAT_CONN_REC_TIME_WINDOW_DURABLE_STOP_TS 1388
/*! reconciliation: records written including a stop timestamp */
-#define WT_STAT_CONN_REC_TIME_WINDOW_STOP_TS 1388
+#define WT_STAT_CONN_REC_TIME_WINDOW_STOP_TS 1389
/*! reconciliation: records written including a stop transaction ID */
-#define WT_STAT_CONN_REC_TIME_WINDOW_STOP_TXN 1389
+#define WT_STAT_CONN_REC_TIME_WINDOW_STOP_TXN 1390
/*! reconciliation: split bytes currently awaiting free */
-#define WT_STAT_CONN_REC_SPLIT_STASHED_BYTES 1390
+#define WT_STAT_CONN_REC_SPLIT_STASHED_BYTES 1391
/*! reconciliation: split objects currently awaiting free */
-#define WT_STAT_CONN_REC_SPLIT_STASHED_OBJECTS 1391
+#define WT_STAT_CONN_REC_SPLIT_STASHED_OBJECTS 1392
/*! session: attempts to remove a local object and the object is in use */
-#define WT_STAT_CONN_LOCAL_OBJECTS_INUSE 1392
+#define WT_STAT_CONN_LOCAL_OBJECTS_INUSE 1393
/*! session: flush_tier operation calls */
-#define WT_STAT_CONN_FLUSH_TIER 1393
+#define WT_STAT_CONN_FLUSH_TIER 1394
/*! session: flush_tier tables skipped due to no checkpoint */
-#define WT_STAT_CONN_FLUSH_TIER_SKIPPED 1394
+#define WT_STAT_CONN_FLUSH_TIER_SKIPPED 1395
/*! session: flush_tier tables switched */
-#define WT_STAT_CONN_FLUSH_TIER_SWITCHED 1395
+#define WT_STAT_CONN_FLUSH_TIER_SWITCHED 1396
/*! session: local objects removed */
-#define WT_STAT_CONN_LOCAL_OBJECTS_REMOVED 1396
+#define WT_STAT_CONN_LOCAL_OBJECTS_REMOVED 1397
/*! session: open session count */
-#define WT_STAT_CONN_SESSION_OPEN 1397
+#define WT_STAT_CONN_SESSION_OPEN 1398
/*! session: session query timestamp calls */
-#define WT_STAT_CONN_SESSION_QUERY_TS 1398
+#define WT_STAT_CONN_SESSION_QUERY_TS 1399
/*! session: table alter failed calls */
-#define WT_STAT_CONN_SESSION_TABLE_ALTER_FAIL 1399
+#define WT_STAT_CONN_SESSION_TABLE_ALTER_FAIL 1400
/*! session: table alter successful calls */
-#define WT_STAT_CONN_SESSION_TABLE_ALTER_SUCCESS 1400
+#define WT_STAT_CONN_SESSION_TABLE_ALTER_SUCCESS 1401
/*! session: table alter triggering checkpoint calls */
-#define WT_STAT_CONN_SESSION_TABLE_ALTER_TRIGGER_CHECKPOINT 1401
+#define WT_STAT_CONN_SESSION_TABLE_ALTER_TRIGGER_CHECKPOINT 1402
/*! session: table alter unchanged and skipped */
-#define WT_STAT_CONN_SESSION_TABLE_ALTER_SKIP 1402
+#define WT_STAT_CONN_SESSION_TABLE_ALTER_SKIP 1403
/*! session: table compact failed calls */
-#define WT_STAT_CONN_SESSION_TABLE_COMPACT_FAIL 1403
+#define WT_STAT_CONN_SESSION_TABLE_COMPACT_FAIL 1404
/*! session: table compact failed calls due to cache pressure */
-#define WT_STAT_CONN_SESSION_TABLE_COMPACT_FAIL_CACHE_PRESSURE 1404
+#define WT_STAT_CONN_SESSION_TABLE_COMPACT_FAIL_CACHE_PRESSURE 1405
/*! session: table compact running */
-#define WT_STAT_CONN_SESSION_TABLE_COMPACT_RUNNING 1405
+#define WT_STAT_CONN_SESSION_TABLE_COMPACT_RUNNING 1406
/*! session: table compact skipped as process would not reduce file size */
-#define WT_STAT_CONN_SESSION_TABLE_COMPACT_SKIPPED 1406
+#define WT_STAT_CONN_SESSION_TABLE_COMPACT_SKIPPED 1407
/*! session: table compact successful calls */
-#define WT_STAT_CONN_SESSION_TABLE_COMPACT_SUCCESS 1407
+#define WT_STAT_CONN_SESSION_TABLE_COMPACT_SUCCESS 1408
/*! session: table compact timeout */
-#define WT_STAT_CONN_SESSION_TABLE_COMPACT_TIMEOUT 1408
+#define WT_STAT_CONN_SESSION_TABLE_COMPACT_TIMEOUT 1409
/*! session: table create failed calls */
-#define WT_STAT_CONN_SESSION_TABLE_CREATE_FAIL 1409
+#define WT_STAT_CONN_SESSION_TABLE_CREATE_FAIL 1410
/*! session: table create successful calls */
-#define WT_STAT_CONN_SESSION_TABLE_CREATE_SUCCESS 1410
+#define WT_STAT_CONN_SESSION_TABLE_CREATE_SUCCESS 1411
/*! session: table drop failed calls */
-#define WT_STAT_CONN_SESSION_TABLE_DROP_FAIL 1411
+#define WT_STAT_CONN_SESSION_TABLE_DROP_FAIL 1412
/*! session: table drop successful calls */
-#define WT_STAT_CONN_SESSION_TABLE_DROP_SUCCESS 1412
+#define WT_STAT_CONN_SESSION_TABLE_DROP_SUCCESS 1413
/*! session: table rename failed calls */
-#define WT_STAT_CONN_SESSION_TABLE_RENAME_FAIL 1413
+#define WT_STAT_CONN_SESSION_TABLE_RENAME_FAIL 1414
/*! session: table rename successful calls */
-#define WT_STAT_CONN_SESSION_TABLE_RENAME_SUCCESS 1414
+#define WT_STAT_CONN_SESSION_TABLE_RENAME_SUCCESS 1415
/*! session: table salvage failed calls */
-#define WT_STAT_CONN_SESSION_TABLE_SALVAGE_FAIL 1415
+#define WT_STAT_CONN_SESSION_TABLE_SALVAGE_FAIL 1416
/*! session: table salvage successful calls */
-#define WT_STAT_CONN_SESSION_TABLE_SALVAGE_SUCCESS 1416
+#define WT_STAT_CONN_SESSION_TABLE_SALVAGE_SUCCESS 1417
/*! session: table truncate failed calls */
-#define WT_STAT_CONN_SESSION_TABLE_TRUNCATE_FAIL 1417
+#define WT_STAT_CONN_SESSION_TABLE_TRUNCATE_FAIL 1418
/*! session: table truncate successful calls */
-#define WT_STAT_CONN_SESSION_TABLE_TRUNCATE_SUCCESS 1418
+#define WT_STAT_CONN_SESSION_TABLE_TRUNCATE_SUCCESS 1419
/*! session: table verify failed calls */
-#define WT_STAT_CONN_SESSION_TABLE_VERIFY_FAIL 1419
+#define WT_STAT_CONN_SESSION_TABLE_VERIFY_FAIL 1420
/*! session: table verify successful calls */
-#define WT_STAT_CONN_SESSION_TABLE_VERIFY_SUCCESS 1420
+#define WT_STAT_CONN_SESSION_TABLE_VERIFY_SUCCESS 1421
/*! session: tiered operations dequeued and processed */
-#define WT_STAT_CONN_TIERED_WORK_UNITS_DEQUEUED 1421
+#define WT_STAT_CONN_TIERED_WORK_UNITS_DEQUEUED 1422
/*! session: tiered operations scheduled */
-#define WT_STAT_CONN_TIERED_WORK_UNITS_CREATED 1422
+#define WT_STAT_CONN_TIERED_WORK_UNITS_CREATED 1423
/*! session: tiered storage local retention time (secs) */
-#define WT_STAT_CONN_TIERED_RETENTION 1423
+#define WT_STAT_CONN_TIERED_RETENTION 1424
/*! session: tiered storage object size */
-#define WT_STAT_CONN_TIERED_OBJECT_SIZE 1424
+#define WT_STAT_CONN_TIERED_OBJECT_SIZE 1425
/*! thread-state: active filesystem fsync calls */
-#define WT_STAT_CONN_THREAD_FSYNC_ACTIVE 1425
+#define WT_STAT_CONN_THREAD_FSYNC_ACTIVE 1426
/*! thread-state: active filesystem read calls */
-#define WT_STAT_CONN_THREAD_READ_ACTIVE 1426
+#define WT_STAT_CONN_THREAD_READ_ACTIVE 1427
/*! thread-state: active filesystem write calls */
-#define WT_STAT_CONN_THREAD_WRITE_ACTIVE 1427
+#define WT_STAT_CONN_THREAD_WRITE_ACTIVE 1428
/*! thread-yield: application thread time evicting (usecs) */
-#define WT_STAT_CONN_APPLICATION_EVICT_TIME 1428
+#define WT_STAT_CONN_APPLICATION_EVICT_TIME 1429
/*! thread-yield: application thread time waiting for cache (usecs) */
-#define WT_STAT_CONN_APPLICATION_CACHE_TIME 1429
+#define WT_STAT_CONN_APPLICATION_CACHE_TIME 1430
/*!
* thread-yield: connection close blocked waiting for transaction state
* stabilization
*/
-#define WT_STAT_CONN_TXN_RELEASE_BLOCKED 1430
+#define WT_STAT_CONN_TXN_RELEASE_BLOCKED 1431
/*! thread-yield: connection close yielded for lsm manager shutdown */
-#define WT_STAT_CONN_CONN_CLOSE_BLOCKED_LSM 1431
+#define WT_STAT_CONN_CONN_CLOSE_BLOCKED_LSM 1432
/*! thread-yield: data handle lock yielded */
-#define WT_STAT_CONN_DHANDLE_LOCK_BLOCKED 1432
+#define WT_STAT_CONN_DHANDLE_LOCK_BLOCKED 1433
/*!
* thread-yield: get reference for page index and slot time sleeping
* (usecs)
*/
-#define WT_STAT_CONN_PAGE_INDEX_SLOT_REF_BLOCKED 1433
+#define WT_STAT_CONN_PAGE_INDEX_SLOT_REF_BLOCKED 1434
/*! thread-yield: page access yielded due to prepare state change */
-#define WT_STAT_CONN_PREPARED_TRANSITION_BLOCKED_PAGE 1434
+#define WT_STAT_CONN_PREPARED_TRANSITION_BLOCKED_PAGE 1435
/*! thread-yield: page acquire busy blocked */
-#define WT_STAT_CONN_PAGE_BUSY_BLOCKED 1435
+#define WT_STAT_CONN_PAGE_BUSY_BLOCKED 1436
/*! thread-yield: page acquire eviction blocked */
-#define WT_STAT_CONN_PAGE_FORCIBLE_EVICT_BLOCKED 1436
+#define WT_STAT_CONN_PAGE_FORCIBLE_EVICT_BLOCKED 1437
/*! thread-yield: page acquire locked blocked */
-#define WT_STAT_CONN_PAGE_LOCKED_BLOCKED 1437
+#define WT_STAT_CONN_PAGE_LOCKED_BLOCKED 1438
/*! thread-yield: page acquire read blocked */
-#define WT_STAT_CONN_PAGE_READ_BLOCKED 1438
+#define WT_STAT_CONN_PAGE_READ_BLOCKED 1439
/*! thread-yield: page acquire time sleeping (usecs) */
-#define WT_STAT_CONN_PAGE_SLEEP 1439
+#define WT_STAT_CONN_PAGE_SLEEP 1440
/*!
* thread-yield: page delete rollback time sleeping for state change
* (usecs)
*/
-#define WT_STAT_CONN_PAGE_DEL_ROLLBACK_BLOCKED 1440
+#define WT_STAT_CONN_PAGE_DEL_ROLLBACK_BLOCKED 1441
/*! thread-yield: page reconciliation yielded due to child modification */
-#define WT_STAT_CONN_CHILD_MODIFY_BLOCKED_PAGE 1441
+#define WT_STAT_CONN_CHILD_MODIFY_BLOCKED_PAGE 1442
/*! transaction: Number of prepared updates */
-#define WT_STAT_CONN_TXN_PREPARED_UPDATES 1442
+#define WT_STAT_CONN_TXN_PREPARED_UPDATES 1443
/*! transaction: Number of prepared updates committed */
-#define WT_STAT_CONN_TXN_PREPARED_UPDATES_COMMITTED 1443
+#define WT_STAT_CONN_TXN_PREPARED_UPDATES_COMMITTED 1444
/*! transaction: Number of prepared updates repeated on the same key */
-#define WT_STAT_CONN_TXN_PREPARED_UPDATES_KEY_REPEATED 1444
+#define WT_STAT_CONN_TXN_PREPARED_UPDATES_KEY_REPEATED 1445
/*! transaction: Number of prepared updates rolled back */
-#define WT_STAT_CONN_TXN_PREPARED_UPDATES_ROLLEDBACK 1445
+#define WT_STAT_CONN_TXN_PREPARED_UPDATES_ROLLEDBACK 1446
/*! transaction: prepared transactions */
-#define WT_STAT_CONN_TXN_PREPARE 1446
+#define WT_STAT_CONN_TXN_PREPARE 1447
/*! transaction: prepared transactions committed */
-#define WT_STAT_CONN_TXN_PREPARE_COMMIT 1447
+#define WT_STAT_CONN_TXN_PREPARE_COMMIT 1448
/*! transaction: prepared transactions currently active */
-#define WT_STAT_CONN_TXN_PREPARE_ACTIVE 1448
+#define WT_STAT_CONN_TXN_PREPARE_ACTIVE 1449
/*! transaction: prepared transactions rolled back */
-#define WT_STAT_CONN_TXN_PREPARE_ROLLBACK 1449
+#define WT_STAT_CONN_TXN_PREPARE_ROLLBACK 1450
/*!
* transaction: prepared transactions rolled back and do not remove the
* history store entry
*/
-#define WT_STAT_CONN_TXN_PREPARE_ROLLBACK_DO_NOT_REMOVE_HS_UPDATE 1450
+#define WT_STAT_CONN_TXN_PREPARE_ROLLBACK_DO_NOT_REMOVE_HS_UPDATE 1451
/*!
* transaction: prepared transactions rolled back and fix the history
* store entry with checkpoint reserved transaction id
*/
-#define WT_STAT_CONN_TXN_PREPARE_ROLLBACK_FIX_HS_UPDATE_WITH_CKPT_RESERVED_TXNID 1451
+#define WT_STAT_CONN_TXN_PREPARE_ROLLBACK_FIX_HS_UPDATE_WITH_CKPT_RESERVED_TXNID 1452
/*! transaction: query timestamp calls */
-#define WT_STAT_CONN_TXN_QUERY_TS 1452
+#define WT_STAT_CONN_TXN_QUERY_TS 1453
/*! transaction: race to read prepared update retry */
-#define WT_STAT_CONN_TXN_READ_RACE_PREPARE_UPDATE 1453
+#define WT_STAT_CONN_TXN_READ_RACE_PREPARE_UPDATE 1454
/*! transaction: rollback to stable calls */
-#define WT_STAT_CONN_TXN_RTS 1454
+#define WT_STAT_CONN_TXN_RTS 1455
/*!
* 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 1455
+#define WT_STAT_CONN_TXN_RTS_HS_STOP_OLDER_THAN_NEWER_START 1456
/*! transaction: rollback to stable inconsistent checkpoint */
-#define WT_STAT_CONN_TXN_RTS_INCONSISTENT_CKPT 1456
+#define WT_STAT_CONN_TXN_RTS_INCONSISTENT_CKPT 1457
/*! transaction: rollback to stable keys removed */
-#define WT_STAT_CONN_TXN_RTS_KEYS_REMOVED 1457
+#define WT_STAT_CONN_TXN_RTS_KEYS_REMOVED 1458
/*! transaction: rollback to stable keys restored */
-#define WT_STAT_CONN_TXN_RTS_KEYS_RESTORED 1458
+#define WT_STAT_CONN_TXN_RTS_KEYS_RESTORED 1459
/*! transaction: rollback to stable pages visited */
-#define WT_STAT_CONN_TXN_RTS_PAGES_VISITED 1459
+#define WT_STAT_CONN_TXN_RTS_PAGES_VISITED 1460
/*! transaction: rollback to stable restored tombstones from history store */
-#define WT_STAT_CONN_TXN_RTS_HS_RESTORE_TOMBSTONES 1460
+#define WT_STAT_CONN_TXN_RTS_HS_RESTORE_TOMBSTONES 1461
/*! transaction: rollback to stable restored updates from history store */
-#define WT_STAT_CONN_TXN_RTS_HS_RESTORE_UPDATES 1461
+#define WT_STAT_CONN_TXN_RTS_HS_RESTORE_UPDATES 1462
/*! transaction: rollback to stable skipping delete rle */
-#define WT_STAT_CONN_TXN_RTS_DELETE_RLE_SKIPPED 1462
+#define WT_STAT_CONN_TXN_RTS_DELETE_RLE_SKIPPED 1463
/*! transaction: rollback to stable skipping stable rle */
-#define WT_STAT_CONN_TXN_RTS_STABLE_RLE_SKIPPED 1463
+#define WT_STAT_CONN_TXN_RTS_STABLE_RLE_SKIPPED 1464
/*! transaction: rollback to stable sweeping history store keys */
-#define WT_STAT_CONN_TXN_RTS_SWEEP_HS_KEYS 1464
+#define WT_STAT_CONN_TXN_RTS_SWEEP_HS_KEYS 1465
/*! transaction: rollback to stable tree walk skipping pages */
-#define WT_STAT_CONN_TXN_RTS_TREE_WALK_SKIP_PAGES 1465
+#define WT_STAT_CONN_TXN_RTS_TREE_WALK_SKIP_PAGES 1466
/*! transaction: rollback to stable updates aborted */
-#define WT_STAT_CONN_TXN_RTS_UPD_ABORTED 1466
+#define WT_STAT_CONN_TXN_RTS_UPD_ABORTED 1467
/*! transaction: rollback to stable updates removed from history store */
-#define WT_STAT_CONN_TXN_RTS_HS_REMOVED 1467
+#define WT_STAT_CONN_TXN_RTS_HS_REMOVED 1468
/*! transaction: sessions scanned in each walk of concurrent sessions */
-#define WT_STAT_CONN_TXN_SESSIONS_WALKED 1468
+#define WT_STAT_CONN_TXN_SESSIONS_WALKED 1469
/*! transaction: set timestamp calls */
-#define WT_STAT_CONN_TXN_SET_TS 1469
+#define WT_STAT_CONN_TXN_SET_TS 1470
/*! transaction: set timestamp durable calls */
-#define WT_STAT_CONN_TXN_SET_TS_DURABLE 1470
+#define WT_STAT_CONN_TXN_SET_TS_DURABLE 1471
/*! transaction: set timestamp durable updates */
-#define WT_STAT_CONN_TXN_SET_TS_DURABLE_UPD 1471
+#define WT_STAT_CONN_TXN_SET_TS_DURABLE_UPD 1472
/*! transaction: set timestamp oldest calls */
-#define WT_STAT_CONN_TXN_SET_TS_OLDEST 1472
+#define WT_STAT_CONN_TXN_SET_TS_OLDEST 1473
/*! transaction: set timestamp oldest updates */
-#define WT_STAT_CONN_TXN_SET_TS_OLDEST_UPD 1473
+#define WT_STAT_CONN_TXN_SET_TS_OLDEST_UPD 1474
/*! transaction: set timestamp stable calls */
-#define WT_STAT_CONN_TXN_SET_TS_STABLE 1474
+#define WT_STAT_CONN_TXN_SET_TS_STABLE 1475
/*! transaction: set timestamp stable updates */
-#define WT_STAT_CONN_TXN_SET_TS_STABLE_UPD 1475
+#define WT_STAT_CONN_TXN_SET_TS_STABLE_UPD 1476
/*! transaction: transaction begins */
-#define WT_STAT_CONN_TXN_BEGIN 1476
+#define WT_STAT_CONN_TXN_BEGIN 1477
/*! transaction: transaction checkpoint currently running */
-#define WT_STAT_CONN_TXN_CHECKPOINT_RUNNING 1477
+#define WT_STAT_CONN_TXN_CHECKPOINT_RUNNING 1478
/*!
* transaction: transaction checkpoint currently running for history
* store file
*/
-#define WT_STAT_CONN_TXN_CHECKPOINT_RUNNING_HS 1478
+#define WT_STAT_CONN_TXN_CHECKPOINT_RUNNING_HS 1479
/*! transaction: transaction checkpoint generation */
-#define WT_STAT_CONN_TXN_CHECKPOINT_GENERATION 1479
+#define WT_STAT_CONN_TXN_CHECKPOINT_GENERATION 1480
/*!
* transaction: transaction checkpoint history store file duration
* (usecs)
*/
-#define WT_STAT_CONN_TXN_HS_CKPT_DURATION 1480
+#define WT_STAT_CONN_TXN_HS_CKPT_DURATION 1481
/*! transaction: transaction checkpoint max time (msecs) */
-#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MAX 1481
+#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MAX 1482
/*! transaction: transaction checkpoint min time (msecs) */
-#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MIN 1482
+#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MIN 1483
/*!
* transaction: transaction checkpoint most recent duration for gathering
* all handles (usecs)
*/
-#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_DURATION 1483
+#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_DURATION 1484
/*!
* transaction: transaction checkpoint most recent duration for gathering
* applied handles (usecs)
*/
-#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_DURATION_APPLY 1484
+#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_DURATION_APPLY 1485
/*!
* transaction: transaction checkpoint most recent duration for gathering
* skipped handles (usecs)
*/
-#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_DURATION_SKIP 1485
+#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_DURATION_SKIP 1486
/*! transaction: transaction checkpoint most recent handles applied */
-#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_APPLIED 1486
+#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_APPLIED 1487
/*! transaction: transaction checkpoint most recent handles skipped */
-#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_SKIPPED 1487
+#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_SKIPPED 1488
/*! transaction: transaction checkpoint most recent handles walked */
-#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_WALKED 1488
+#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_WALKED 1489
/*! transaction: transaction checkpoint most recent time (msecs) */
-#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_RECENT 1489
+#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_RECENT 1490
/*! transaction: transaction checkpoint prepare currently running */
-#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_RUNNING 1490
+#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_RUNNING 1491
/*! transaction: transaction checkpoint prepare max time (msecs) */
-#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_MAX 1491
+#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_MAX 1492
/*! transaction: transaction checkpoint prepare min time (msecs) */
-#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_MIN 1492
+#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_MIN 1493
/*! transaction: transaction checkpoint prepare most recent time (msecs) */
-#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_RECENT 1493
+#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_RECENT 1494
/*! transaction: transaction checkpoint prepare total time (msecs) */
-#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_TOTAL 1494
+#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_TOTAL 1495
/*! transaction: transaction checkpoint scrub dirty target */
-#define WT_STAT_CONN_TXN_CHECKPOINT_SCRUB_TARGET 1495
+#define WT_STAT_CONN_TXN_CHECKPOINT_SCRUB_TARGET 1496
/*! transaction: transaction checkpoint scrub time (msecs) */
-#define WT_STAT_CONN_TXN_CHECKPOINT_SCRUB_TIME 1496
+#define WT_STAT_CONN_TXN_CHECKPOINT_SCRUB_TIME 1497
/*! transaction: transaction checkpoint total time (msecs) */
-#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_TOTAL 1497
+#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_TOTAL 1498
/*! transaction: transaction checkpoints */
-#define WT_STAT_CONN_TXN_CHECKPOINT 1498
+#define WT_STAT_CONN_TXN_CHECKPOINT 1499
/*! transaction: transaction checkpoints due to obsolete pages */
-#define WT_STAT_CONN_TXN_CHECKPOINT_OBSOLETE_APPLIED 1499
+#define WT_STAT_CONN_TXN_CHECKPOINT_OBSOLETE_APPLIED 1500
/*!
* transaction: transaction checkpoints skipped because database was
* clean
*/
-#define WT_STAT_CONN_TXN_CHECKPOINT_SKIPPED 1500
+#define WT_STAT_CONN_TXN_CHECKPOINT_SKIPPED 1501
/*! transaction: transaction failures due to history store */
-#define WT_STAT_CONN_TXN_FAIL_CACHE 1501
+#define WT_STAT_CONN_TXN_FAIL_CACHE 1502
/*!
* transaction: transaction fsync calls for checkpoint after allocating
* the transaction ID
*/
-#define WT_STAT_CONN_TXN_CHECKPOINT_FSYNC_POST 1502
+#define WT_STAT_CONN_TXN_CHECKPOINT_FSYNC_POST 1503
/*!
* transaction: transaction fsync duration for checkpoint after
* allocating the transaction ID (usecs)
*/
-#define WT_STAT_CONN_TXN_CHECKPOINT_FSYNC_POST_DURATION 1503
+#define WT_STAT_CONN_TXN_CHECKPOINT_FSYNC_POST_DURATION 1504
/*! transaction: transaction range of IDs currently pinned */
-#define WT_STAT_CONN_TXN_PINNED_RANGE 1504
+#define WT_STAT_CONN_TXN_PINNED_RANGE 1505
/*! transaction: transaction range of IDs currently pinned by a checkpoint */
-#define WT_STAT_CONN_TXN_PINNED_CHECKPOINT_RANGE 1505
+#define WT_STAT_CONN_TXN_PINNED_CHECKPOINT_RANGE 1506
/*! transaction: transaction range of timestamps currently pinned */
-#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP 1506
+#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP 1507
/*! transaction: transaction range of timestamps pinned by a checkpoint */
-#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP_CHECKPOINT 1507
+#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP_CHECKPOINT 1508
/*!
* transaction: transaction range of timestamps pinned by the oldest
* active read timestamp
*/
-#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP_READER 1508
+#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP_READER 1509
/*!
* transaction: transaction range of timestamps pinned by the oldest
* timestamp
*/
-#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP_OLDEST 1509
+#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP_OLDEST 1510
/*! transaction: transaction read timestamp of the oldest active reader */
-#define WT_STAT_CONN_TXN_TIMESTAMP_OLDEST_ACTIVE_READ 1510
+#define WT_STAT_CONN_TXN_TIMESTAMP_OLDEST_ACTIVE_READ 1511
/*! transaction: transaction rollback to stable currently running */
-#define WT_STAT_CONN_TXN_ROLLBACK_TO_STABLE_RUNNING 1511
+#define WT_STAT_CONN_TXN_ROLLBACK_TO_STABLE_RUNNING 1512
/*! transaction: transaction walk of concurrent sessions */
-#define WT_STAT_CONN_TXN_WALK_SESSIONS 1512
+#define WT_STAT_CONN_TXN_WALK_SESSIONS 1513
/*! transaction: transactions committed */
-#define WT_STAT_CONN_TXN_COMMIT 1513
+#define WT_STAT_CONN_TXN_COMMIT 1514
/*! transaction: transactions rolled back */
-#define WT_STAT_CONN_TXN_ROLLBACK 1514
+#define WT_STAT_CONN_TXN_ROLLBACK 1515
/*! transaction: update conflicts */
-#define WT_STAT_CONN_TXN_UPDATE_CONFLICT 1515
+#define WT_STAT_CONN_TXN_UPDATE_CONFLICT 1516
/*!
* @}
@@ -6823,279 +6825,281 @@ extern int wiredtiger_extension_terminate(WT_CONNECTION *connection);
* cache_walk or all statistics are enabled
*/
#define WT_STAT_DSRC_CACHE_STATE_PAGES 2125
+/*! checkpoint-cleanup: obsolete pages read in for cleanup */
+#define WT_STAT_DSRC_CC_PAGES_READ 2126
/*! checkpoint-cleanup: pages added for eviction */
-#define WT_STAT_DSRC_CC_PAGES_EVICT 2126
+#define WT_STAT_DSRC_CC_PAGES_EVICT 2127
/*! checkpoint-cleanup: pages removed */
-#define WT_STAT_DSRC_CC_PAGES_REMOVED 2127
+#define WT_STAT_DSRC_CC_PAGES_REMOVED 2128
/*! checkpoint-cleanup: pages skipped during tree walk */
-#define WT_STAT_DSRC_CC_PAGES_WALK_SKIPPED 2128
+#define WT_STAT_DSRC_CC_PAGES_WALK_SKIPPED 2129
/*! checkpoint-cleanup: pages visited */
-#define WT_STAT_DSRC_CC_PAGES_VISITED 2129
+#define WT_STAT_DSRC_CC_PAGES_VISITED 2130
/*!
* compression: compressed page maximum internal page size prior to
* compression
*/
-#define WT_STAT_DSRC_COMPRESS_PRECOMP_INTL_MAX_PAGE_SIZE 2130
+#define WT_STAT_DSRC_COMPRESS_PRECOMP_INTL_MAX_PAGE_SIZE 2131
/*!
* compression: compressed page maximum leaf page size prior to
* compression
*/
-#define WT_STAT_DSRC_COMPRESS_PRECOMP_LEAF_MAX_PAGE_SIZE 2131
+#define WT_STAT_DSRC_COMPRESS_PRECOMP_LEAF_MAX_PAGE_SIZE 2132
/*! compression: compressed pages read */
-#define WT_STAT_DSRC_COMPRESS_READ 2132
+#define WT_STAT_DSRC_COMPRESS_READ 2133
/*! compression: compressed pages written */
-#define WT_STAT_DSRC_COMPRESS_WRITE 2133
+#define WT_STAT_DSRC_COMPRESS_WRITE 2134
/*! compression: number of blocks with compress ratio greater than 64 */
-#define WT_STAT_DSRC_COMPRESS_HIST_RATIO_MAX 2134
+#define WT_STAT_DSRC_COMPRESS_HIST_RATIO_MAX 2135
/*! compression: number of blocks with compress ratio smaller than 16 */
-#define WT_STAT_DSRC_COMPRESS_HIST_RATIO_16 2135
+#define WT_STAT_DSRC_COMPRESS_HIST_RATIO_16 2136
/*! compression: number of blocks with compress ratio smaller than 2 */
-#define WT_STAT_DSRC_COMPRESS_HIST_RATIO_2 2136
+#define WT_STAT_DSRC_COMPRESS_HIST_RATIO_2 2137
/*! compression: number of blocks with compress ratio smaller than 32 */
-#define WT_STAT_DSRC_COMPRESS_HIST_RATIO_32 2137
+#define WT_STAT_DSRC_COMPRESS_HIST_RATIO_32 2138
/*! compression: number of blocks with compress ratio smaller than 4 */
-#define WT_STAT_DSRC_COMPRESS_HIST_RATIO_4 2138
+#define WT_STAT_DSRC_COMPRESS_HIST_RATIO_4 2139
/*! compression: number of blocks with compress ratio smaller than 64 */
-#define WT_STAT_DSRC_COMPRESS_HIST_RATIO_64 2139
+#define WT_STAT_DSRC_COMPRESS_HIST_RATIO_64 2140
/*! compression: number of blocks with compress ratio smaller than 8 */
-#define WT_STAT_DSRC_COMPRESS_HIST_RATIO_8 2140
+#define WT_STAT_DSRC_COMPRESS_HIST_RATIO_8 2141
/*! compression: page written failed to compress */
-#define WT_STAT_DSRC_COMPRESS_WRITE_FAIL 2141
+#define WT_STAT_DSRC_COMPRESS_WRITE_FAIL 2142
/*! compression: page written was too small to compress */
-#define WT_STAT_DSRC_COMPRESS_WRITE_TOO_SMALL 2142
+#define WT_STAT_DSRC_COMPRESS_WRITE_TOO_SMALL 2143
/*! cursor: Total number of entries skipped by cursor next calls */
-#define WT_STAT_DSRC_CURSOR_NEXT_SKIP_TOTAL 2143
+#define WT_STAT_DSRC_CURSOR_NEXT_SKIP_TOTAL 2144
/*! cursor: Total number of entries skipped by cursor prev calls */
-#define WT_STAT_DSRC_CURSOR_PREV_SKIP_TOTAL 2144
+#define WT_STAT_DSRC_CURSOR_PREV_SKIP_TOTAL 2145
/*!
* cursor: Total number of entries skipped to position the history store
* cursor
*/
-#define WT_STAT_DSRC_CURSOR_SKIP_HS_CUR_POSITION 2145
+#define WT_STAT_DSRC_CURSOR_SKIP_HS_CUR_POSITION 2146
/*!
* cursor: Total number of times a search near has exited due to prefix
* config
*/
-#define WT_STAT_DSRC_CURSOR_SEARCH_NEAR_PREFIX_FAST_PATHS 2146
+#define WT_STAT_DSRC_CURSOR_SEARCH_NEAR_PREFIX_FAST_PATHS 2147
/*! cursor: bulk loaded cursor insert calls */
-#define WT_STAT_DSRC_CURSOR_INSERT_BULK 2147
+#define WT_STAT_DSRC_CURSOR_INSERT_BULK 2148
/*! cursor: cache cursors reuse count */
-#define WT_STAT_DSRC_CURSOR_REOPEN 2148
+#define WT_STAT_DSRC_CURSOR_REOPEN 2149
/*! cursor: close calls that result in cache */
-#define WT_STAT_DSRC_CURSOR_CACHE 2149
+#define WT_STAT_DSRC_CURSOR_CACHE 2150
/*! cursor: create calls */
-#define WT_STAT_DSRC_CURSOR_CREATE 2150
+#define WT_STAT_DSRC_CURSOR_CREATE 2151
/*!
* cursor: cursor next calls that skip due to a globally visible history
* store tombstone
*/
-#define WT_STAT_DSRC_CURSOR_NEXT_HS_TOMBSTONE 2151
+#define WT_STAT_DSRC_CURSOR_NEXT_HS_TOMBSTONE 2152
/*!
* cursor: cursor next calls that skip greater than or equal to 100
* entries
*/
-#define WT_STAT_DSRC_CURSOR_NEXT_SKIP_GE_100 2152
+#define WT_STAT_DSRC_CURSOR_NEXT_SKIP_GE_100 2153
/*! cursor: cursor next calls that skip less than 100 entries */
-#define WT_STAT_DSRC_CURSOR_NEXT_SKIP_LT_100 2153
+#define WT_STAT_DSRC_CURSOR_NEXT_SKIP_LT_100 2154
/*!
* cursor: cursor prev calls that skip due to a globally visible history
* store tombstone
*/
-#define WT_STAT_DSRC_CURSOR_PREV_HS_TOMBSTONE 2154
+#define WT_STAT_DSRC_CURSOR_PREV_HS_TOMBSTONE 2155
/*!
* cursor: cursor prev calls that skip greater than or equal to 100
* entries
*/
-#define WT_STAT_DSRC_CURSOR_PREV_SKIP_GE_100 2155
+#define WT_STAT_DSRC_CURSOR_PREV_SKIP_GE_100 2156
/*! cursor: cursor prev calls that skip less than 100 entries */
-#define WT_STAT_DSRC_CURSOR_PREV_SKIP_LT_100 2156
+#define WT_STAT_DSRC_CURSOR_PREV_SKIP_LT_100 2157
/*! cursor: insert calls */
-#define WT_STAT_DSRC_CURSOR_INSERT 2157
+#define WT_STAT_DSRC_CURSOR_INSERT 2158
/*! cursor: insert key and value bytes */
-#define WT_STAT_DSRC_CURSOR_INSERT_BYTES 2158
+#define WT_STAT_DSRC_CURSOR_INSERT_BYTES 2159
/*! cursor: modify */
-#define WT_STAT_DSRC_CURSOR_MODIFY 2159
+#define WT_STAT_DSRC_CURSOR_MODIFY 2160
/*! cursor: modify key and value bytes affected */
-#define WT_STAT_DSRC_CURSOR_MODIFY_BYTES 2160
+#define WT_STAT_DSRC_CURSOR_MODIFY_BYTES 2161
/*! cursor: modify value bytes modified */
-#define WT_STAT_DSRC_CURSOR_MODIFY_BYTES_TOUCH 2161
+#define WT_STAT_DSRC_CURSOR_MODIFY_BYTES_TOUCH 2162
/*! cursor: next calls */
-#define WT_STAT_DSRC_CURSOR_NEXT 2162
+#define WT_STAT_DSRC_CURSOR_NEXT 2163
/*! cursor: open cursor count */
-#define WT_STAT_DSRC_CURSOR_OPEN_COUNT 2163
+#define WT_STAT_DSRC_CURSOR_OPEN_COUNT 2164
/*! cursor: operation restarted */
-#define WT_STAT_DSRC_CURSOR_RESTART 2164
+#define WT_STAT_DSRC_CURSOR_RESTART 2165
/*! cursor: prev calls */
-#define WT_STAT_DSRC_CURSOR_PREV 2165
+#define WT_STAT_DSRC_CURSOR_PREV 2166
/*! cursor: remove calls */
-#define WT_STAT_DSRC_CURSOR_REMOVE 2166
+#define WT_STAT_DSRC_CURSOR_REMOVE 2167
/*! cursor: remove key bytes removed */
-#define WT_STAT_DSRC_CURSOR_REMOVE_BYTES 2167
+#define WT_STAT_DSRC_CURSOR_REMOVE_BYTES 2168
/*! cursor: reserve calls */
-#define WT_STAT_DSRC_CURSOR_RESERVE 2168
+#define WT_STAT_DSRC_CURSOR_RESERVE 2169
/*! cursor: reset calls */
-#define WT_STAT_DSRC_CURSOR_RESET 2169
+#define WT_STAT_DSRC_CURSOR_RESET 2170
/*! cursor: search calls */
-#define WT_STAT_DSRC_CURSOR_SEARCH 2170
+#define WT_STAT_DSRC_CURSOR_SEARCH 2171
/*! cursor: search history store calls */
-#define WT_STAT_DSRC_CURSOR_SEARCH_HS 2171
+#define WT_STAT_DSRC_CURSOR_SEARCH_HS 2172
/*! cursor: search near calls */
-#define WT_STAT_DSRC_CURSOR_SEARCH_NEAR 2172
+#define WT_STAT_DSRC_CURSOR_SEARCH_NEAR 2173
/*! cursor: truncate calls */
-#define WT_STAT_DSRC_CURSOR_TRUNCATE 2173
+#define WT_STAT_DSRC_CURSOR_TRUNCATE 2174
/*! cursor: update calls */
-#define WT_STAT_DSRC_CURSOR_UPDATE 2174
+#define WT_STAT_DSRC_CURSOR_UPDATE 2175
/*! cursor: update key and value bytes */
-#define WT_STAT_DSRC_CURSOR_UPDATE_BYTES 2175
+#define WT_STAT_DSRC_CURSOR_UPDATE_BYTES 2176
/*! cursor: update value size change */
-#define WT_STAT_DSRC_CURSOR_UPDATE_BYTES_CHANGED 2176
+#define WT_STAT_DSRC_CURSOR_UPDATE_BYTES_CHANGED 2177
/*! reconciliation: approximate byte size of timestamps in pages written */
-#define WT_STAT_DSRC_REC_TIME_WINDOW_BYTES_TS 2177
+#define WT_STAT_DSRC_REC_TIME_WINDOW_BYTES_TS 2178
/*!
* reconciliation: approximate byte size of transaction IDs in pages
* written
*/
-#define WT_STAT_DSRC_REC_TIME_WINDOW_BYTES_TXN 2178
+#define WT_STAT_DSRC_REC_TIME_WINDOW_BYTES_TXN 2179
/*! reconciliation: dictionary matches */
-#define WT_STAT_DSRC_REC_DICTIONARY 2179
+#define WT_STAT_DSRC_REC_DICTIONARY 2180
/*! reconciliation: fast-path pages deleted */
-#define WT_STAT_DSRC_REC_PAGE_DELETE_FAST 2180
+#define WT_STAT_DSRC_REC_PAGE_DELETE_FAST 2181
/*!
* reconciliation: internal page key bytes discarded using suffix
* compression
*/
-#define WT_STAT_DSRC_REC_SUFFIX_COMPRESSION 2181
+#define WT_STAT_DSRC_REC_SUFFIX_COMPRESSION 2182
/*! reconciliation: internal page multi-block writes */
-#define WT_STAT_DSRC_REC_MULTIBLOCK_INTERNAL 2182
+#define WT_STAT_DSRC_REC_MULTIBLOCK_INTERNAL 2183
/*! reconciliation: leaf page key bytes discarded using prefix compression */
-#define WT_STAT_DSRC_REC_PREFIX_COMPRESSION 2183
+#define WT_STAT_DSRC_REC_PREFIX_COMPRESSION 2184
/*! reconciliation: leaf page multi-block writes */
-#define WT_STAT_DSRC_REC_MULTIBLOCK_LEAF 2184
+#define WT_STAT_DSRC_REC_MULTIBLOCK_LEAF 2185
/*! reconciliation: leaf-page overflow keys */
-#define WT_STAT_DSRC_REC_OVERFLOW_KEY_LEAF 2185
+#define WT_STAT_DSRC_REC_OVERFLOW_KEY_LEAF 2186
/*! reconciliation: maximum blocks required for a page */
-#define WT_STAT_DSRC_REC_MULTIBLOCK_MAX 2186
+#define WT_STAT_DSRC_REC_MULTIBLOCK_MAX 2187
/*! reconciliation: overflow values written */
-#define WT_STAT_DSRC_REC_OVERFLOW_VALUE 2187
+#define WT_STAT_DSRC_REC_OVERFLOW_VALUE 2188
/*! reconciliation: page checksum matches */
-#define WT_STAT_DSRC_REC_PAGE_MATCH 2188
+#define WT_STAT_DSRC_REC_PAGE_MATCH 2189
/*! reconciliation: page reconciliation calls */
-#define WT_STAT_DSRC_REC_PAGES 2189
+#define WT_STAT_DSRC_REC_PAGES 2190
/*! reconciliation: page reconciliation calls for eviction */
-#define WT_STAT_DSRC_REC_PAGES_EVICTION 2190
+#define WT_STAT_DSRC_REC_PAGES_EVICTION 2191
/*! reconciliation: pages deleted */
-#define WT_STAT_DSRC_REC_PAGE_DELETE 2191
+#define WT_STAT_DSRC_REC_PAGE_DELETE 2192
/*!
* reconciliation: pages written including an aggregated newest start
* durable timestamp
*/
-#define WT_STAT_DSRC_REC_TIME_AGGR_NEWEST_START_DURABLE_TS 2192
+#define WT_STAT_DSRC_REC_TIME_AGGR_NEWEST_START_DURABLE_TS 2193
/*!
* reconciliation: pages written including an aggregated newest stop
* durable timestamp
*/
-#define WT_STAT_DSRC_REC_TIME_AGGR_NEWEST_STOP_DURABLE_TS 2193
+#define WT_STAT_DSRC_REC_TIME_AGGR_NEWEST_STOP_DURABLE_TS 2194
/*!
* reconciliation: pages written including an aggregated newest stop
* timestamp
*/
-#define WT_STAT_DSRC_REC_TIME_AGGR_NEWEST_STOP_TS 2194
+#define WT_STAT_DSRC_REC_TIME_AGGR_NEWEST_STOP_TS 2195
/*!
* reconciliation: pages written including an aggregated newest stop
* transaction ID
*/
-#define WT_STAT_DSRC_REC_TIME_AGGR_NEWEST_STOP_TXN 2195
+#define WT_STAT_DSRC_REC_TIME_AGGR_NEWEST_STOP_TXN 2196
/*!
* reconciliation: pages written including an aggregated newest
* transaction ID
*/
-#define WT_STAT_DSRC_REC_TIME_AGGR_NEWEST_TXN 2196
+#define WT_STAT_DSRC_REC_TIME_AGGR_NEWEST_TXN 2197
/*!
* reconciliation: pages written including an aggregated oldest start
* timestamp
*/
-#define WT_STAT_DSRC_REC_TIME_AGGR_OLDEST_START_TS 2197
+#define WT_STAT_DSRC_REC_TIME_AGGR_OLDEST_START_TS 2198
/*! reconciliation: pages written including an aggregated prepare */
-#define WT_STAT_DSRC_REC_TIME_AGGR_PREPARED 2198
+#define WT_STAT_DSRC_REC_TIME_AGGR_PREPARED 2199
/*! reconciliation: pages written including at least one prepare */
-#define WT_STAT_DSRC_REC_TIME_WINDOW_PAGES_PREPARED 2199
+#define WT_STAT_DSRC_REC_TIME_WINDOW_PAGES_PREPARED 2200
/*!
* reconciliation: pages written including at least one start durable
* timestamp
*/
-#define WT_STAT_DSRC_REC_TIME_WINDOW_PAGES_DURABLE_START_TS 2200
+#define WT_STAT_DSRC_REC_TIME_WINDOW_PAGES_DURABLE_START_TS 2201
/*! reconciliation: pages written including at least one start timestamp */
-#define WT_STAT_DSRC_REC_TIME_WINDOW_PAGES_START_TS 2201
+#define WT_STAT_DSRC_REC_TIME_WINDOW_PAGES_START_TS 2202
/*!
* reconciliation: pages written including at least one start transaction
* ID
*/
-#define WT_STAT_DSRC_REC_TIME_WINDOW_PAGES_START_TXN 2202
+#define WT_STAT_DSRC_REC_TIME_WINDOW_PAGES_START_TXN 2203
/*!
* reconciliation: pages written including at least one stop durable
* timestamp
*/
-#define WT_STAT_DSRC_REC_TIME_WINDOW_PAGES_DURABLE_STOP_TS 2203
+#define WT_STAT_DSRC_REC_TIME_WINDOW_PAGES_DURABLE_STOP_TS 2204
/*! reconciliation: pages written including at least one stop timestamp */
-#define WT_STAT_DSRC_REC_TIME_WINDOW_PAGES_STOP_TS 2204
+#define WT_STAT_DSRC_REC_TIME_WINDOW_PAGES_STOP_TS 2205
/*!
* reconciliation: pages written including at least one stop transaction
* ID
*/
-#define WT_STAT_DSRC_REC_TIME_WINDOW_PAGES_STOP_TXN 2205
+#define WT_STAT_DSRC_REC_TIME_WINDOW_PAGES_STOP_TXN 2206
/*! reconciliation: records written including a prepare */
-#define WT_STAT_DSRC_REC_TIME_WINDOW_PREPARED 2206
+#define WT_STAT_DSRC_REC_TIME_WINDOW_PREPARED 2207
/*! reconciliation: records written including a start durable timestamp */
-#define WT_STAT_DSRC_REC_TIME_WINDOW_DURABLE_START_TS 2207
+#define WT_STAT_DSRC_REC_TIME_WINDOW_DURABLE_START_TS 2208
/*! reconciliation: records written including a start timestamp */
-#define WT_STAT_DSRC_REC_TIME_WINDOW_START_TS 2208
+#define WT_STAT_DSRC_REC_TIME_WINDOW_START_TS 2209
/*! reconciliation: records written including a start transaction ID */
-#define WT_STAT_DSRC_REC_TIME_WINDOW_START_TXN 2209
+#define WT_STAT_DSRC_REC_TIME_WINDOW_START_TXN 2210
/*! reconciliation: records written including a stop durable timestamp */
-#define WT_STAT_DSRC_REC_TIME_WINDOW_DURABLE_STOP_TS 2210
+#define WT_STAT_DSRC_REC_TIME_WINDOW_DURABLE_STOP_TS 2211
/*! reconciliation: records written including a stop timestamp */
-#define WT_STAT_DSRC_REC_TIME_WINDOW_STOP_TS 2211
+#define WT_STAT_DSRC_REC_TIME_WINDOW_STOP_TS 2212
/*! reconciliation: records written including a stop transaction ID */
-#define WT_STAT_DSRC_REC_TIME_WINDOW_STOP_TXN 2212
+#define WT_STAT_DSRC_REC_TIME_WINDOW_STOP_TXN 2213
/*! session: object compaction */
-#define WT_STAT_DSRC_SESSION_COMPACT 2213
+#define WT_STAT_DSRC_SESSION_COMPACT 2214
/*! session: tiered operations dequeued and processed */
-#define WT_STAT_DSRC_TIERED_WORK_UNITS_DEQUEUED 2214
+#define WT_STAT_DSRC_TIERED_WORK_UNITS_DEQUEUED 2215
/*! session: tiered operations scheduled */
-#define WT_STAT_DSRC_TIERED_WORK_UNITS_CREATED 2215
+#define WT_STAT_DSRC_TIERED_WORK_UNITS_CREATED 2216
/*! session: tiered storage local retention time (secs) */
-#define WT_STAT_DSRC_TIERED_RETENTION 2216
+#define WT_STAT_DSRC_TIERED_RETENTION 2217
/*! session: tiered storage object size */
-#define WT_STAT_DSRC_TIERED_OBJECT_SIZE 2217
+#define WT_STAT_DSRC_TIERED_OBJECT_SIZE 2218
/*! transaction: race to read prepared update retry */
-#define WT_STAT_DSRC_TXN_READ_RACE_PREPARE_UPDATE 2218
+#define WT_STAT_DSRC_TXN_READ_RACE_PREPARE_UPDATE 2219
/*!
* 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 2219
+#define WT_STAT_DSRC_TXN_RTS_HS_STOP_OLDER_THAN_NEWER_START 2220
/*! transaction: rollback to stable inconsistent checkpoint */
-#define WT_STAT_DSRC_TXN_RTS_INCONSISTENT_CKPT 2220
+#define WT_STAT_DSRC_TXN_RTS_INCONSISTENT_CKPT 2221
/*! transaction: rollback to stable keys removed */
-#define WT_STAT_DSRC_TXN_RTS_KEYS_REMOVED 2221
+#define WT_STAT_DSRC_TXN_RTS_KEYS_REMOVED 2222
/*! transaction: rollback to stable keys restored */
-#define WT_STAT_DSRC_TXN_RTS_KEYS_RESTORED 2222
+#define WT_STAT_DSRC_TXN_RTS_KEYS_RESTORED 2223
/*! transaction: rollback to stable restored tombstones from history store */
-#define WT_STAT_DSRC_TXN_RTS_HS_RESTORE_TOMBSTONES 2223
+#define WT_STAT_DSRC_TXN_RTS_HS_RESTORE_TOMBSTONES 2224
/*! transaction: rollback to stable restored updates from history store */
-#define WT_STAT_DSRC_TXN_RTS_HS_RESTORE_UPDATES 2224
+#define WT_STAT_DSRC_TXN_RTS_HS_RESTORE_UPDATES 2225
/*! transaction: rollback to stable skipping delete rle */
-#define WT_STAT_DSRC_TXN_RTS_DELETE_RLE_SKIPPED 2225
+#define WT_STAT_DSRC_TXN_RTS_DELETE_RLE_SKIPPED 2226
/*! transaction: rollback to stable skipping stable rle */
-#define WT_STAT_DSRC_TXN_RTS_STABLE_RLE_SKIPPED 2226
+#define WT_STAT_DSRC_TXN_RTS_STABLE_RLE_SKIPPED 2227
/*! transaction: rollback to stable sweeping history store keys */
-#define WT_STAT_DSRC_TXN_RTS_SWEEP_HS_KEYS 2227
+#define WT_STAT_DSRC_TXN_RTS_SWEEP_HS_KEYS 2228
/*! transaction: rollback to stable updates removed from history store */
-#define WT_STAT_DSRC_TXN_RTS_HS_REMOVED 2228
+#define WT_STAT_DSRC_TXN_RTS_HS_REMOVED 2229
/*! transaction: transaction checkpoints due to obsolete pages */
-#define WT_STAT_DSRC_TXN_CHECKPOINT_OBSOLETE_APPLIED 2229
+#define WT_STAT_DSRC_TXN_CHECKPOINT_OBSOLETE_APPLIED 2230
/*! transaction: update conflicts */
-#define WT_STAT_DSRC_TXN_UPDATE_CONFLICT 2230
+#define WT_STAT_DSRC_TXN_UPDATE_CONFLICT 2231
/*!
* @}
diff --git a/src/third_party/wiredtiger/src/support/stat.c b/src/third_party/wiredtiger/src/support/stat.c
index d26fab52cea..b1f740eb426 100644
--- a/src/third_party/wiredtiger/src/support/stat.c
+++ b/src/third_party/wiredtiger/src/support/stat.c
@@ -138,6 +138,7 @@ static const char *const __stats_dsrc_desc[] = {
"cache_walk: Refs skipped during cache traversal",
"cache_walk: Size of the root page",
"cache_walk: Total number of pages currently in cache",
+ "checkpoint-cleanup: obsolete pages read in for cleanup",
"checkpoint-cleanup: pages added for eviction",
"checkpoint-cleanup: pages removed",
"checkpoint-cleanup: pages skipped during tree walk",
@@ -410,6 +411,7 @@ __wt_stat_dsrc_clear_single(WT_DSRC_STATS *stats)
/* not clearing cache_state_refs_skipped */
/* not clearing cache_state_root_size */
/* not clearing cache_state_pages */
+ stats->cc_pages_read = 0;
stats->cc_pages_evict = 0;
stats->cc_pages_removed = 0;
stats->cc_pages_walk_skipped = 0;
@@ -670,6 +672,7 @@ __wt_stat_dsrc_aggregate_single(WT_DSRC_STATS *from, WT_DSRC_STATS *to)
to->cache_state_refs_skipped += from->cache_state_refs_skipped;
to->cache_state_root_size += from->cache_state_root_size;
to->cache_state_pages += from->cache_state_pages;
+ to->cc_pages_read += from->cc_pages_read;
to->cc_pages_evict += from->cc_pages_evict;
to->cc_pages_removed += from->cc_pages_removed;
to->cc_pages_walk_skipped += from->cc_pages_walk_skipped;
@@ -931,6 +934,7 @@ __wt_stat_dsrc_aggregate(WT_DSRC_STATS **from, WT_DSRC_STATS *to)
to->cache_state_refs_skipped += WT_STAT_READ(from, cache_state_refs_skipped);
to->cache_state_root_size += WT_STAT_READ(from, cache_state_root_size);
to->cache_state_pages += WT_STAT_READ(from, cache_state_pages);
+ to->cc_pages_read += WT_STAT_READ(from, cc_pages_read);
to->cc_pages_evict += WT_STAT_READ(from, cc_pages_evict);
to->cc_pages_removed += WT_STAT_READ(from, cc_pages_removed);
to->cc_pages_walk_skipped += WT_STAT_READ(from, cc_pages_walk_skipped);
@@ -1253,6 +1257,7 @@ static const char *const __stats_connection_desc[] = {
"capacity: time waiting during eviction (usecs)",
"capacity: time waiting during logging (usecs)",
"capacity: time waiting during read (usecs)",
+ "checkpoint-cleanup: obsolete pages read in for cleanup",
"checkpoint-cleanup: pages added for eviction",
"checkpoint-cleanup: pages removed",
"checkpoint-cleanup: pages skipped during tree walk",
@@ -1813,6 +1818,7 @@ __wt_stat_connection_clear_single(WT_CONNECTION_STATS *stats)
stats->capacity_time_evict = 0;
stats->capacity_time_log = 0;
stats->capacity_time_read = 0;
+ stats->cc_pages_read = 0;
stats->cc_pages_evict = 0;
stats->cc_pages_removed = 0;
stats->cc_pages_walk_skipped = 0;
@@ -2374,6 +2380,7 @@ __wt_stat_connection_aggregate(WT_CONNECTION_STATS **from, WT_CONNECTION_STATS *
to->capacity_time_evict += WT_STAT_READ(from, capacity_time_evict);
to->capacity_time_log += WT_STAT_READ(from, capacity_time_log);
to->capacity_time_read += WT_STAT_READ(from, capacity_time_read);
+ to->cc_pages_read += WT_STAT_READ(from, cc_pages_read);
to->cc_pages_evict += WT_STAT_READ(from, cc_pages_evict);
to->cc_pages_removed += WT_STAT_READ(from, cc_pages_removed);
to->cc_pages_walk_skipped += WT_STAT_READ(from, cc_pages_walk_skipped);
diff --git a/src/third_party/wiredtiger/test/suite/test_checkpoint23.py b/src/third_party/wiredtiger/test/suite/test_checkpoint23.py
new file mode 100644
index 00000000000..9be53cc8ec3
--- /dev/null
+++ b/src/third_party/wiredtiger/test/suite/test_checkpoint23.py
@@ -0,0 +1,141 @@
+#!/usr/bin/env python
+#
+# Public Domain 2014-present MongoDB, Inc.
+# Public Domain 2008-2014 WiredTiger, Inc.
+#
+# This is free and unencumbered software released into the public domain.
+#
+# Anyone is free to copy, modify, publish, use, compile, sell, or
+# distribute this software, either in source code form or as a compiled
+# binary, for any purpose, commercial or non-commercial, and by any
+# means.
+#
+# In jurisdictions that recognize copyright laws, the author or authors
+# of this software dedicate any and all copyright interest in the
+# software to the public domain. We make this dedication for the benefit
+# of the public at large and to the detriment of our heirs and
+# successors. We intend this dedication to be an overt act of
+# relinquishment in perpetuity of all present and future rights to this
+# software under copyright law.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+# IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+# OTHER DEALINGS IN THE SOFTWARE.
+
+# test_checkpoint23.py
+#
+# Test that obsolete pages with overflow items are gradually cleaned up by
+# checkpoints even if they aren't in memory.
+
+import wttest
+from wiredtiger import stat
+from wtdataset import SimpleDataSet
+from wtscenario import make_scenarios
+
+class test_checkpoint23(wttest.WiredTigerTestCase):
+ conn_config = 'cache_size=50MB,statistics=(all)'
+
+ # There is no point running this on FLCS because FLCS does not have overflow items.
+ # For now there is no point running it on VLCS (and it'll fail) because the checkpoint
+ # cleanup code does not handle VLCS pages. But the VLCS case should be enabled if that
+ # changes, e.g. as part of VLCS fast-delete support.
+ format_values = [
+ ('row_string', dict(key_format='S', value_format='S')),
+ #('column', dict(key_format='r', value_format='S')),
+ ]
+
+ scenarios = make_scenarios(format_values)
+
+ def get_stat(self, stat):
+ stat_cursor = self.session.open_cursor('statistics:')
+ val = stat_cursor[stat][2]
+ stat_cursor.close()
+ return val
+
+ def get_tree_stat(self, ds, stat):
+ stat_cursor = self.session.open_cursor('statistics:' + ds.uri, None, 'statistics=(all)')
+ val = stat_cursor[stat][2]
+ stat_cursor.close()
+ return val
+
+ def large_updates(self, ds, nrows, primary_value, secondary_value, commit_ts):
+ session = self.session
+ cursor = session.open_cursor(ds.uri)
+ for i in range(1, nrows + 1):
+ session.begin_transaction()
+ cursor[ds.key(i)] = secondary_value if i % 10 == 1 else primary_value
+ session.commit_transaction('commit_timestamp=' + self.timestamp_str(commit_ts))
+ cursor.close()
+
+ def large_removes(self, ds, nrows, commit_ts):
+ session = self.session
+ cursor = session.open_cursor(ds.uri)
+ for i in range(1, nrows + 1):
+ session.begin_transaction()
+ cursor.set_key(ds.key(i))
+ self.assertEqual(cursor.remove(), 0)
+ session.commit_transaction('commit_timestamp=' + self.timestamp_str(commit_ts))
+ cursor.close()
+
+ def test_checkpoint23(self):
+ uri = 'table:checkpoint23'
+ nrows = 10000
+
+ # Create a table.
+ ds = SimpleDataSet(self, uri, nrows,
+ key_format=self.key_format, value_format=self.value_format)
+ ds.populate()
+
+ # Pin oldest and stable timestamp to 1.
+ self.conn.set_timestamp('oldest_timestamp=' + self.timestamp_str(1) +
+ ',stable_timestamp=' + self.timestamp_str(1))
+
+ # Use a seconary value large enough to be an overflow item.
+ value_a = "aaaaa" * 100
+ value_b = "bbbbb" * 10000
+
+ # Write a bunch of data at time 10.
+ self.large_updates(ds, nrows, value_a, value_b, 10)
+
+ # Delete it all at time 20.
+ self.large_removes(ds, nrows, 20)
+
+ # Mark it stable at 30 and checkpoint it.
+ self.conn.set_timestamp('stable_timestamp=' + self.timestamp_str(30))
+ self.session.checkpoint()
+
+ # Shut down and restart so nothing's in memory.
+ self.reopen_conn()
+
+ # Check how many overflow items we have.
+ initial_overflow_items = self.get_tree_stat(ds, stat.dsrc.btree_overflow)
+
+ # Shut down and restart again so nothing's in memory.
+ # (Counting overflow items reads pages in.)
+ self.reopen_conn()
+
+ # Move oldest up so all the data is obsolete.
+ self.conn.set_timestamp('oldest_timestamp=' + self.timestamp_str(30))
+
+ # Do a checkpoint. Name the checkpoint to force things through.
+ self.session.checkpoint('name=pointy')
+
+ # Do another checkpoint to make sure the updated pages get reconciled.
+ # Otherwise the overflow items might not actually be removed.
+ self.session.checkpoint()
+
+ # Count the overflow items; should have dropped.
+ updated_overflow_items = self.get_tree_stat(ds, stat.dsrc.btree_overflow)
+ removed = initial_overflow_items - updated_overflow_items
+ self.assertGreater(removed, 0)
+
+ # Check how many on-disk pages we read in to do this. Should be > 0.
+ pages_read = self.get_stat(stat.conn.cc_pages_read)
+ self.assertGreater(pages_read, 0)
+
+if __name__ == '__main__':
+ wttest.run()