diff options
author | Chenhao Qu <chenhao.qu@mongodb.com> | 2022-07-13 10:40:24 +1000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2022-07-13 01:09:15 +0000 |
commit | e9a3976b333ddecda7dd9c0f2f6f889699ca2706 (patch) | |
tree | 36e0fb37887023576ac3fbe28368b677563955d5 /src | |
parent | aed44aa666f0a579d0a859a99a69ba460c1f69d8 (diff) | |
download | mongo-e9a3976b333ddecda7dd9c0f2f6f889699ca2706.tar.gz |
Import wiredtiger: c19c358e9f837995a868fc60e132fa7f32d3515e from branch mongodb-master
ref: 2eee5fcb55..c19c358e9f
for: 6.1.0-rc0
Revert "WT-9334 Use truncate to delete the whole content of a btree in the history store (#8060)" (#8111)
Diffstat (limited to 'src')
-rw-r--r-- | src/third_party/wiredtiger/dist/stat_data.py | 1 | ||||
-rw-r--r-- | src/third_party/wiredtiger/import.data | 2 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/btree/bt_cursor.c | 10 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/btree/bt_delete.c | 10 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/cursor/cur_hs.c | 161 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/include/extern.h | 5 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/include/stat.h | 2 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/include/wiredtiger.in | 1249 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/schema/schema_truncate.c | 4 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/session/session_api.c | 6 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/support/stat.c | 7 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/txn/txn_rollback_to_stable.c | 77 | ||||
-rw-r--r-- | src/third_party/wiredtiger/test/suite/test_rollback_to_stable38.py | 113 |
13 files changed, 688 insertions, 959 deletions
diff --git a/src/third_party/wiredtiger/dist/stat_data.py b/src/third_party/wiredtiger/dist/stat_data.py index 066949e31a6..30f09963b0c 100644 --- a/src/third_party/wiredtiger/dist/stat_data.py +++ b/src/third_party/wiredtiger/dist/stat_data.py @@ -839,7 +839,6 @@ conn_dsrc_stats = [ CacheStat('cache_eviction_walks_gave_up_no_targets', 'eviction walks gave up because they saw too many pages and found no candidates'), 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_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'), diff --git a/src/third_party/wiredtiger/import.data b/src/third_party/wiredtiger/import.data index 91eaa2dd575..9c098c5b553 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": "2eee5fcb5527737b8d7c136c3b3a099fc02b3396" + "commit": "c19c358e9f837995a868fc60e132fa7f32d3515e" } diff --git a/src/third_party/wiredtiger/src/btree/bt_cursor.c b/src/third_party/wiredtiger/src/btree/bt_cursor.c index ff26d98c0a3..015b5873f43 100644 --- a/src/third_party/wiredtiger/src/btree/bt_cursor.c +++ b/src/third_party/wiredtiger/src/btree/bt_cursor.c @@ -1954,11 +1954,11 @@ __wt_btcur_equals(WT_CURSOR_BTREE *a_arg, WT_CURSOR_BTREE *b_arg, int *equalp) } /* - * __wt_cursor_truncate -- + * __cursor_truncate -- * Discard a cursor range from row-store or variable-width column-store tree. */ -int -__wt_cursor_truncate(WT_CURSOR_BTREE *start, WT_CURSOR_BTREE *stop, +static int +__cursor_truncate(WT_CURSOR_BTREE *start, WT_CURSOR_BTREE *stop, int (*rmfunc)(WT_CURSOR_BTREE *, const WT_ITEM *, u_int)) { WT_DECL_RET; @@ -2121,7 +2121,7 @@ __wt_btcur_range_truncate(WT_CURSOR_BTREE *start, WT_CURSOR_BTREE *stop) WT_ERR(__cursor_truncate_fix(start, stop, __cursor_col_modify)); break; case BTREE_COL_VAR: - WT_ERR(__wt_cursor_truncate(start, stop, __cursor_col_modify)); + WT_ERR(__cursor_truncate(start, stop, __cursor_col_modify)); break; case BTREE_ROW: /* @@ -2133,7 +2133,7 @@ __wt_btcur_range_truncate(WT_CURSOR_BTREE *start, WT_CURSOR_BTREE *stop) * setting up the truncate so we're good to go: if that ever changes, we'd need to do * something here to ensure a fully instantiated cursor. */ - WT_ERR(__wt_cursor_truncate(start, stop, __cursor_row_modify)); + WT_ERR(__cursor_truncate(start, stop, __cursor_row_modify)); break; } diff --git a/src/third_party/wiredtiger/src/btree/bt_delete.c b/src/third_party/wiredtiger/src/btree/bt_delete.c index 1d7fdc0a5f3..11626a99341 100644 --- a/src/third_party/wiredtiger/src/btree/bt_delete.c +++ b/src/third_party/wiredtiger/src/btree/bt_delete.c @@ -115,10 +115,8 @@ __wt_delete_page(WT_SESSION_IMPL *session, WT_REF *ref, bool *skipp) goto err; if (addr.ta.prepare) goto err; - /* History store data are always visible. No need to check visibility. */ - if (!WT_IS_HS(session->dhandle) && - !__wt_txn_visible(session, addr.ta.newest_txn, - WT_MAX(addr.ta.newest_start_durable_ts, addr.ta.newest_stop_durable_ts))) + if (!__wt_txn_visible(session, addr.ta.newest_txn, + WT_MAX(addr.ta.newest_start_durable_ts, addr.ta.newest_stop_durable_ts))) goto err; /* @@ -131,9 +129,7 @@ __wt_delete_page(WT_SESSION_IMPL *session, WT_REF *ref, bool *skipp) WT_ERR(__wt_calloc_one(session, &ref->ft_info.del)); ref->ft_info.del->previous_ref_state = previous_state; - /* History store truncation is non-transactional. */ - if (!WT_IS_HS(session->dhandle)) - WT_ERR(__wt_txn_modify_page_delete(session, ref)); + WT_ERR(__wt_txn_modify_page_delete(session, ref)); *skipp = true; WT_STAT_CONN_DATA_INCR(session, rec_page_delete_fast); diff --git a/src/third_party/wiredtiger/src/cursor/cur_hs.c b/src/third_party/wiredtiger/src/cursor/cur_hs.c index e2273b17b30..2a05a663531 100644 --- a/src/third_party/wiredtiger/src/cursor/cur_hs.c +++ b/src/third_party/wiredtiger/src/cursor/cur_hs.c @@ -99,26 +99,6 @@ __wt_curhs_cache(WT_SESSION_IMPL *session) } /* - * __curhs_compare -- - * WT_CURSOR->compare method for the history store cursor type. - */ -static int -__curhs_compare(WT_CURSOR *a, WT_CURSOR *b, int *cmpp) -{ - WT_DECL_RET; - WT_SESSION_IMPL *session; - - CURSOR_API_CALL(a, session, compare, NULL); - - WT_ERR(__cursor_checkkey(a)); - WT_ERR(__cursor_checkkey(b)); - - ret = __wt_compare(session, NULL, &a->key, &b->key, cmpp); -err: - API_END_RET_STAT(session, ret, cursor_compare); -} - -/* * __curhs_file_cursor_next -- * Execute a next operation on a history store cursor with the appropriate isolation level. */ @@ -250,7 +230,6 @@ __curhs_next(WT_CURSOR *cursor) */ WT_ERR(__curhs_next_visible(session, hs_cursor)); - WT_ASSERT(session, F_ISSET(file_cursor, WT_CURSTD_KEY_INT)); __curhs_set_key_ptr(cursor, file_cursor); __curhs_set_value_ptr(cursor, file_cursor); @@ -285,7 +264,6 @@ __curhs_prev(WT_CURSOR *cursor) */ WT_ERR(__curhs_prev_visible(session, hs_cursor)); - WT_ASSERT(session, F_ISSET(file_cursor, WT_CURSTD_KEY_INT)); __curhs_set_key_ptr(cursor, file_cursor); __curhs_set_value_ptr(cursor, file_cursor); @@ -445,15 +423,8 @@ __curhs_prev_visible(WT_SESSION_IMPL *session, WT_CURSOR_HS *hs_cursor) for (; ret == 0; ret = __curhs_file_cursor_prev(session, file_cursor)) { WT_ERR(file_cursor->get_key(file_cursor, &btree_id, datastore_key, &start_ts, &counter)); - /* - * Stop before crossing over to the next btree except when the - * WT_CURSTD_HS_READ_ACROSS_BTREE flag is set. This flag is needed when we try to place the - * cursor at the end of the btree range. In that case, We first place the cursor at the - * smallest record that has a larger btree and then move the cursor backwards to the end of - * the target btree range. - */ - if (F_ISSET(hs_cursor, WT_HS_CUR_BTREE_ID_SET) && - !F_ISSET(std_cursor, WT_CURSTD_HS_READ_ACROSS_BTREE) && btree_id != hs_cursor->btree_id) { + /* Stop before crossing over to the next btree. */ + if (F_ISSET(hs_cursor, WT_HS_CUR_BTREE_ID_SET) && btree_id != hs_cursor->btree_id) { ret = WT_NOTFOUND; goto err; } @@ -549,15 +520,8 @@ __curhs_next_visible(WT_SESSION_IMPL *session, WT_CURSOR_HS *hs_cursor) for (; ret == 0; ret = __curhs_file_cursor_next(session, file_cursor)) { WT_ERR(file_cursor->get_key(file_cursor, &btree_id, datastore_key, &start_ts, &counter)); - /* - * Stop before crossing over to the next btree except when the - * WT_CURSTD_HS_READ_ACROSS_BTREE flag is set. This flag is needed when we try to place the - * cursor at the end of the btree range. In that case, We first place the cursor at the - * smallest record that has a larger btree and then move the cursor backwards to the end of - * the target btree range. - */ - if (F_ISSET(hs_cursor, WT_HS_CUR_BTREE_ID_SET) && - !F_ISSET(std_cursor, WT_CURSTD_HS_READ_ACROSS_BTREE) && btree_id != hs_cursor->btree_id) { + /* Stop before crossing over to the next btree. */ + if (F_ISSET(hs_cursor, WT_HS_CUR_BTREE_ID_SET) && btree_id != hs_cursor->btree_id) { ret = WT_NOTFOUND; goto err; } @@ -887,7 +851,6 @@ __curhs_search_near(WT_CURSOR *cursor, int *exactp) session, (cmp == 0 && *exactp == 0) || (cmp < 0 && *exactp < 0) || (cmp > 0 && *exactp > 0)); #endif - WT_ASSERT(session, F_ISSET(file_cursor, WT_CURSTD_KEY_INT)); __curhs_set_key_ptr(cursor, file_cursor); __curhs_set_value_ptr(cursor, file_cursor); @@ -1029,44 +992,6 @@ err: } /* - * __curhs_remove_int -- - * Remove a record from the history store. - */ -static inline int -__curhs_remove_int(WT_CURSOR_BTREE *cbt, const WT_ITEM *value, u_int modify_type) -{ - WT_DECL_RET; - WT_SESSION_IMPL *session; - WT_UPDATE *hs_tombstone; - - WT_UNUSED(value); - WT_UNUSED(modify_type); - session = CUR2S(cbt); - WT_ASSERT(session, modify_type == WT_UPDATE_TOMBSTONE); - - /* - * Since we're using internal functions to modify the row structure, we need to manually set the - * comparison to an exact match. - */ - cbt->compare = 0; - /* Add a tombstone with WT_TXN_NONE transaction id and WT_TS_NONE timestamps. */ - WT_ERR(__wt_upd_alloc_tombstone(session, &hs_tombstone, NULL)); - hs_tombstone->txnid = WT_TXN_NONE; - hs_tombstone->start_ts = hs_tombstone->durable_ts = WT_TS_NONE; - while ((ret = __wt_hs_modify(cbt, hs_tombstone)) == WT_RESTART) { - WT_WITH_PAGE_INDEX(session, ret = __curhs_search(cbt, false)); - WT_ERR(ret); - } - - if (0) { -err: - __wt_free(session, hs_tombstone); - } - - return (ret); -} - -/* * __curhs_remove -- * WT_CURSOR->remove method for the history store cursor type. */ @@ -1077,21 +1002,41 @@ __curhs_remove(WT_CURSOR *cursor) WT_CURSOR_BTREE *cbt; WT_CURSOR_HS *hs_cursor; WT_DECL_RET; + WT_ITEM hs_key; WT_SESSION_IMPL *session; + WT_UPDATE *hs_tombstone; + wt_timestamp_t hs_start_ts; + uint64_t hs_counter; + uint32_t hs_btree_id; + WT_CLEAR(hs_key); hs_cursor = (WT_CURSOR_HS *)cursor; file_cursor = hs_cursor->file_cursor; cbt = (WT_CURSOR_BTREE *)file_cursor; + hs_tombstone = NULL; CURSOR_API_CALL_PREPARE_ALLOWED(cursor, session, remove, CUR2BT(file_cursor)); /* Remove must be called with cursor positioned. */ - WT_ASSERT(session, F_ISSET(file_cursor, WT_CURSTD_KEY_INT)); + WT_ASSERT(session, F_ISSET(cursor, WT_CURSTD_KEY_INT)); - WT_ERR(__curhs_remove_int(cbt, NULL, WT_UPDATE_TOMBSTONE)); + WT_ERR(cursor->get_key(cursor, &hs_btree_id, &hs_key, &hs_start_ts, &hs_counter)); - /* We must still hold the cursor position after the remove call. */ - WT_ASSERT(session, F_ISSET(file_cursor, WT_CURSTD_KEY_INT)); + /* + * Since we're using internal functions to modify the row structure, we need to manually set the + * comparison to an exact match. + */ + cbt->compare = 0; + /* Add a tombstone with WT_TXN_NONE transaction id and WT_TS_NONE timestamps. */ + WT_ERR(__wt_upd_alloc_tombstone(session, &hs_tombstone, NULL)); + hs_tombstone->txnid = WT_TXN_NONE; + hs_tombstone->start_ts = hs_tombstone->durable_ts = WT_TS_NONE; + while ((ret = __wt_hs_modify(cbt, hs_tombstone)) == WT_RESTART) { + WT_WITH_PAGE_INDEX(session, ret = __curhs_search(cbt, false)); + WT_ERR(ret); + } + + WT_ERR(ret); /* Invalidate the previous value but we will hold on to the position of the key. */ F_CLR(file_cursor, WT_CURSTD_VALUE_SET); @@ -1099,6 +1044,7 @@ __curhs_remove(WT_CURSOR *cursor) if (0) { err: + __wt_free(session, hs_tombstone); WT_TRET(cursor->reset(cursor)); } @@ -1178,53 +1124,6 @@ err: } /* - * __curhs_range_truncate -- - * Discard a cursor range from the history store tree. - */ -static int -__curhs_range_truncate(WT_CURSOR *start, WT_CURSOR *stop) -{ - WT_CURSOR *start_file_cursor, *stop_file_cursor; - WT_SESSION_IMPL *session; - - session = CUR2S(start); - start_file_cursor = ((WT_CURSOR_HS *)start)->file_cursor; - stop_file_cursor = stop != NULL ? ((WT_CURSOR_HS *)stop)->file_cursor : NULL; - - WT_STAT_DATA_INCR(session, cursor_truncate); - - WT_ASSERT(session, F_ISSET(start_file_cursor, WT_CURSTD_KEY_INT)); - WT_RET(__wt_cursor_localkey(start_file_cursor)); - if (stop != NULL) { - WT_ASSERT(session, F_ISSET(stop_file_cursor, WT_CURSTD_KEY_INT)); - WT_RET(__wt_cursor_localkey(stop_file_cursor)); - } - - WT_RET(__wt_cursor_truncate((WT_CURSOR_BTREE *)start_file_cursor, - (WT_CURSOR_BTREE *)stop_file_cursor, __curhs_remove_int)); - - return (0); -} - -/* - * __wt_curhs_range_truncate -- - * Discard a cursor range from the history store tree. - */ -int -__wt_curhs_range_truncate(WT_CURSOR *start, WT_CURSOR *stop) -{ - WT_CURSOR *start_file_cursor; - WT_DECL_RET; - - start_file_cursor = ((WT_CURSOR_HS *)start)->file_cursor; - - WT_WITH_BTREE( - CUR2S(start), CUR2BT(start_file_cursor), ret = __curhs_range_truncate(start, stop)); - - return (ret); -} - -/* * __wt_curhs_open -- * Initialize a history store cursor. */ @@ -1235,7 +1134,7 @@ __wt_curhs_open(WT_SESSION_IMPL *session, WT_CURSOR *owner, WT_CURSOR **cursorp) __wt_cursor_get_value, /* get-value */ __curhs_set_key, /* set-key */ __curhs_set_value, /* set-value */ - __curhs_compare, /* compare */ + __wt_cursor_compare_notsup, /* compare */ __wt_cursor_equals_notsup, /* equals */ __curhs_next, /* next */ __curhs_prev, /* prev */ diff --git a/src/third_party/wiredtiger/src/include/extern.h b/src/third_party/wiredtiger/src/include/extern.h index ae1cce21b49..acec092f16f 100644 --- a/src/third_party/wiredtiger/src/include/extern.h +++ b/src/third_party/wiredtiger/src/include/extern.h @@ -524,8 +524,6 @@ extern int __wt_curhs_cache(WT_SESSION_IMPL *session) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result)); extern int __wt_curhs_open(WT_SESSION_IMPL *session, WT_CURSOR *owner, WT_CURSOR **cursorp) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result)); -extern int __wt_curhs_range_truncate(WT_CURSOR *start, WT_CURSOR *stop) - WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result)); extern int __wt_curhs_search_near_after(WT_SESSION_IMPL *session, WT_CURSOR *cursor) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result)); extern int __wt_curhs_search_near_before(WT_SESSION_IMPL *session, WT_CURSOR *cursor) @@ -605,9 +603,6 @@ extern int __wt_cursor_set_keyv(WT_CURSOR *cursor, uint64_t flags, va_list ap) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result)); extern int __wt_cursor_set_valuev(WT_CURSOR *cursor, const char *fmt, va_list ap) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result)); -extern int __wt_cursor_truncate(WT_CURSOR_BTREE *start, WT_CURSOR_BTREE *stop, - int (*rmfunc)(WT_CURSOR_BTREE *, const WT_ITEM *, u_int)) - WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result)); extern int __wt_cursor_valid(WT_CURSOR_BTREE *cbt, WT_ITEM *key, uint64_t recno, bool *valid) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result)); extern int __wt_curstat_colgroup_init(WT_SESSION_IMPL *session, const char *uri, const char *cfg[], diff --git a/src/third_party/wiredtiger/src/include/stat.h b/src/third_party/wiredtiger/src/include/stat.h index 9d82132e4f1..3420b271d1d 100644 --- a/src/third_party/wiredtiger/src/include/stat.h +++ b/src/third_party/wiredtiger/src/include/stat.h @@ -461,7 +461,6 @@ struct __wt_connection_stats { int64_t cache_hs_order_lose_durable_timestamp; int64_t cache_hs_key_truncate_rts_unstable; int64_t cache_hs_key_truncate_rts; - int64_t cache_hs_btree_truncate; int64_t cache_hs_key_truncate; int64_t cache_hs_order_remove; int64_t cache_hs_key_truncate_onpage_removal; @@ -971,7 +970,6 @@ struct __wt_dsrc_stats { int64_t cache_hs_order_lose_durable_timestamp; int64_t cache_hs_key_truncate_rts_unstable; int64_t cache_hs_key_truncate_rts; - int64_t cache_hs_btree_truncate; int64_t cache_hs_key_truncate; int64_t cache_hs_order_remove; int64_t cache_hs_key_truncate_onpage_removal; diff --git a/src/third_party/wiredtiger/src/include/wiredtiger.in b/src/third_party/wiredtiger/src/include/wiredtiger.in index d1012914b80..34682c4aeda 100644 --- a/src/third_party/wiredtiger/src/include/wiredtiger.in +++ b/src/third_party/wiredtiger/src/include/wiredtiger.in @@ -757,27 +757,26 @@ struct __wt_cursor { #define WT_CURSTD_DUMP_PRINT 0x000000800ull #define WT_CURSTD_DUP_NO_VALUE 0x000001000ull #define WT_CURSTD_EVICT_REPOSITION 0x000002000ull -#define WT_CURSTD_HS_READ_ACROSS_BTREE 0x000004000ull -#define WT_CURSTD_HS_READ_ALL 0x000008000ull -#define WT_CURSTD_HS_READ_COMMITTED 0x000010000ull -#define WT_CURSTD_IGNORE_TOMBSTONE 0x000020000ull -#define WT_CURSTD_JOINED 0x000040000ull -#define WT_CURSTD_KEY_EXT 0x000080000ull /* Key points out of tree. */ -#define WT_CURSTD_KEY_INT 0x000100000ull /* Key points into tree. */ -#define WT_CURSTD_KEY_ONLY 0x000200000ull -#define WT_CURSTD_META_INUSE 0x000400000ull -#define WT_CURSTD_OPEN 0x000800000ull -#define WT_CURSTD_OVERWRITE 0x001000000ull -#define WT_CURSTD_PREFIX_SEARCH 0x002000000ull -#define WT_CURSTD_RAW 0x004000000ull -#define WT_CURSTD_RAW_SEARCH 0x008000000ull -#define WT_CURSTD_VALUE_EXT 0x010000000ull /* Value points out of tree. */ -#define WT_CURSTD_VALUE_INT 0x020000000ull /* Value points into tree. */ -#define WT_CURSTD_BOUND_LOWER 0x040000000ull /* Lower bound. */ -#define WT_CURSTD_BOUND_LOWER_INCLUSIVE 0x080000000ull /* Inclusive lower bound. */ -#define WT_CURSTD_BOUND_UPPER 0x100000000ull /* Upper bound. */ -#define WT_CURSTD_BOUND_UPPER_INCLUSIVE 0x200000000ull /* Inclusive upper bound. */ -#define WT_CURSTD_VERSION_CURSOR 0x400000000ull /* Version cursor. */ +#define WT_CURSTD_HS_READ_ALL 0x000004000ull +#define WT_CURSTD_HS_READ_COMMITTED 0x000008000ull +#define WT_CURSTD_IGNORE_TOMBSTONE 0x000010000ull +#define WT_CURSTD_JOINED 0x000020000ull +#define WT_CURSTD_KEY_EXT 0x000040000ull /* Key points out of tree. */ +#define WT_CURSTD_KEY_INT 0x000080000ull /* Key points into tree. */ +#define WT_CURSTD_KEY_ONLY 0x000100000ull +#define WT_CURSTD_META_INUSE 0x000200000ull +#define WT_CURSTD_OPEN 0x000400000ull +#define WT_CURSTD_OVERWRITE 0x000800000ull +#define WT_CURSTD_PREFIX_SEARCH 0x001000000ull +#define WT_CURSTD_RAW 0x002000000ull +#define WT_CURSTD_RAW_SEARCH 0x004000000ull +#define WT_CURSTD_VALUE_EXT 0x008000000ull /* Value points out of tree. */ +#define WT_CURSTD_VALUE_INT 0x010000000ull /* Value points into tree. */ +#define WT_CURSTD_BOUND_LOWER 0x020000000ull /* Lower bound. */ +#define WT_CURSTD_BOUND_LOWER_INCLUSIVE 0x040000000ull /* Inclusive lower bound. */ +#define WT_CURSTD_BOUND_UPPER 0x080000000ull /* Upper bound. */ +#define WT_CURSTD_BOUND_UPPER_INCLUSIVE 0x100000000ull /* Inclusive upper bound. */ +#define WT_CURSTD_VERSION_CURSOR 0x200000000ull /* Version cursor. */ /* AUTOMATIC FLAG VALUE GENERATION STOP 64 */ #define WT_CURSTD_KEY_SET (WT_CURSTD_KEY_EXT | WT_CURSTD_KEY_INT) #define WT_CURSTD_VALUE_SET (WT_CURSTD_VALUE_EXT | WT_CURSTD_VALUE_INT) @@ -5552,1003 +5551,998 @@ extern int wiredtiger_extension_terminate(WT_CONNECTION *connection); * an update */ #define WT_STAT_CONN_CACHE_HS_KEY_TRUNCATE_RTS 1128 -/*! - * cache: history store table truncation to remove all the keys of a - * btree - */ -#define WT_STAT_CONN_CACHE_HS_BTREE_TRUNCATE 1129 /*! cache: history store table truncation to remove an update */ -#define WT_STAT_CONN_CACHE_HS_KEY_TRUNCATE 1130 +#define WT_STAT_CONN_CACHE_HS_KEY_TRUNCATE 1129 /*! * cache: history store table truncation to remove range of updates due * to an update without a timestamp on data page */ -#define WT_STAT_CONN_CACHE_HS_ORDER_REMOVE 1131 +#define WT_STAT_CONN_CACHE_HS_ORDER_REMOVE 1130 /*! * cache: history store table truncation to remove range of updates due * to key being removed from the data page during reconciliation */ -#define WT_STAT_CONN_CACHE_HS_KEY_TRUNCATE_ONPAGE_REMOVAL 1132 +#define WT_STAT_CONN_CACHE_HS_KEY_TRUNCATE_ONPAGE_REMOVAL 1131 /*! * cache: history store table updates without timestamps fixed up by * reinserting with the fixed timestamp */ -#define WT_STAT_CONN_CACHE_HS_ORDER_REINSERT 1133 +#define WT_STAT_CONN_CACHE_HS_ORDER_REINSERT 1132 /*! cache: history store table writes requiring squashed modifies */ -#define WT_STAT_CONN_CACHE_HS_WRITE_SQUASH 1134 +#define WT_STAT_CONN_CACHE_HS_WRITE_SQUASH 1133 /*! cache: in-memory page passed criteria to be split */ -#define WT_STAT_CONN_CACHE_INMEM_SPLITTABLE 1135 +#define WT_STAT_CONN_CACHE_INMEM_SPLITTABLE 1134 /*! cache: in-memory page splits */ -#define WT_STAT_CONN_CACHE_INMEM_SPLIT 1136 +#define WT_STAT_CONN_CACHE_INMEM_SPLIT 1135 /*! cache: internal pages evicted */ -#define WT_STAT_CONN_CACHE_EVICTION_INTERNAL 1137 +#define WT_STAT_CONN_CACHE_EVICTION_INTERNAL 1136 /*! cache: internal pages queued for eviction */ -#define WT_STAT_CONN_CACHE_EVICTION_INTERNAL_PAGES_QUEUED 1138 +#define WT_STAT_CONN_CACHE_EVICTION_INTERNAL_PAGES_QUEUED 1137 /*! cache: internal pages seen by eviction walk */ -#define WT_STAT_CONN_CACHE_EVICTION_INTERNAL_PAGES_SEEN 1139 +#define WT_STAT_CONN_CACHE_EVICTION_INTERNAL_PAGES_SEEN 1138 /*! cache: internal pages seen by eviction walk that are already queued */ -#define WT_STAT_CONN_CACHE_EVICTION_INTERNAL_PAGES_ALREADY_QUEUED 1140 +#define WT_STAT_CONN_CACHE_EVICTION_INTERNAL_PAGES_ALREADY_QUEUED 1139 /*! cache: internal pages split during eviction */ -#define WT_STAT_CONN_CACHE_EVICTION_SPLIT_INTERNAL 1141 +#define WT_STAT_CONN_CACHE_EVICTION_SPLIT_INTERNAL 1140 /*! cache: leaf pages split during eviction */ -#define WT_STAT_CONN_CACHE_EVICTION_SPLIT_LEAF 1142 +#define WT_STAT_CONN_CACHE_EVICTION_SPLIT_LEAF 1141 /*! cache: maximum bytes configured */ -#define WT_STAT_CONN_CACHE_BYTES_MAX 1143 +#define WT_STAT_CONN_CACHE_BYTES_MAX 1142 /*! cache: maximum page size at eviction */ -#define WT_STAT_CONN_CACHE_EVICTION_MAXIMUM_PAGE_SIZE 1144 +#define WT_STAT_CONN_CACHE_EVICTION_MAXIMUM_PAGE_SIZE 1143 /*! cache: modified pages evicted */ -#define WT_STAT_CONN_CACHE_EVICTION_DIRTY 1145 +#define WT_STAT_CONN_CACHE_EVICTION_DIRTY 1144 /*! cache: modified pages evicted by application threads */ -#define WT_STAT_CONN_CACHE_EVICTION_APP_DIRTY 1146 +#define WT_STAT_CONN_CACHE_EVICTION_APP_DIRTY 1145 /*! cache: operations timed out waiting for space in cache */ -#define WT_STAT_CONN_CACHE_TIMED_OUT_OPS 1147 +#define WT_STAT_CONN_CACHE_TIMED_OUT_OPS 1146 /*! cache: overflow pages read into cache */ -#define WT_STAT_CONN_CACHE_READ_OVERFLOW 1148 +#define WT_STAT_CONN_CACHE_READ_OVERFLOW 1147 /*! cache: page split during eviction deepened the tree */ -#define WT_STAT_CONN_CACHE_EVICTION_DEEPEN 1149 +#define WT_STAT_CONN_CACHE_EVICTION_DEEPEN 1148 /*! cache: page written requiring history store records */ -#define WT_STAT_CONN_CACHE_WRITE_HS 1150 +#define WT_STAT_CONN_CACHE_WRITE_HS 1149 /*! cache: pages currently held in the cache */ -#define WT_STAT_CONN_CACHE_PAGES_INUSE 1151 +#define WT_STAT_CONN_CACHE_PAGES_INUSE 1150 /*! cache: pages evicted by application threads */ -#define WT_STAT_CONN_CACHE_EVICTION_APP 1152 +#define WT_STAT_CONN_CACHE_EVICTION_APP 1151 /*! cache: pages evicted in parallel with checkpoint */ -#define WT_STAT_CONN_CACHE_EVICTION_PAGES_IN_PARALLEL_WITH_CHECKPOINT 1153 +#define WT_STAT_CONN_CACHE_EVICTION_PAGES_IN_PARALLEL_WITH_CHECKPOINT 1152 /*! cache: pages queued for eviction */ -#define WT_STAT_CONN_CACHE_EVICTION_PAGES_QUEUED 1154 +#define WT_STAT_CONN_CACHE_EVICTION_PAGES_QUEUED 1153 /*! cache: pages queued for eviction post lru sorting */ -#define WT_STAT_CONN_CACHE_EVICTION_PAGES_QUEUED_POST_LRU 1155 +#define WT_STAT_CONN_CACHE_EVICTION_PAGES_QUEUED_POST_LRU 1154 /*! cache: pages queued for urgent eviction */ -#define WT_STAT_CONN_CACHE_EVICTION_PAGES_QUEUED_URGENT 1156 +#define WT_STAT_CONN_CACHE_EVICTION_PAGES_QUEUED_URGENT 1155 /*! cache: pages queued for urgent eviction during walk */ -#define WT_STAT_CONN_CACHE_EVICTION_PAGES_QUEUED_OLDEST 1157 +#define WT_STAT_CONN_CACHE_EVICTION_PAGES_QUEUED_OLDEST 1156 /*! * 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 1158 +#define WT_STAT_CONN_CACHE_EVICTION_PAGES_QUEUED_URGENT_HS_DIRTY 1157 /*! cache: pages read into cache */ -#define WT_STAT_CONN_CACHE_READ 1159 +#define WT_STAT_CONN_CACHE_READ 1158 /*! cache: pages read into cache after truncate */ -#define WT_STAT_CONN_CACHE_READ_DELETED 1160 +#define WT_STAT_CONN_CACHE_READ_DELETED 1159 /*! cache: pages read into cache after truncate in prepare state */ -#define WT_STAT_CONN_CACHE_READ_DELETED_PREPARED 1161 +#define WT_STAT_CONN_CACHE_READ_DELETED_PREPARED 1160 /*! cache: pages requested from the cache */ -#define WT_STAT_CONN_CACHE_PAGES_REQUESTED 1162 +#define WT_STAT_CONN_CACHE_PAGES_REQUESTED 1161 /*! cache: pages seen by eviction walk */ -#define WT_STAT_CONN_CACHE_EVICTION_PAGES_SEEN 1163 +#define WT_STAT_CONN_CACHE_EVICTION_PAGES_SEEN 1162 /*! cache: pages seen by eviction walk that are already queued */ -#define WT_STAT_CONN_CACHE_EVICTION_PAGES_ALREADY_QUEUED 1164 +#define WT_STAT_CONN_CACHE_EVICTION_PAGES_ALREADY_QUEUED 1163 /*! cache: pages selected for eviction unable to be evicted */ -#define WT_STAT_CONN_CACHE_EVICTION_FAIL 1165 +#define WT_STAT_CONN_CACHE_EVICTION_FAIL 1164 /*! * 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 1166 +#define WT_STAT_CONN_CACHE_EVICTION_FAIL_ACTIVE_CHILDREN_ON_AN_INTERNAL_PAGE 1165 /*! * cache: pages selected for eviction unable to be evicted because of * failure in reconciliation */ -#define WT_STAT_CONN_CACHE_EVICTION_FAIL_IN_RECONCILIATION 1167 +#define WT_STAT_CONN_CACHE_EVICTION_FAIL_IN_RECONCILIATION 1166 /*! * 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 1168 +#define WT_STAT_CONN_CACHE_EVICTION_FAIL_CHECKPOINT_NO_TS 1167 /*! cache: pages walked for eviction */ -#define WT_STAT_CONN_CACHE_EVICTION_WALK 1169 +#define WT_STAT_CONN_CACHE_EVICTION_WALK 1168 /*! cache: pages written from cache */ -#define WT_STAT_CONN_CACHE_WRITE 1170 +#define WT_STAT_CONN_CACHE_WRITE 1169 /*! cache: pages written requiring in-memory restoration */ -#define WT_STAT_CONN_CACHE_WRITE_RESTORE 1171 +#define WT_STAT_CONN_CACHE_WRITE_RESTORE 1170 /*! cache: percentage overhead */ -#define WT_STAT_CONN_CACHE_OVERHEAD 1172 +#define WT_STAT_CONN_CACHE_OVERHEAD 1171 /*! cache: the number of times full update inserted to history store */ -#define WT_STAT_CONN_CACHE_HS_INSERT_FULL_UPDATE 1173 +#define WT_STAT_CONN_CACHE_HS_INSERT_FULL_UPDATE 1172 /*! cache: the number of times reverse modify inserted to history store */ -#define WT_STAT_CONN_CACHE_HS_INSERT_REVERSE_MODIFY 1174 +#define WT_STAT_CONN_CACHE_HS_INSERT_REVERSE_MODIFY 1173 /*! cache: tracked bytes belonging to internal pages in the cache */ -#define WT_STAT_CONN_CACHE_BYTES_INTERNAL 1175 +#define WT_STAT_CONN_CACHE_BYTES_INTERNAL 1174 /*! cache: tracked bytes belonging to leaf pages in the cache */ -#define WT_STAT_CONN_CACHE_BYTES_LEAF 1176 +#define WT_STAT_CONN_CACHE_BYTES_LEAF 1175 /*! cache: tracked dirty bytes in the cache */ -#define WT_STAT_CONN_CACHE_BYTES_DIRTY 1177 +#define WT_STAT_CONN_CACHE_BYTES_DIRTY 1176 /*! cache: tracked dirty pages in the cache */ -#define WT_STAT_CONN_CACHE_PAGES_DIRTY 1178 +#define WT_STAT_CONN_CACHE_PAGES_DIRTY 1177 /*! cache: unmodified pages evicted */ -#define WT_STAT_CONN_CACHE_EVICTION_CLEAN 1179 +#define WT_STAT_CONN_CACHE_EVICTION_CLEAN 1178 /*! capacity: background fsync file handles considered */ -#define WT_STAT_CONN_FSYNC_ALL_FH_TOTAL 1180 +#define WT_STAT_CONN_FSYNC_ALL_FH_TOTAL 1179 /*! capacity: background fsync file handles synced */ -#define WT_STAT_CONN_FSYNC_ALL_FH 1181 +#define WT_STAT_CONN_FSYNC_ALL_FH 1180 /*! capacity: background fsync time (msecs) */ -#define WT_STAT_CONN_FSYNC_ALL_TIME 1182 +#define WT_STAT_CONN_FSYNC_ALL_TIME 1181 /*! capacity: bytes read */ -#define WT_STAT_CONN_CAPACITY_BYTES_READ 1183 +#define WT_STAT_CONN_CAPACITY_BYTES_READ 1182 /*! capacity: bytes written for checkpoint */ -#define WT_STAT_CONN_CAPACITY_BYTES_CKPT 1184 +#define WT_STAT_CONN_CAPACITY_BYTES_CKPT 1183 /*! capacity: bytes written for eviction */ -#define WT_STAT_CONN_CAPACITY_BYTES_EVICT 1185 +#define WT_STAT_CONN_CAPACITY_BYTES_EVICT 1184 /*! capacity: bytes written for log */ -#define WT_STAT_CONN_CAPACITY_BYTES_LOG 1186 +#define WT_STAT_CONN_CAPACITY_BYTES_LOG 1185 /*! capacity: bytes written total */ -#define WT_STAT_CONN_CAPACITY_BYTES_WRITTEN 1187 +#define WT_STAT_CONN_CAPACITY_BYTES_WRITTEN 1186 /*! capacity: threshold to call fsync */ -#define WT_STAT_CONN_CAPACITY_THRESHOLD 1188 +#define WT_STAT_CONN_CAPACITY_THRESHOLD 1187 /*! capacity: time waiting due to total capacity (usecs) */ -#define WT_STAT_CONN_CAPACITY_TIME_TOTAL 1189 +#define WT_STAT_CONN_CAPACITY_TIME_TOTAL 1188 /*! capacity: time waiting during checkpoint (usecs) */ -#define WT_STAT_CONN_CAPACITY_TIME_CKPT 1190 +#define WT_STAT_CONN_CAPACITY_TIME_CKPT 1189 /*! capacity: time waiting during eviction (usecs) */ -#define WT_STAT_CONN_CAPACITY_TIME_EVICT 1191 +#define WT_STAT_CONN_CAPACITY_TIME_EVICT 1190 /*! capacity: time waiting during logging (usecs) */ -#define WT_STAT_CONN_CAPACITY_TIME_LOG 1192 +#define WT_STAT_CONN_CAPACITY_TIME_LOG 1191 /*! capacity: time waiting during read (usecs) */ -#define WT_STAT_CONN_CAPACITY_TIME_READ 1193 +#define WT_STAT_CONN_CAPACITY_TIME_READ 1192 /*! checkpoint-cleanup: pages added for eviction */ -#define WT_STAT_CONN_CC_PAGES_EVICT 1194 +#define WT_STAT_CONN_CC_PAGES_EVICT 1193 /*! checkpoint-cleanup: pages removed */ -#define WT_STAT_CONN_CC_PAGES_REMOVED 1195 +#define WT_STAT_CONN_CC_PAGES_REMOVED 1194 /*! checkpoint-cleanup: pages skipped during tree walk */ -#define WT_STAT_CONN_CC_PAGES_WALK_SKIPPED 1196 +#define WT_STAT_CONN_CC_PAGES_WALK_SKIPPED 1195 /*! checkpoint-cleanup: pages visited */ -#define WT_STAT_CONN_CC_PAGES_VISITED 1197 +#define WT_STAT_CONN_CC_PAGES_VISITED 1196 /*! connection: auto adjusting condition resets */ -#define WT_STAT_CONN_COND_AUTO_WAIT_RESET 1198 +#define WT_STAT_CONN_COND_AUTO_WAIT_RESET 1197 /*! connection: auto adjusting condition wait calls */ -#define WT_STAT_CONN_COND_AUTO_WAIT 1199 +#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 1200 +#define WT_STAT_CONN_COND_AUTO_WAIT_SKIPPED 1199 /*! connection: detected system time went backwards */ -#define WT_STAT_CONN_TIME_TRAVEL 1201 +#define WT_STAT_CONN_TIME_TRAVEL 1200 /*! connection: files currently open */ -#define WT_STAT_CONN_FILE_OPEN 1202 +#define WT_STAT_CONN_FILE_OPEN 1201 /*! connection: hash bucket array size for data handles */ -#define WT_STAT_CONN_BUCKETS_DH 1203 +#define WT_STAT_CONN_BUCKETS_DH 1202 /*! connection: hash bucket array size general */ -#define WT_STAT_CONN_BUCKETS 1204 +#define WT_STAT_CONN_BUCKETS 1203 /*! connection: memory allocations */ -#define WT_STAT_CONN_MEMORY_ALLOCATION 1205 +#define WT_STAT_CONN_MEMORY_ALLOCATION 1204 /*! connection: memory frees */ -#define WT_STAT_CONN_MEMORY_FREE 1206 +#define WT_STAT_CONN_MEMORY_FREE 1205 /*! connection: memory re-allocations */ -#define WT_STAT_CONN_MEMORY_GROW 1207 +#define WT_STAT_CONN_MEMORY_GROW 1206 /*! connection: pthread mutex condition wait calls */ -#define WT_STAT_CONN_COND_WAIT 1208 +#define WT_STAT_CONN_COND_WAIT 1207 /*! connection: pthread mutex shared lock read-lock calls */ -#define WT_STAT_CONN_RWLOCK_READ 1209 +#define WT_STAT_CONN_RWLOCK_READ 1208 /*! connection: pthread mutex shared lock write-lock calls */ -#define WT_STAT_CONN_RWLOCK_WRITE 1210 +#define WT_STAT_CONN_RWLOCK_WRITE 1209 /*! connection: total fsync I/Os */ -#define WT_STAT_CONN_FSYNC_IO 1211 +#define WT_STAT_CONN_FSYNC_IO 1210 /*! connection: total read I/Os */ -#define WT_STAT_CONN_READ_IO 1212 +#define WT_STAT_CONN_READ_IO 1211 /*! connection: total write I/Os */ -#define WT_STAT_CONN_WRITE_IO 1213 +#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 1214 +#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 1215 +#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 1216 +#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 1217 +#define WT_STAT_CONN_CURSOR_SEARCH_NEAR_PREFIX_FAST_PATHS 1216 /*! * 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 1218 +#define WT_STAT_CONN_CURSOR_REPOSITION_FAILED 1217 /*! * cursor: Total number of times cursor temporarily releases pinned page * to encourage eviction of hot or large page */ -#define WT_STAT_CONN_CURSOR_REPOSITION 1219 +#define WT_STAT_CONN_CURSOR_REPOSITION 1218 /*! cursor: cached cursor count */ -#define WT_STAT_CONN_CURSOR_CACHED_COUNT 1220 +#define WT_STAT_CONN_CURSOR_CACHED_COUNT 1219 /*! cursor: cursor bound calls that return an error */ -#define WT_STAT_CONN_CURSOR_BOUND_ERROR 1221 +#define WT_STAT_CONN_CURSOR_BOUND_ERROR 1220 /*! cursor: cursor bounds cleared from reset */ -#define WT_STAT_CONN_CURSOR_BOUNDS_RESET 1222 +#define WT_STAT_CONN_CURSOR_BOUNDS_RESET 1221 /*! cursor: cursor bounds next called on an unpositioned cursor */ -#define WT_STAT_CONN_CURSOR_BOUNDS_NEXT_UNPOSITIONED 1223 +#define WT_STAT_CONN_CURSOR_BOUNDS_NEXT_UNPOSITIONED 1222 /*! cursor: cursor bounds next early exit */ -#define WT_STAT_CONN_CURSOR_BOUNDS_NEXT_EARLY_EXIT 1224 +#define WT_STAT_CONN_CURSOR_BOUNDS_NEXT_EARLY_EXIT 1223 /*! cursor: cursor bounds prev called on an unpositioned cursor */ -#define WT_STAT_CONN_CURSOR_BOUNDS_PREV_UNPOSITIONED 1225 +#define WT_STAT_CONN_CURSOR_BOUNDS_PREV_UNPOSITIONED 1224 /*! cursor: cursor bounds prev early exit */ -#define WT_STAT_CONN_CURSOR_BOUNDS_PREV_EARLY_EXIT 1226 +#define WT_STAT_CONN_CURSOR_BOUNDS_PREV_EARLY_EXIT 1225 /*! cursor: cursor bounds search early exit */ -#define WT_STAT_CONN_CURSOR_BOUNDS_SEARCH_EARLY_EXIT 1227 +#define WT_STAT_CONN_CURSOR_BOUNDS_SEARCH_EARLY_EXIT 1226 /*! cursor: cursor bounds search near call repositioned cursor */ -#define WT_STAT_CONN_CURSOR_BOUNDS_SEARCH_NEAR_REPOSITIONED_CURSOR 1228 +#define WT_STAT_CONN_CURSOR_BOUNDS_SEARCH_NEAR_REPOSITIONED_CURSOR 1227 /*! cursor: cursor bulk loaded cursor insert calls */ -#define WT_STAT_CONN_CURSOR_INSERT_BULK 1229 +#define WT_STAT_CONN_CURSOR_INSERT_BULK 1228 /*! cursor: cursor cache calls that return an error */ -#define WT_STAT_CONN_CURSOR_CACHE_ERROR 1230 +#define WT_STAT_CONN_CURSOR_CACHE_ERROR 1229 /*! cursor: cursor close calls that result in cache */ -#define WT_STAT_CONN_CURSOR_CACHE 1231 +#define WT_STAT_CONN_CURSOR_CACHE 1230 /*! cursor: cursor close calls that return an error */ -#define WT_STAT_CONN_CURSOR_CLOSE_ERROR 1232 +#define WT_STAT_CONN_CURSOR_CLOSE_ERROR 1231 /*! cursor: cursor compare calls that return an error */ -#define WT_STAT_CONN_CURSOR_COMPARE_ERROR 1233 +#define WT_STAT_CONN_CURSOR_COMPARE_ERROR 1232 /*! cursor: cursor create calls */ -#define WT_STAT_CONN_CURSOR_CREATE 1234 +#define WT_STAT_CONN_CURSOR_CREATE 1233 /*! cursor: cursor equals calls that return an error */ -#define WT_STAT_CONN_CURSOR_EQUALS_ERROR 1235 +#define WT_STAT_CONN_CURSOR_EQUALS_ERROR 1234 /*! cursor: cursor get key calls that return an error */ -#define WT_STAT_CONN_CURSOR_GET_KEY_ERROR 1236 +#define WT_STAT_CONN_CURSOR_GET_KEY_ERROR 1235 /*! cursor: cursor get value calls that return an error */ -#define WT_STAT_CONN_CURSOR_GET_VALUE_ERROR 1237 +#define WT_STAT_CONN_CURSOR_GET_VALUE_ERROR 1236 /*! cursor: cursor insert calls */ -#define WT_STAT_CONN_CURSOR_INSERT 1238 +#define WT_STAT_CONN_CURSOR_INSERT 1237 /*! cursor: cursor insert calls that return an error */ -#define WT_STAT_CONN_CURSOR_INSERT_ERROR 1239 +#define WT_STAT_CONN_CURSOR_INSERT_ERROR 1238 /*! cursor: cursor insert check calls that return an error */ -#define WT_STAT_CONN_CURSOR_INSERT_CHECK_ERROR 1240 +#define WT_STAT_CONN_CURSOR_INSERT_CHECK_ERROR 1239 /*! cursor: cursor insert key and value bytes */ -#define WT_STAT_CONN_CURSOR_INSERT_BYTES 1241 +#define WT_STAT_CONN_CURSOR_INSERT_BYTES 1240 /*! cursor: cursor largest key calls that return an error */ -#define WT_STAT_CONN_CURSOR_LARGEST_KEY_ERROR 1242 +#define WT_STAT_CONN_CURSOR_LARGEST_KEY_ERROR 1241 /*! cursor: cursor modify calls */ -#define WT_STAT_CONN_CURSOR_MODIFY 1243 +#define WT_STAT_CONN_CURSOR_MODIFY 1242 /*! cursor: cursor modify calls that return an error */ -#define WT_STAT_CONN_CURSOR_MODIFY_ERROR 1244 +#define WT_STAT_CONN_CURSOR_MODIFY_ERROR 1243 /*! cursor: cursor modify key and value bytes affected */ -#define WT_STAT_CONN_CURSOR_MODIFY_BYTES 1245 +#define WT_STAT_CONN_CURSOR_MODIFY_BYTES 1244 /*! cursor: cursor modify value bytes modified */ -#define WT_STAT_CONN_CURSOR_MODIFY_BYTES_TOUCH 1246 +#define WT_STAT_CONN_CURSOR_MODIFY_BYTES_TOUCH 1245 /*! cursor: cursor next calls */ -#define WT_STAT_CONN_CURSOR_NEXT 1247 +#define WT_STAT_CONN_CURSOR_NEXT 1246 /*! cursor: cursor next calls that return an error */ -#define WT_STAT_CONN_CURSOR_NEXT_ERROR 1248 +#define WT_STAT_CONN_CURSOR_NEXT_ERROR 1247 /*! * cursor: cursor next calls that skip due to a globally visible history * store tombstone */ -#define WT_STAT_CONN_CURSOR_NEXT_HS_TOMBSTONE 1249 +#define WT_STAT_CONN_CURSOR_NEXT_HS_TOMBSTONE 1248 /*! * cursor: cursor next calls that skip greater than or equal to 100 * entries */ -#define WT_STAT_CONN_CURSOR_NEXT_SKIP_GE_100 1250 +#define WT_STAT_CONN_CURSOR_NEXT_SKIP_GE_100 1249 /*! cursor: cursor next calls that skip less than 100 entries */ -#define WT_STAT_CONN_CURSOR_NEXT_SKIP_LT_100 1251 +#define WT_STAT_CONN_CURSOR_NEXT_SKIP_LT_100 1250 /*! cursor: cursor next random calls that return an error */ -#define WT_STAT_CONN_CURSOR_NEXT_RANDOM_ERROR 1252 +#define WT_STAT_CONN_CURSOR_NEXT_RANDOM_ERROR 1251 /*! cursor: cursor operation restarted */ -#define WT_STAT_CONN_CURSOR_RESTART 1253 +#define WT_STAT_CONN_CURSOR_RESTART 1252 /*! cursor: cursor prev calls */ -#define WT_STAT_CONN_CURSOR_PREV 1254 +#define WT_STAT_CONN_CURSOR_PREV 1253 /*! cursor: cursor prev calls that return an error */ -#define WT_STAT_CONN_CURSOR_PREV_ERROR 1255 +#define WT_STAT_CONN_CURSOR_PREV_ERROR 1254 /*! * cursor: cursor prev calls that skip due to a globally visible history * store tombstone */ -#define WT_STAT_CONN_CURSOR_PREV_HS_TOMBSTONE 1256 +#define WT_STAT_CONN_CURSOR_PREV_HS_TOMBSTONE 1255 /*! * cursor: cursor prev calls that skip greater than or equal to 100 * entries */ -#define WT_STAT_CONN_CURSOR_PREV_SKIP_GE_100 1257 +#define WT_STAT_CONN_CURSOR_PREV_SKIP_GE_100 1256 /*! cursor: cursor prev calls that skip less than 100 entries */ -#define WT_STAT_CONN_CURSOR_PREV_SKIP_LT_100 1258 +#define WT_STAT_CONN_CURSOR_PREV_SKIP_LT_100 1257 /*! cursor: cursor reconfigure calls that return an error */ -#define WT_STAT_CONN_CURSOR_RECONFIGURE_ERROR 1259 +#define WT_STAT_CONN_CURSOR_RECONFIGURE_ERROR 1258 /*! cursor: cursor remove calls */ -#define WT_STAT_CONN_CURSOR_REMOVE 1260 +#define WT_STAT_CONN_CURSOR_REMOVE 1259 /*! cursor: cursor remove calls that return an error */ -#define WT_STAT_CONN_CURSOR_REMOVE_ERROR 1261 +#define WT_STAT_CONN_CURSOR_REMOVE_ERROR 1260 /*! cursor: cursor remove key bytes removed */ -#define WT_STAT_CONN_CURSOR_REMOVE_BYTES 1262 +#define WT_STAT_CONN_CURSOR_REMOVE_BYTES 1261 /*! cursor: cursor reopen calls that return an error */ -#define WT_STAT_CONN_CURSOR_REOPEN_ERROR 1263 +#define WT_STAT_CONN_CURSOR_REOPEN_ERROR 1262 /*! cursor: cursor reserve calls */ -#define WT_STAT_CONN_CURSOR_RESERVE 1264 +#define WT_STAT_CONN_CURSOR_RESERVE 1263 /*! cursor: cursor reserve calls that return an error */ -#define WT_STAT_CONN_CURSOR_RESERVE_ERROR 1265 +#define WT_STAT_CONN_CURSOR_RESERVE_ERROR 1264 /*! cursor: cursor reset calls */ -#define WT_STAT_CONN_CURSOR_RESET 1266 +#define WT_STAT_CONN_CURSOR_RESET 1265 /*! cursor: cursor reset calls that return an error */ -#define WT_STAT_CONN_CURSOR_RESET_ERROR 1267 +#define WT_STAT_CONN_CURSOR_RESET_ERROR 1266 /*! cursor: cursor search calls */ -#define WT_STAT_CONN_CURSOR_SEARCH 1268 +#define WT_STAT_CONN_CURSOR_SEARCH 1267 /*! cursor: cursor search calls that return an error */ -#define WT_STAT_CONN_CURSOR_SEARCH_ERROR 1269 +#define WT_STAT_CONN_CURSOR_SEARCH_ERROR 1268 /*! cursor: cursor search history store calls */ -#define WT_STAT_CONN_CURSOR_SEARCH_HS 1270 +#define WT_STAT_CONN_CURSOR_SEARCH_HS 1269 /*! cursor: cursor search near calls */ -#define WT_STAT_CONN_CURSOR_SEARCH_NEAR 1271 +#define WT_STAT_CONN_CURSOR_SEARCH_NEAR 1270 /*! cursor: cursor search near calls that return an error */ -#define WT_STAT_CONN_CURSOR_SEARCH_NEAR_ERROR 1272 +#define WT_STAT_CONN_CURSOR_SEARCH_NEAR_ERROR 1271 /*! cursor: cursor sweep buckets */ -#define WT_STAT_CONN_CURSOR_SWEEP_BUCKETS 1273 +#define WT_STAT_CONN_CURSOR_SWEEP_BUCKETS 1272 /*! cursor: cursor sweep cursors closed */ -#define WT_STAT_CONN_CURSOR_SWEEP_CLOSED 1274 +#define WT_STAT_CONN_CURSOR_SWEEP_CLOSED 1273 /*! cursor: cursor sweep cursors examined */ -#define WT_STAT_CONN_CURSOR_SWEEP_EXAMINED 1275 +#define WT_STAT_CONN_CURSOR_SWEEP_EXAMINED 1274 /*! cursor: cursor sweeps */ -#define WT_STAT_CONN_CURSOR_SWEEP 1276 +#define WT_STAT_CONN_CURSOR_SWEEP 1275 /*! cursor: cursor truncate calls */ -#define WT_STAT_CONN_CURSOR_TRUNCATE 1277 +#define WT_STAT_CONN_CURSOR_TRUNCATE 1276 /*! cursor: cursor truncates performed on individual keys */ -#define WT_STAT_CONN_CURSOR_TRUNCATE_KEYS_DELETED 1278 +#define WT_STAT_CONN_CURSOR_TRUNCATE_KEYS_DELETED 1277 /*! cursor: cursor update calls */ -#define WT_STAT_CONN_CURSOR_UPDATE 1279 +#define WT_STAT_CONN_CURSOR_UPDATE 1278 /*! cursor: cursor update calls that return an error */ -#define WT_STAT_CONN_CURSOR_UPDATE_ERROR 1280 +#define WT_STAT_CONN_CURSOR_UPDATE_ERROR 1279 /*! cursor: cursor update key and value bytes */ -#define WT_STAT_CONN_CURSOR_UPDATE_BYTES 1281 +#define WT_STAT_CONN_CURSOR_UPDATE_BYTES 1280 /*! cursor: cursor update value size change */ -#define WT_STAT_CONN_CURSOR_UPDATE_BYTES_CHANGED 1282 +#define WT_STAT_CONN_CURSOR_UPDATE_BYTES_CHANGED 1281 /*! cursor: cursors reused from cache */ -#define WT_STAT_CONN_CURSOR_REOPEN 1283 +#define WT_STAT_CONN_CURSOR_REOPEN 1282 /*! cursor: open cursor count */ -#define WT_STAT_CONN_CURSOR_OPEN_COUNT 1284 +#define WT_STAT_CONN_CURSOR_OPEN_COUNT 1283 /*! data-handle: connection data handle size */ -#define WT_STAT_CONN_DH_CONN_HANDLE_SIZE 1285 +#define WT_STAT_CONN_DH_CONN_HANDLE_SIZE 1284 /*! data-handle: connection data handles currently active */ -#define WT_STAT_CONN_DH_CONN_HANDLE_COUNT 1286 +#define WT_STAT_CONN_DH_CONN_HANDLE_COUNT 1285 /*! data-handle: connection sweep candidate became referenced */ -#define WT_STAT_CONN_DH_SWEEP_REF 1287 +#define WT_STAT_CONN_DH_SWEEP_REF 1286 /*! data-handle: connection sweep dhandles closed */ -#define WT_STAT_CONN_DH_SWEEP_CLOSE 1288 +#define WT_STAT_CONN_DH_SWEEP_CLOSE 1287 /*! data-handle: connection sweep dhandles removed from hash list */ -#define WT_STAT_CONN_DH_SWEEP_REMOVE 1289 +#define WT_STAT_CONN_DH_SWEEP_REMOVE 1288 /*! data-handle: connection sweep time-of-death sets */ -#define WT_STAT_CONN_DH_SWEEP_TOD 1290 +#define WT_STAT_CONN_DH_SWEEP_TOD 1289 /*! data-handle: connection sweeps */ -#define WT_STAT_CONN_DH_SWEEPS 1291 +#define WT_STAT_CONN_DH_SWEEPS 1290 /*! * data-handle: connection sweeps skipped due to checkpoint gathering * handles */ -#define WT_STAT_CONN_DH_SWEEP_SKIP_CKPT 1292 +#define WT_STAT_CONN_DH_SWEEP_SKIP_CKPT 1291 /*! data-handle: session dhandles swept */ -#define WT_STAT_CONN_DH_SESSION_HANDLES 1293 +#define WT_STAT_CONN_DH_SESSION_HANDLES 1292 /*! data-handle: session sweep attempts */ -#define WT_STAT_CONN_DH_SESSION_SWEEPS 1294 +#define WT_STAT_CONN_DH_SESSION_SWEEPS 1293 /*! lock: checkpoint lock acquisitions */ -#define WT_STAT_CONN_LOCK_CHECKPOINT_COUNT 1295 +#define WT_STAT_CONN_LOCK_CHECKPOINT_COUNT 1294 /*! lock: checkpoint lock application thread wait time (usecs) */ -#define WT_STAT_CONN_LOCK_CHECKPOINT_WAIT_APPLICATION 1296 +#define WT_STAT_CONN_LOCK_CHECKPOINT_WAIT_APPLICATION 1295 /*! lock: checkpoint lock internal thread wait time (usecs) */ -#define WT_STAT_CONN_LOCK_CHECKPOINT_WAIT_INTERNAL 1297 +#define WT_STAT_CONN_LOCK_CHECKPOINT_WAIT_INTERNAL 1296 /*! lock: dhandle lock application thread time waiting (usecs) */ -#define WT_STAT_CONN_LOCK_DHANDLE_WAIT_APPLICATION 1298 +#define WT_STAT_CONN_LOCK_DHANDLE_WAIT_APPLICATION 1297 /*! lock: dhandle lock internal thread time waiting (usecs) */ -#define WT_STAT_CONN_LOCK_DHANDLE_WAIT_INTERNAL 1299 +#define WT_STAT_CONN_LOCK_DHANDLE_WAIT_INTERNAL 1298 /*! lock: dhandle read lock acquisitions */ -#define WT_STAT_CONN_LOCK_DHANDLE_READ_COUNT 1300 +#define WT_STAT_CONN_LOCK_DHANDLE_READ_COUNT 1299 /*! lock: dhandle write lock acquisitions */ -#define WT_STAT_CONN_LOCK_DHANDLE_WRITE_COUNT 1301 +#define WT_STAT_CONN_LOCK_DHANDLE_WRITE_COUNT 1300 /*! * lock: durable timestamp queue lock application thread time waiting * (usecs) */ -#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_WAIT_APPLICATION 1302 +#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_WAIT_APPLICATION 1301 /*! * lock: durable timestamp queue lock internal thread time waiting * (usecs) */ -#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_WAIT_INTERNAL 1303 +#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_WAIT_INTERNAL 1302 /*! lock: durable timestamp queue read lock acquisitions */ -#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_READ_COUNT 1304 +#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_READ_COUNT 1303 /*! lock: durable timestamp queue write lock acquisitions */ -#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_WRITE_COUNT 1305 +#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_WRITE_COUNT 1304 /*! lock: metadata lock acquisitions */ -#define WT_STAT_CONN_LOCK_METADATA_COUNT 1306 +#define WT_STAT_CONN_LOCK_METADATA_COUNT 1305 /*! lock: metadata lock application thread wait time (usecs) */ -#define WT_STAT_CONN_LOCK_METADATA_WAIT_APPLICATION 1307 +#define WT_STAT_CONN_LOCK_METADATA_WAIT_APPLICATION 1306 /*! lock: metadata lock internal thread wait time (usecs) */ -#define WT_STAT_CONN_LOCK_METADATA_WAIT_INTERNAL 1308 +#define WT_STAT_CONN_LOCK_METADATA_WAIT_INTERNAL 1307 /*! * lock: read timestamp queue lock application thread time waiting * (usecs) */ -#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_WAIT_APPLICATION 1309 +#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_WAIT_APPLICATION 1308 /*! lock: read timestamp queue lock internal thread time waiting (usecs) */ -#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_WAIT_INTERNAL 1310 +#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_WAIT_INTERNAL 1309 /*! lock: read timestamp queue read lock acquisitions */ -#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_READ_COUNT 1311 +#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_READ_COUNT 1310 /*! lock: read timestamp queue write lock acquisitions */ -#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_WRITE_COUNT 1312 +#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_WRITE_COUNT 1311 /*! lock: schema lock acquisitions */ -#define WT_STAT_CONN_LOCK_SCHEMA_COUNT 1313 +#define WT_STAT_CONN_LOCK_SCHEMA_COUNT 1312 /*! lock: schema lock application thread wait time (usecs) */ -#define WT_STAT_CONN_LOCK_SCHEMA_WAIT_APPLICATION 1314 +#define WT_STAT_CONN_LOCK_SCHEMA_WAIT_APPLICATION 1313 /*! lock: schema lock internal thread wait time (usecs) */ -#define WT_STAT_CONN_LOCK_SCHEMA_WAIT_INTERNAL 1315 +#define WT_STAT_CONN_LOCK_SCHEMA_WAIT_INTERNAL 1314 /*! * lock: table lock application thread time waiting for the table lock * (usecs) */ -#define WT_STAT_CONN_LOCK_TABLE_WAIT_APPLICATION 1316 +#define WT_STAT_CONN_LOCK_TABLE_WAIT_APPLICATION 1315 /*! * lock: table lock internal thread time waiting for the table lock * (usecs) */ -#define WT_STAT_CONN_LOCK_TABLE_WAIT_INTERNAL 1317 +#define WT_STAT_CONN_LOCK_TABLE_WAIT_INTERNAL 1316 /*! lock: table read lock acquisitions */ -#define WT_STAT_CONN_LOCK_TABLE_READ_COUNT 1318 +#define WT_STAT_CONN_LOCK_TABLE_READ_COUNT 1317 /*! lock: table write lock acquisitions */ -#define WT_STAT_CONN_LOCK_TABLE_WRITE_COUNT 1319 +#define WT_STAT_CONN_LOCK_TABLE_WRITE_COUNT 1318 /*! lock: txn global lock application thread time waiting (usecs) */ -#define WT_STAT_CONN_LOCK_TXN_GLOBAL_WAIT_APPLICATION 1320 +#define WT_STAT_CONN_LOCK_TXN_GLOBAL_WAIT_APPLICATION 1319 /*! lock: txn global lock internal thread time waiting (usecs) */ -#define WT_STAT_CONN_LOCK_TXN_GLOBAL_WAIT_INTERNAL 1321 +#define WT_STAT_CONN_LOCK_TXN_GLOBAL_WAIT_INTERNAL 1320 /*! lock: txn global read lock acquisitions */ -#define WT_STAT_CONN_LOCK_TXN_GLOBAL_READ_COUNT 1322 +#define WT_STAT_CONN_LOCK_TXN_GLOBAL_READ_COUNT 1321 /*! lock: txn global write lock acquisitions */ -#define WT_STAT_CONN_LOCK_TXN_GLOBAL_WRITE_COUNT 1323 +#define WT_STAT_CONN_LOCK_TXN_GLOBAL_WRITE_COUNT 1322 /*! log: busy returns attempting to switch slots */ -#define WT_STAT_CONN_LOG_SLOT_SWITCH_BUSY 1324 +#define WT_STAT_CONN_LOG_SLOT_SWITCH_BUSY 1323 /*! log: force log remove time sleeping (usecs) */ -#define WT_STAT_CONN_LOG_FORCE_REMOVE_SLEEP 1325 +#define WT_STAT_CONN_LOG_FORCE_REMOVE_SLEEP 1324 /*! log: log bytes of payload data */ -#define WT_STAT_CONN_LOG_BYTES_PAYLOAD 1326 +#define WT_STAT_CONN_LOG_BYTES_PAYLOAD 1325 /*! log: log bytes written */ -#define WT_STAT_CONN_LOG_BYTES_WRITTEN 1327 +#define WT_STAT_CONN_LOG_BYTES_WRITTEN 1326 /*! log: log files manually zero-filled */ -#define WT_STAT_CONN_LOG_ZERO_FILLS 1328 +#define WT_STAT_CONN_LOG_ZERO_FILLS 1327 /*! log: log flush operations */ -#define WT_STAT_CONN_LOG_FLUSH 1329 +#define WT_STAT_CONN_LOG_FLUSH 1328 /*! log: log force write operations */ -#define WT_STAT_CONN_LOG_FORCE_WRITE 1330 +#define WT_STAT_CONN_LOG_FORCE_WRITE 1329 /*! log: log force write operations skipped */ -#define WT_STAT_CONN_LOG_FORCE_WRITE_SKIP 1331 +#define WT_STAT_CONN_LOG_FORCE_WRITE_SKIP 1330 /*! log: log records compressed */ -#define WT_STAT_CONN_LOG_COMPRESS_WRITES 1332 +#define WT_STAT_CONN_LOG_COMPRESS_WRITES 1331 /*! log: log records not compressed */ -#define WT_STAT_CONN_LOG_COMPRESS_WRITE_FAILS 1333 +#define WT_STAT_CONN_LOG_COMPRESS_WRITE_FAILS 1332 /*! log: log records too small to compress */ -#define WT_STAT_CONN_LOG_COMPRESS_SMALL 1334 +#define WT_STAT_CONN_LOG_COMPRESS_SMALL 1333 /*! log: log release advances write LSN */ -#define WT_STAT_CONN_LOG_RELEASE_WRITE_LSN 1335 +#define WT_STAT_CONN_LOG_RELEASE_WRITE_LSN 1334 /*! log: log scan operations */ -#define WT_STAT_CONN_LOG_SCANS 1336 +#define WT_STAT_CONN_LOG_SCANS 1335 /*! log: log scan records requiring two reads */ -#define WT_STAT_CONN_LOG_SCAN_REREADS 1337 +#define WT_STAT_CONN_LOG_SCAN_REREADS 1336 /*! log: log server thread advances write LSN */ -#define WT_STAT_CONN_LOG_WRITE_LSN 1338 +#define WT_STAT_CONN_LOG_WRITE_LSN 1337 /*! log: log server thread write LSN walk skipped */ -#define WT_STAT_CONN_LOG_WRITE_LSN_SKIP 1339 +#define WT_STAT_CONN_LOG_WRITE_LSN_SKIP 1338 /*! log: log sync operations */ -#define WT_STAT_CONN_LOG_SYNC 1340 +#define WT_STAT_CONN_LOG_SYNC 1339 /*! log: log sync time duration (usecs) */ -#define WT_STAT_CONN_LOG_SYNC_DURATION 1341 +#define WT_STAT_CONN_LOG_SYNC_DURATION 1340 /*! log: log sync_dir operations */ -#define WT_STAT_CONN_LOG_SYNC_DIR 1342 +#define WT_STAT_CONN_LOG_SYNC_DIR 1341 /*! log: log sync_dir time duration (usecs) */ -#define WT_STAT_CONN_LOG_SYNC_DIR_DURATION 1343 +#define WT_STAT_CONN_LOG_SYNC_DIR_DURATION 1342 /*! log: log write operations */ -#define WT_STAT_CONN_LOG_WRITES 1344 +#define WT_STAT_CONN_LOG_WRITES 1343 /*! log: logging bytes consolidated */ -#define WT_STAT_CONN_LOG_SLOT_CONSOLIDATED 1345 +#define WT_STAT_CONN_LOG_SLOT_CONSOLIDATED 1344 /*! log: maximum log file size */ -#define WT_STAT_CONN_LOG_MAX_FILESIZE 1346 +#define WT_STAT_CONN_LOG_MAX_FILESIZE 1345 /*! log: number of pre-allocated log files to create */ -#define WT_STAT_CONN_LOG_PREALLOC_MAX 1347 +#define WT_STAT_CONN_LOG_PREALLOC_MAX 1346 /*! log: pre-allocated log files not ready and missed */ -#define WT_STAT_CONN_LOG_PREALLOC_MISSED 1348 +#define WT_STAT_CONN_LOG_PREALLOC_MISSED 1347 /*! log: pre-allocated log files prepared */ -#define WT_STAT_CONN_LOG_PREALLOC_FILES 1349 +#define WT_STAT_CONN_LOG_PREALLOC_FILES 1348 /*! log: pre-allocated log files used */ -#define WT_STAT_CONN_LOG_PREALLOC_USED 1350 +#define WT_STAT_CONN_LOG_PREALLOC_USED 1349 /*! log: records processed by log scan */ -#define WT_STAT_CONN_LOG_SCAN_RECORDS 1351 +#define WT_STAT_CONN_LOG_SCAN_RECORDS 1350 /*! log: slot close lost race */ -#define WT_STAT_CONN_LOG_SLOT_CLOSE_RACE 1352 +#define WT_STAT_CONN_LOG_SLOT_CLOSE_RACE 1351 /*! log: slot close unbuffered waits */ -#define WT_STAT_CONN_LOG_SLOT_CLOSE_UNBUF 1353 +#define WT_STAT_CONN_LOG_SLOT_CLOSE_UNBUF 1352 /*! log: slot closures */ -#define WT_STAT_CONN_LOG_SLOT_CLOSES 1354 +#define WT_STAT_CONN_LOG_SLOT_CLOSES 1353 /*! log: slot join atomic update races */ -#define WT_STAT_CONN_LOG_SLOT_RACES 1355 +#define WT_STAT_CONN_LOG_SLOT_RACES 1354 /*! log: slot join calls atomic updates raced */ -#define WT_STAT_CONN_LOG_SLOT_YIELD_RACE 1356 +#define WT_STAT_CONN_LOG_SLOT_YIELD_RACE 1355 /*! log: slot join calls did not yield */ -#define WT_STAT_CONN_LOG_SLOT_IMMEDIATE 1357 +#define WT_STAT_CONN_LOG_SLOT_IMMEDIATE 1356 /*! log: slot join calls found active slot closed */ -#define WT_STAT_CONN_LOG_SLOT_YIELD_CLOSE 1358 +#define WT_STAT_CONN_LOG_SLOT_YIELD_CLOSE 1357 /*! log: slot join calls slept */ -#define WT_STAT_CONN_LOG_SLOT_YIELD_SLEEP 1359 +#define WT_STAT_CONN_LOG_SLOT_YIELD_SLEEP 1358 /*! log: slot join calls yielded */ -#define WT_STAT_CONN_LOG_SLOT_YIELD 1360 +#define WT_STAT_CONN_LOG_SLOT_YIELD 1359 /*! log: slot join found active slot closed */ -#define WT_STAT_CONN_LOG_SLOT_ACTIVE_CLOSED 1361 +#define WT_STAT_CONN_LOG_SLOT_ACTIVE_CLOSED 1360 /*! log: slot joins yield time (usecs) */ -#define WT_STAT_CONN_LOG_SLOT_YIELD_DURATION 1362 +#define WT_STAT_CONN_LOG_SLOT_YIELD_DURATION 1361 /*! log: slot transitions unable to find free slot */ -#define WT_STAT_CONN_LOG_SLOT_NO_FREE_SLOTS 1363 +#define WT_STAT_CONN_LOG_SLOT_NO_FREE_SLOTS 1362 /*! log: slot unbuffered writes */ -#define WT_STAT_CONN_LOG_SLOT_UNBUFFERED 1364 +#define WT_STAT_CONN_LOG_SLOT_UNBUFFERED 1363 /*! log: total in-memory size of compressed records */ -#define WT_STAT_CONN_LOG_COMPRESS_MEM 1365 +#define WT_STAT_CONN_LOG_COMPRESS_MEM 1364 /*! log: total log buffer size */ -#define WT_STAT_CONN_LOG_BUFFER_SIZE 1366 +#define WT_STAT_CONN_LOG_BUFFER_SIZE 1365 /*! log: total size of compressed records */ -#define WT_STAT_CONN_LOG_COMPRESS_LEN 1367 +#define WT_STAT_CONN_LOG_COMPRESS_LEN 1366 /*! log: written slots coalesced */ -#define WT_STAT_CONN_LOG_SLOT_COALESCED 1368 +#define WT_STAT_CONN_LOG_SLOT_COALESCED 1367 /*! log: yields waiting for previous log file close */ -#define WT_STAT_CONN_LOG_CLOSE_YIELDS 1369 +#define WT_STAT_CONN_LOG_CLOSE_YIELDS 1368 /*! perf: file system read latency histogram (bucket 1) - 10-49ms */ -#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT50 1370 +#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT50 1369 /*! perf: file system read latency histogram (bucket 2) - 50-99ms */ -#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT100 1371 +#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT100 1370 /*! perf: file system read latency histogram (bucket 3) - 100-249ms */ -#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT250 1372 +#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT250 1371 /*! perf: file system read latency histogram (bucket 4) - 250-499ms */ -#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT500 1373 +#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT500 1372 /*! perf: file system read latency histogram (bucket 5) - 500-999ms */ -#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT1000 1374 +#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT1000 1373 /*! perf: file system read latency histogram (bucket 6) - 1000ms+ */ -#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_GT1000 1375 +#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_GT1000 1374 /*! perf: file system write latency histogram (bucket 1) - 10-49ms */ -#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT50 1376 +#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT50 1375 /*! perf: file system write latency histogram (bucket 2) - 50-99ms */ -#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT100 1377 +#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT100 1376 /*! perf: file system write latency histogram (bucket 3) - 100-249ms */ -#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT250 1378 +#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT250 1377 /*! perf: file system write latency histogram (bucket 4) - 250-499ms */ -#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT500 1379 +#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT500 1378 /*! perf: file system write latency histogram (bucket 5) - 500-999ms */ -#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT1000 1380 +#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT1000 1379 /*! perf: file system write latency histogram (bucket 6) - 1000ms+ */ -#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_GT1000 1381 +#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_GT1000 1380 /*! perf: operation read latency histogram (bucket 1) - 100-249us */ -#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT250 1382 +#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT250 1381 /*! perf: operation read latency histogram (bucket 2) - 250-499us */ -#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT500 1383 +#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT500 1382 /*! perf: operation read latency histogram (bucket 3) - 500-999us */ -#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT1000 1384 +#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT1000 1383 /*! perf: operation read latency histogram (bucket 4) - 1000-9999us */ -#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT10000 1385 +#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT10000 1384 /*! perf: operation read latency histogram (bucket 5) - 10000us+ */ -#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_GT10000 1386 +#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_GT10000 1385 /*! perf: operation write latency histogram (bucket 1) - 100-249us */ -#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT250 1387 +#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT250 1386 /*! perf: operation write latency histogram (bucket 2) - 250-499us */ -#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT500 1388 +#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT500 1387 /*! perf: operation write latency histogram (bucket 3) - 500-999us */ -#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT1000 1389 +#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT1000 1388 /*! perf: operation write latency histogram (bucket 4) - 1000-9999us */ -#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT10000 1390 +#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT10000 1389 /*! perf: operation write latency histogram (bucket 5) - 10000us+ */ -#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_GT10000 1391 +#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_GT10000 1390 /*! reconciliation: approximate byte size of timestamps in pages written */ -#define WT_STAT_CONN_REC_TIME_WINDOW_BYTES_TS 1392 +#define WT_STAT_CONN_REC_TIME_WINDOW_BYTES_TS 1391 /*! * reconciliation: approximate byte size of transaction IDs in pages * written */ -#define WT_STAT_CONN_REC_TIME_WINDOW_BYTES_TXN 1393 +#define WT_STAT_CONN_REC_TIME_WINDOW_BYTES_TXN 1392 /*! reconciliation: fast-path pages deleted */ -#define WT_STAT_CONN_REC_PAGE_DELETE_FAST 1394 +#define WT_STAT_CONN_REC_PAGE_DELETE_FAST 1393 /*! reconciliation: leaf-page overflow keys */ -#define WT_STAT_CONN_REC_OVERFLOW_KEY_LEAF 1395 +#define WT_STAT_CONN_REC_OVERFLOW_KEY_LEAF 1394 /*! reconciliation: maximum seconds spent in a reconciliation call */ -#define WT_STAT_CONN_REC_MAXIMUM_SECONDS 1396 +#define WT_STAT_CONN_REC_MAXIMUM_SECONDS 1395 /*! reconciliation: page reconciliation calls */ -#define WT_STAT_CONN_REC_PAGES 1397 +#define WT_STAT_CONN_REC_PAGES 1396 /*! reconciliation: page reconciliation calls for eviction */ -#define WT_STAT_CONN_REC_PAGES_EVICTION 1398 +#define WT_STAT_CONN_REC_PAGES_EVICTION 1397 /*! * reconciliation: page reconciliation calls that resulted in values with * prepared transaction metadata */ -#define WT_STAT_CONN_REC_PAGES_WITH_PREPARE 1399 +#define WT_STAT_CONN_REC_PAGES_WITH_PREPARE 1398 /*! * reconciliation: page reconciliation calls that resulted in values with * timestamps */ -#define WT_STAT_CONN_REC_PAGES_WITH_TS 1400 +#define WT_STAT_CONN_REC_PAGES_WITH_TS 1399 /*! * reconciliation: page reconciliation calls that resulted in values with * transaction ids */ -#define WT_STAT_CONN_REC_PAGES_WITH_TXN 1401 +#define WT_STAT_CONN_REC_PAGES_WITH_TXN 1400 /*! reconciliation: pages deleted */ -#define WT_STAT_CONN_REC_PAGE_DELETE 1402 +#define WT_STAT_CONN_REC_PAGE_DELETE 1401 /*! * reconciliation: pages written including an aggregated newest start * durable timestamp */ -#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_START_DURABLE_TS 1403 +#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_START_DURABLE_TS 1402 /*! * reconciliation: pages written including an aggregated newest stop * durable timestamp */ -#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_STOP_DURABLE_TS 1404 +#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_STOP_DURABLE_TS 1403 /*! * reconciliation: pages written including an aggregated newest stop * timestamp */ -#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_STOP_TS 1405 +#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_STOP_TS 1404 /*! * reconciliation: pages written including an aggregated newest stop * transaction ID */ -#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_STOP_TXN 1406 +#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_STOP_TXN 1405 /*! * reconciliation: pages written including an aggregated newest * transaction ID */ -#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_TXN 1407 +#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_TXN 1406 /*! * reconciliation: pages written including an aggregated oldest start * timestamp */ -#define WT_STAT_CONN_REC_TIME_AGGR_OLDEST_START_TS 1408 +#define WT_STAT_CONN_REC_TIME_AGGR_OLDEST_START_TS 1407 /*! reconciliation: pages written including an aggregated prepare */ -#define WT_STAT_CONN_REC_TIME_AGGR_PREPARED 1409 +#define WT_STAT_CONN_REC_TIME_AGGR_PREPARED 1408 /*! reconciliation: pages written including at least one prepare state */ -#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_PREPARED 1410 +#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_PREPARED 1409 /*! * reconciliation: pages written including at least one start durable * timestamp */ -#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_DURABLE_START_TS 1411 +#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_DURABLE_START_TS 1410 /*! reconciliation: pages written including at least one start timestamp */ -#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_START_TS 1412 +#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_START_TS 1411 /*! * reconciliation: pages written including at least one start transaction * ID */ -#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_START_TXN 1413 +#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_START_TXN 1412 /*! * reconciliation: pages written including at least one stop durable * timestamp */ -#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_DURABLE_STOP_TS 1414 +#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_DURABLE_STOP_TS 1413 /*! reconciliation: pages written including at least one stop timestamp */ -#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_STOP_TS 1415 +#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_STOP_TS 1414 /*! * reconciliation: pages written including at least one stop transaction * ID */ -#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_STOP_TXN 1416 +#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_STOP_TXN 1415 /*! reconciliation: records written including a prepare state */ -#define WT_STAT_CONN_REC_TIME_WINDOW_PREPARED 1417 +#define WT_STAT_CONN_REC_TIME_WINDOW_PREPARED 1416 /*! reconciliation: records written including a start durable timestamp */ -#define WT_STAT_CONN_REC_TIME_WINDOW_DURABLE_START_TS 1418 +#define WT_STAT_CONN_REC_TIME_WINDOW_DURABLE_START_TS 1417 /*! reconciliation: records written including a start timestamp */ -#define WT_STAT_CONN_REC_TIME_WINDOW_START_TS 1419 +#define WT_STAT_CONN_REC_TIME_WINDOW_START_TS 1418 /*! reconciliation: records written including a start transaction ID */ -#define WT_STAT_CONN_REC_TIME_WINDOW_START_TXN 1420 +#define WT_STAT_CONN_REC_TIME_WINDOW_START_TXN 1419 /*! reconciliation: records written including a stop durable timestamp */ -#define WT_STAT_CONN_REC_TIME_WINDOW_DURABLE_STOP_TS 1421 +#define WT_STAT_CONN_REC_TIME_WINDOW_DURABLE_STOP_TS 1420 /*! reconciliation: records written including a stop timestamp */ -#define WT_STAT_CONN_REC_TIME_WINDOW_STOP_TS 1422 +#define WT_STAT_CONN_REC_TIME_WINDOW_STOP_TS 1421 /*! reconciliation: records written including a stop transaction ID */ -#define WT_STAT_CONN_REC_TIME_WINDOW_STOP_TXN 1423 +#define WT_STAT_CONN_REC_TIME_WINDOW_STOP_TXN 1422 /*! reconciliation: split bytes currently awaiting free */ -#define WT_STAT_CONN_REC_SPLIT_STASHED_BYTES 1424 +#define WT_STAT_CONN_REC_SPLIT_STASHED_BYTES 1423 /*! reconciliation: split objects currently awaiting free */ -#define WT_STAT_CONN_REC_SPLIT_STASHED_OBJECTS 1425 +#define WT_STAT_CONN_REC_SPLIT_STASHED_OBJECTS 1424 /*! session: attempts to remove a local object and the object is in use */ -#define WT_STAT_CONN_LOCAL_OBJECTS_INUSE 1426 +#define WT_STAT_CONN_LOCAL_OBJECTS_INUSE 1425 /*! session: flush_tier operation calls */ -#define WT_STAT_CONN_FLUSH_TIER 1427 +#define WT_STAT_CONN_FLUSH_TIER 1426 /*! session: flush_tier tables skipped due to no checkpoint */ -#define WT_STAT_CONN_FLUSH_TIER_SKIPPED 1428 +#define WT_STAT_CONN_FLUSH_TIER_SKIPPED 1427 /*! session: flush_tier tables switched */ -#define WT_STAT_CONN_FLUSH_TIER_SWITCHED 1429 +#define WT_STAT_CONN_FLUSH_TIER_SWITCHED 1428 /*! session: local objects removed */ -#define WT_STAT_CONN_LOCAL_OBJECTS_REMOVED 1430 +#define WT_STAT_CONN_LOCAL_OBJECTS_REMOVED 1429 /*! session: open session count */ -#define WT_STAT_CONN_SESSION_OPEN 1431 +#define WT_STAT_CONN_SESSION_OPEN 1430 /*! session: session query timestamp calls */ -#define WT_STAT_CONN_SESSION_QUERY_TS 1432 +#define WT_STAT_CONN_SESSION_QUERY_TS 1431 /*! session: table alter failed calls */ -#define WT_STAT_CONN_SESSION_TABLE_ALTER_FAIL 1433 +#define WT_STAT_CONN_SESSION_TABLE_ALTER_FAIL 1432 /*! session: table alter successful calls */ -#define WT_STAT_CONN_SESSION_TABLE_ALTER_SUCCESS 1434 +#define WT_STAT_CONN_SESSION_TABLE_ALTER_SUCCESS 1433 /*! session: table alter triggering checkpoint calls */ -#define WT_STAT_CONN_SESSION_TABLE_ALTER_TRIGGER_CHECKPOINT 1435 +#define WT_STAT_CONN_SESSION_TABLE_ALTER_TRIGGER_CHECKPOINT 1434 /*! session: table alter unchanged and skipped */ -#define WT_STAT_CONN_SESSION_TABLE_ALTER_SKIP 1436 +#define WT_STAT_CONN_SESSION_TABLE_ALTER_SKIP 1435 /*! session: table compact failed calls */ -#define WT_STAT_CONN_SESSION_TABLE_COMPACT_FAIL 1437 +#define WT_STAT_CONN_SESSION_TABLE_COMPACT_FAIL 1436 /*! session: table compact failed calls due to cache pressure */ -#define WT_STAT_CONN_SESSION_TABLE_COMPACT_FAIL_CACHE_PRESSURE 1438 +#define WT_STAT_CONN_SESSION_TABLE_COMPACT_FAIL_CACHE_PRESSURE 1437 /*! session: table compact running */ -#define WT_STAT_CONN_SESSION_TABLE_COMPACT_RUNNING 1439 +#define WT_STAT_CONN_SESSION_TABLE_COMPACT_RUNNING 1438 /*! session: table compact skipped as process would not reduce file size */ -#define WT_STAT_CONN_SESSION_TABLE_COMPACT_SKIPPED 1440 +#define WT_STAT_CONN_SESSION_TABLE_COMPACT_SKIPPED 1439 /*! session: table compact successful calls */ -#define WT_STAT_CONN_SESSION_TABLE_COMPACT_SUCCESS 1441 +#define WT_STAT_CONN_SESSION_TABLE_COMPACT_SUCCESS 1440 /*! session: table compact timeout */ -#define WT_STAT_CONN_SESSION_TABLE_COMPACT_TIMEOUT 1442 +#define WT_STAT_CONN_SESSION_TABLE_COMPACT_TIMEOUT 1441 /*! session: table create failed calls */ -#define WT_STAT_CONN_SESSION_TABLE_CREATE_FAIL 1443 +#define WT_STAT_CONN_SESSION_TABLE_CREATE_FAIL 1442 /*! session: table create successful calls */ -#define WT_STAT_CONN_SESSION_TABLE_CREATE_SUCCESS 1444 +#define WT_STAT_CONN_SESSION_TABLE_CREATE_SUCCESS 1443 /*! session: table create with import failed calls */ -#define WT_STAT_CONN_SESSION_TABLE_CREATE_IMPORT_FAIL 1445 +#define WT_STAT_CONN_SESSION_TABLE_CREATE_IMPORT_FAIL 1444 /*! session: table create with import successful calls */ -#define WT_STAT_CONN_SESSION_TABLE_CREATE_IMPORT_SUCCESS 1446 +#define WT_STAT_CONN_SESSION_TABLE_CREATE_IMPORT_SUCCESS 1445 /*! session: table drop failed calls */ -#define WT_STAT_CONN_SESSION_TABLE_DROP_FAIL 1447 +#define WT_STAT_CONN_SESSION_TABLE_DROP_FAIL 1446 /*! session: table drop successful calls */ -#define WT_STAT_CONN_SESSION_TABLE_DROP_SUCCESS 1448 +#define WT_STAT_CONN_SESSION_TABLE_DROP_SUCCESS 1447 /*! session: table rename failed calls */ -#define WT_STAT_CONN_SESSION_TABLE_RENAME_FAIL 1449 +#define WT_STAT_CONN_SESSION_TABLE_RENAME_FAIL 1448 /*! session: table rename successful calls */ -#define WT_STAT_CONN_SESSION_TABLE_RENAME_SUCCESS 1450 +#define WT_STAT_CONN_SESSION_TABLE_RENAME_SUCCESS 1449 /*! session: table salvage failed calls */ -#define WT_STAT_CONN_SESSION_TABLE_SALVAGE_FAIL 1451 +#define WT_STAT_CONN_SESSION_TABLE_SALVAGE_FAIL 1450 /*! session: table salvage successful calls */ -#define WT_STAT_CONN_SESSION_TABLE_SALVAGE_SUCCESS 1452 +#define WT_STAT_CONN_SESSION_TABLE_SALVAGE_SUCCESS 1451 /*! session: table truncate failed calls */ -#define WT_STAT_CONN_SESSION_TABLE_TRUNCATE_FAIL 1453 +#define WT_STAT_CONN_SESSION_TABLE_TRUNCATE_FAIL 1452 /*! session: table truncate successful calls */ -#define WT_STAT_CONN_SESSION_TABLE_TRUNCATE_SUCCESS 1454 +#define WT_STAT_CONN_SESSION_TABLE_TRUNCATE_SUCCESS 1453 /*! session: table verify failed calls */ -#define WT_STAT_CONN_SESSION_TABLE_VERIFY_FAIL 1455 +#define WT_STAT_CONN_SESSION_TABLE_VERIFY_FAIL 1454 /*! session: table verify successful calls */ -#define WT_STAT_CONN_SESSION_TABLE_VERIFY_SUCCESS 1456 +#define WT_STAT_CONN_SESSION_TABLE_VERIFY_SUCCESS 1455 /*! session: tiered operations dequeued and processed */ -#define WT_STAT_CONN_TIERED_WORK_UNITS_DEQUEUED 1457 +#define WT_STAT_CONN_TIERED_WORK_UNITS_DEQUEUED 1456 /*! session: tiered operations removed without processing */ -#define WT_STAT_CONN_TIERED_WORK_UNITS_REMOVED 1458 +#define WT_STAT_CONN_TIERED_WORK_UNITS_REMOVED 1457 /*! session: tiered operations scheduled */ -#define WT_STAT_CONN_TIERED_WORK_UNITS_CREATED 1459 +#define WT_STAT_CONN_TIERED_WORK_UNITS_CREATED 1458 /*! session: tiered storage local retention time (secs) */ -#define WT_STAT_CONN_TIERED_RETENTION 1460 +#define WT_STAT_CONN_TIERED_RETENTION 1459 /*! thread-state: active filesystem fsync calls */ -#define WT_STAT_CONN_THREAD_FSYNC_ACTIVE 1461 +#define WT_STAT_CONN_THREAD_FSYNC_ACTIVE 1460 /*! thread-state: active filesystem read calls */ -#define WT_STAT_CONN_THREAD_READ_ACTIVE 1462 +#define WT_STAT_CONN_THREAD_READ_ACTIVE 1461 /*! thread-state: active filesystem write calls */ -#define WT_STAT_CONN_THREAD_WRITE_ACTIVE 1463 +#define WT_STAT_CONN_THREAD_WRITE_ACTIVE 1462 /*! thread-yield: application thread time evicting (usecs) */ -#define WT_STAT_CONN_APPLICATION_EVICT_TIME 1464 +#define WT_STAT_CONN_APPLICATION_EVICT_TIME 1463 /*! thread-yield: application thread time waiting for cache (usecs) */ -#define WT_STAT_CONN_APPLICATION_CACHE_TIME 1465 +#define WT_STAT_CONN_APPLICATION_CACHE_TIME 1464 /*! * thread-yield: connection close blocked waiting for transaction state * stabilization */ -#define WT_STAT_CONN_TXN_RELEASE_BLOCKED 1466 +#define WT_STAT_CONN_TXN_RELEASE_BLOCKED 1465 /*! thread-yield: connection close yielded for lsm manager shutdown */ -#define WT_STAT_CONN_CONN_CLOSE_BLOCKED_LSM 1467 +#define WT_STAT_CONN_CONN_CLOSE_BLOCKED_LSM 1466 /*! thread-yield: data handle lock yielded */ -#define WT_STAT_CONN_DHANDLE_LOCK_BLOCKED 1468 +#define WT_STAT_CONN_DHANDLE_LOCK_BLOCKED 1467 /*! * thread-yield: get reference for page index and slot time sleeping * (usecs) */ -#define WT_STAT_CONN_PAGE_INDEX_SLOT_REF_BLOCKED 1469 +#define WT_STAT_CONN_PAGE_INDEX_SLOT_REF_BLOCKED 1468 /*! thread-yield: page access yielded due to prepare state change */ -#define WT_STAT_CONN_PREPARED_TRANSITION_BLOCKED_PAGE 1470 +#define WT_STAT_CONN_PREPARED_TRANSITION_BLOCKED_PAGE 1469 /*! thread-yield: page acquire busy blocked */ -#define WT_STAT_CONN_PAGE_BUSY_BLOCKED 1471 +#define WT_STAT_CONN_PAGE_BUSY_BLOCKED 1470 /*! thread-yield: page acquire eviction blocked */ -#define WT_STAT_CONN_PAGE_FORCIBLE_EVICT_BLOCKED 1472 +#define WT_STAT_CONN_PAGE_FORCIBLE_EVICT_BLOCKED 1471 /*! thread-yield: page acquire locked blocked */ -#define WT_STAT_CONN_PAGE_LOCKED_BLOCKED 1473 +#define WT_STAT_CONN_PAGE_LOCKED_BLOCKED 1472 /*! thread-yield: page acquire read blocked */ -#define WT_STAT_CONN_PAGE_READ_BLOCKED 1474 +#define WT_STAT_CONN_PAGE_READ_BLOCKED 1473 /*! thread-yield: page acquire time sleeping (usecs) */ -#define WT_STAT_CONN_PAGE_SLEEP 1475 +#define WT_STAT_CONN_PAGE_SLEEP 1474 /*! * thread-yield: page delete rollback time sleeping for state change * (usecs) */ -#define WT_STAT_CONN_PAGE_DEL_ROLLBACK_BLOCKED 1476 +#define WT_STAT_CONN_PAGE_DEL_ROLLBACK_BLOCKED 1475 /*! thread-yield: page reconciliation yielded due to child modification */ -#define WT_STAT_CONN_CHILD_MODIFY_BLOCKED_PAGE 1477 +#define WT_STAT_CONN_CHILD_MODIFY_BLOCKED_PAGE 1476 /*! transaction: Number of prepared updates */ -#define WT_STAT_CONN_TXN_PREPARED_UPDATES 1478 +#define WT_STAT_CONN_TXN_PREPARED_UPDATES 1477 /*! transaction: Number of prepared updates committed */ -#define WT_STAT_CONN_TXN_PREPARED_UPDATES_COMMITTED 1479 +#define WT_STAT_CONN_TXN_PREPARED_UPDATES_COMMITTED 1478 /*! transaction: Number of prepared updates repeated on the same key */ -#define WT_STAT_CONN_TXN_PREPARED_UPDATES_KEY_REPEATED 1480 +#define WT_STAT_CONN_TXN_PREPARED_UPDATES_KEY_REPEATED 1479 /*! transaction: Number of prepared updates rolled back */ -#define WT_STAT_CONN_TXN_PREPARED_UPDATES_ROLLEDBACK 1481 +#define WT_STAT_CONN_TXN_PREPARED_UPDATES_ROLLEDBACK 1480 /*! transaction: prepared transactions */ -#define WT_STAT_CONN_TXN_PREPARE 1482 +#define WT_STAT_CONN_TXN_PREPARE 1481 /*! transaction: prepared transactions committed */ -#define WT_STAT_CONN_TXN_PREPARE_COMMIT 1483 +#define WT_STAT_CONN_TXN_PREPARE_COMMIT 1482 /*! transaction: prepared transactions currently active */ -#define WT_STAT_CONN_TXN_PREPARE_ACTIVE 1484 +#define WT_STAT_CONN_TXN_PREPARE_ACTIVE 1483 /*! transaction: prepared transactions rolled back */ -#define WT_STAT_CONN_TXN_PREPARE_ROLLBACK 1485 +#define WT_STAT_CONN_TXN_PREPARE_ROLLBACK 1484 /*! transaction: query timestamp calls */ -#define WT_STAT_CONN_TXN_QUERY_TS 1486 +#define WT_STAT_CONN_TXN_QUERY_TS 1485 /*! transaction: race to read prepared update retry */ -#define WT_STAT_CONN_TXN_READ_RACE_PREPARE_UPDATE 1487 +#define WT_STAT_CONN_TXN_READ_RACE_PREPARE_UPDATE 1486 /*! transaction: rollback to stable calls */ -#define WT_STAT_CONN_TXN_RTS 1488 +#define WT_STAT_CONN_TXN_RTS 1487 /*! * 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 1489 +#define WT_STAT_CONN_TXN_RTS_HS_STOP_OLDER_THAN_NEWER_START 1488 /*! transaction: rollback to stable inconsistent checkpoint */ -#define WT_STAT_CONN_TXN_RTS_INCONSISTENT_CKPT 1490 +#define WT_STAT_CONN_TXN_RTS_INCONSISTENT_CKPT 1489 /*! transaction: rollback to stable keys removed */ -#define WT_STAT_CONN_TXN_RTS_KEYS_REMOVED 1491 +#define WT_STAT_CONN_TXN_RTS_KEYS_REMOVED 1490 /*! transaction: rollback to stable keys restored */ -#define WT_STAT_CONN_TXN_RTS_KEYS_RESTORED 1492 +#define WT_STAT_CONN_TXN_RTS_KEYS_RESTORED 1491 /*! transaction: rollback to stable pages visited */ -#define WT_STAT_CONN_TXN_RTS_PAGES_VISITED 1493 +#define WT_STAT_CONN_TXN_RTS_PAGES_VISITED 1492 /*! transaction: rollback to stable restored tombstones from history store */ -#define WT_STAT_CONN_TXN_RTS_HS_RESTORE_TOMBSTONES 1494 +#define WT_STAT_CONN_TXN_RTS_HS_RESTORE_TOMBSTONES 1493 /*! transaction: rollback to stable restored updates from history store */ -#define WT_STAT_CONN_TXN_RTS_HS_RESTORE_UPDATES 1495 +#define WT_STAT_CONN_TXN_RTS_HS_RESTORE_UPDATES 1494 /*! transaction: rollback to stable skipping delete rle */ -#define WT_STAT_CONN_TXN_RTS_DELETE_RLE_SKIPPED 1496 +#define WT_STAT_CONN_TXN_RTS_DELETE_RLE_SKIPPED 1495 /*! transaction: rollback to stable skipping stable rle */ -#define WT_STAT_CONN_TXN_RTS_STABLE_RLE_SKIPPED 1497 +#define WT_STAT_CONN_TXN_RTS_STABLE_RLE_SKIPPED 1496 /*! transaction: rollback to stable sweeping history store keys */ -#define WT_STAT_CONN_TXN_RTS_SWEEP_HS_KEYS 1498 +#define WT_STAT_CONN_TXN_RTS_SWEEP_HS_KEYS 1497 /*! transaction: rollback to stable tree walk skipping pages */ -#define WT_STAT_CONN_TXN_RTS_TREE_WALK_SKIP_PAGES 1499 +#define WT_STAT_CONN_TXN_RTS_TREE_WALK_SKIP_PAGES 1498 /*! transaction: rollback to stable updates aborted */ -#define WT_STAT_CONN_TXN_RTS_UPD_ABORTED 1500 +#define WT_STAT_CONN_TXN_RTS_UPD_ABORTED 1499 /*! transaction: rollback to stable updates removed from history store */ -#define WT_STAT_CONN_TXN_RTS_HS_REMOVED 1501 +#define WT_STAT_CONN_TXN_RTS_HS_REMOVED 1500 /*! transaction: sessions scanned in each walk of concurrent sessions */ -#define WT_STAT_CONN_TXN_SESSIONS_WALKED 1502 +#define WT_STAT_CONN_TXN_SESSIONS_WALKED 1501 /*! transaction: set timestamp calls */ -#define WT_STAT_CONN_TXN_SET_TS 1503 +#define WT_STAT_CONN_TXN_SET_TS 1502 /*! transaction: set timestamp durable calls */ -#define WT_STAT_CONN_TXN_SET_TS_DURABLE 1504 +#define WT_STAT_CONN_TXN_SET_TS_DURABLE 1503 /*! transaction: set timestamp durable updates */ -#define WT_STAT_CONN_TXN_SET_TS_DURABLE_UPD 1505 +#define WT_STAT_CONN_TXN_SET_TS_DURABLE_UPD 1504 /*! transaction: set timestamp oldest calls */ -#define WT_STAT_CONN_TXN_SET_TS_OLDEST 1506 +#define WT_STAT_CONN_TXN_SET_TS_OLDEST 1505 /*! transaction: set timestamp oldest updates */ -#define WT_STAT_CONN_TXN_SET_TS_OLDEST_UPD 1507 +#define WT_STAT_CONN_TXN_SET_TS_OLDEST_UPD 1506 /*! transaction: set timestamp stable calls */ -#define WT_STAT_CONN_TXN_SET_TS_STABLE 1508 +#define WT_STAT_CONN_TXN_SET_TS_STABLE 1507 /*! transaction: set timestamp stable updates */ -#define WT_STAT_CONN_TXN_SET_TS_STABLE_UPD 1509 +#define WT_STAT_CONN_TXN_SET_TS_STABLE_UPD 1508 /*! transaction: transaction begins */ -#define WT_STAT_CONN_TXN_BEGIN 1510 +#define WT_STAT_CONN_TXN_BEGIN 1509 /*! transaction: transaction checkpoint currently running */ -#define WT_STAT_CONN_TXN_CHECKPOINT_RUNNING 1511 +#define WT_STAT_CONN_TXN_CHECKPOINT_RUNNING 1510 /*! * transaction: transaction checkpoint currently running for history * store file */ -#define WT_STAT_CONN_TXN_CHECKPOINT_RUNNING_HS 1512 +#define WT_STAT_CONN_TXN_CHECKPOINT_RUNNING_HS 1511 /*! transaction: transaction checkpoint generation */ -#define WT_STAT_CONN_TXN_CHECKPOINT_GENERATION 1513 +#define WT_STAT_CONN_TXN_CHECKPOINT_GENERATION 1512 /*! * transaction: transaction checkpoint history store file duration * (usecs) */ -#define WT_STAT_CONN_TXN_HS_CKPT_DURATION 1514 +#define WT_STAT_CONN_TXN_HS_CKPT_DURATION 1513 /*! transaction: transaction checkpoint max time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MAX 1515 +#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MAX 1514 /*! transaction: transaction checkpoint min time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MIN 1516 +#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MIN 1515 /*! * transaction: transaction checkpoint most recent duration for gathering * all handles (usecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_DURATION 1517 +#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_DURATION 1516 /*! * transaction: transaction checkpoint most recent duration for gathering * applied handles (usecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_DURATION_APPLY 1518 +#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_DURATION_APPLY 1517 /*! * transaction: transaction checkpoint most recent duration for gathering * skipped handles (usecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_DURATION_SKIP 1519 +#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_DURATION_SKIP 1518 /*! transaction: transaction checkpoint most recent handles applied */ -#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_APPLIED 1520 +#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_APPLIED 1519 /*! transaction: transaction checkpoint most recent handles skipped */ -#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_SKIPPED 1521 +#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_SKIPPED 1520 /*! transaction: transaction checkpoint most recent handles walked */ -#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_WALKED 1522 +#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_WALKED 1521 /*! transaction: transaction checkpoint most recent time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_RECENT 1523 +#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_RECENT 1522 /*! transaction: transaction checkpoint prepare currently running */ -#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_RUNNING 1524 +#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_RUNNING 1523 /*! transaction: transaction checkpoint prepare max time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_MAX 1525 +#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_MAX 1524 /*! transaction: transaction checkpoint prepare min time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_MIN 1526 +#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_MIN 1525 /*! transaction: transaction checkpoint prepare most recent time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_RECENT 1527 +#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_RECENT 1526 /*! transaction: transaction checkpoint prepare total time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_TOTAL 1528 +#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_TOTAL 1527 /*! transaction: transaction checkpoint scrub dirty target */ -#define WT_STAT_CONN_TXN_CHECKPOINT_SCRUB_TARGET 1529 +#define WT_STAT_CONN_TXN_CHECKPOINT_SCRUB_TARGET 1528 /*! transaction: transaction checkpoint scrub time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_SCRUB_TIME 1530 +#define WT_STAT_CONN_TXN_CHECKPOINT_SCRUB_TIME 1529 /*! transaction: transaction checkpoint stop timing stress active */ -#define WT_STAT_CONN_TXN_CHECKPOINT_STOP_STRESS_ACTIVE 1531 +#define WT_STAT_CONN_TXN_CHECKPOINT_STOP_STRESS_ACTIVE 1530 /*! transaction: transaction checkpoint total time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_TOTAL 1532 +#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_TOTAL 1531 /*! transaction: transaction checkpoints */ -#define WT_STAT_CONN_TXN_CHECKPOINT 1533 +#define WT_STAT_CONN_TXN_CHECKPOINT 1532 /*! transaction: transaction checkpoints due to obsolete pages */ -#define WT_STAT_CONN_TXN_CHECKPOINT_OBSOLETE_APPLIED 1534 +#define WT_STAT_CONN_TXN_CHECKPOINT_OBSOLETE_APPLIED 1533 /*! * transaction: transaction checkpoints skipped because database was * clean */ -#define WT_STAT_CONN_TXN_CHECKPOINT_SKIPPED 1535 +#define WT_STAT_CONN_TXN_CHECKPOINT_SKIPPED 1534 /*! transaction: transaction failures due to history store */ -#define WT_STAT_CONN_TXN_FAIL_CACHE 1536 +#define WT_STAT_CONN_TXN_FAIL_CACHE 1535 /*! * transaction: transaction fsync calls for checkpoint after allocating * the transaction ID */ -#define WT_STAT_CONN_TXN_CHECKPOINT_FSYNC_POST 1537 +#define WT_STAT_CONN_TXN_CHECKPOINT_FSYNC_POST 1536 /*! * transaction: transaction fsync duration for checkpoint after * allocating the transaction ID (usecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_FSYNC_POST_DURATION 1538 +#define WT_STAT_CONN_TXN_CHECKPOINT_FSYNC_POST_DURATION 1537 /*! transaction: transaction range of IDs currently pinned */ -#define WT_STAT_CONN_TXN_PINNED_RANGE 1539 +#define WT_STAT_CONN_TXN_PINNED_RANGE 1538 /*! transaction: transaction range of IDs currently pinned by a checkpoint */ -#define WT_STAT_CONN_TXN_PINNED_CHECKPOINT_RANGE 1540 +#define WT_STAT_CONN_TXN_PINNED_CHECKPOINT_RANGE 1539 /*! transaction: transaction range of timestamps currently pinned */ -#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP 1541 +#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP 1540 /*! transaction: transaction range of timestamps pinned by a checkpoint */ -#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP_CHECKPOINT 1542 +#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP_CHECKPOINT 1541 /*! * transaction: transaction range of timestamps pinned by the oldest * active read timestamp */ -#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP_READER 1543 +#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP_READER 1542 /*! * transaction: transaction range of timestamps pinned by the oldest * timestamp */ -#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP_OLDEST 1544 +#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP_OLDEST 1543 /*! transaction: transaction read timestamp of the oldest active reader */ -#define WT_STAT_CONN_TXN_TIMESTAMP_OLDEST_ACTIVE_READ 1545 +#define WT_STAT_CONN_TXN_TIMESTAMP_OLDEST_ACTIVE_READ 1544 /*! transaction: transaction rollback to stable currently running */ -#define WT_STAT_CONN_TXN_ROLLBACK_TO_STABLE_RUNNING 1546 +#define WT_STAT_CONN_TXN_ROLLBACK_TO_STABLE_RUNNING 1545 /*! transaction: transaction walk of concurrent sessions */ -#define WT_STAT_CONN_TXN_WALK_SESSIONS 1547 +#define WT_STAT_CONN_TXN_WALK_SESSIONS 1546 /*! transaction: transactions committed */ -#define WT_STAT_CONN_TXN_COMMIT 1548 +#define WT_STAT_CONN_TXN_COMMIT 1547 /*! transaction: transactions rolled back */ -#define WT_STAT_CONN_TXN_ROLLBACK 1549 +#define WT_STAT_CONN_TXN_ROLLBACK 1548 /*! transaction: update conflicts */ -#define WT_STAT_CONN_TXN_UPDATE_CONFLICT 1550 +#define WT_STAT_CONN_TXN_UPDATE_CONFLICT 1549 /*! * @} @@ -6791,512 +6785,507 @@ extern int wiredtiger_extension_terminate(WT_CONNECTION *connection); * an update */ #define WT_STAT_DSRC_CACHE_HS_KEY_TRUNCATE_RTS 2080 -/*! - * cache: history store table truncation to remove all the keys of a - * btree - */ -#define WT_STAT_DSRC_CACHE_HS_BTREE_TRUNCATE 2081 /*! cache: history store table truncation to remove an update */ -#define WT_STAT_DSRC_CACHE_HS_KEY_TRUNCATE 2082 +#define WT_STAT_DSRC_CACHE_HS_KEY_TRUNCATE 2081 /*! * cache: history store table truncation to remove range of updates due * to an update without a timestamp on data page */ -#define WT_STAT_DSRC_CACHE_HS_ORDER_REMOVE 2083 +#define WT_STAT_DSRC_CACHE_HS_ORDER_REMOVE 2082 /*! * cache: history store table truncation to remove range of updates due * to key being removed from the data page during reconciliation */ -#define WT_STAT_DSRC_CACHE_HS_KEY_TRUNCATE_ONPAGE_REMOVAL 2084 +#define WT_STAT_DSRC_CACHE_HS_KEY_TRUNCATE_ONPAGE_REMOVAL 2083 /*! * cache: history store table updates without timestamps fixed up by * reinserting with the fixed timestamp */ -#define WT_STAT_DSRC_CACHE_HS_ORDER_REINSERT 2085 +#define WT_STAT_DSRC_CACHE_HS_ORDER_REINSERT 2084 /*! cache: history store table writes requiring squashed modifies */ -#define WT_STAT_DSRC_CACHE_HS_WRITE_SQUASH 2086 +#define WT_STAT_DSRC_CACHE_HS_WRITE_SQUASH 2085 /*! cache: in-memory page passed criteria to be split */ -#define WT_STAT_DSRC_CACHE_INMEM_SPLITTABLE 2087 +#define WT_STAT_DSRC_CACHE_INMEM_SPLITTABLE 2086 /*! cache: in-memory page splits */ -#define WT_STAT_DSRC_CACHE_INMEM_SPLIT 2088 +#define WT_STAT_DSRC_CACHE_INMEM_SPLIT 2087 /*! cache: internal pages evicted */ -#define WT_STAT_DSRC_CACHE_EVICTION_INTERNAL 2089 +#define WT_STAT_DSRC_CACHE_EVICTION_INTERNAL 2088 /*! cache: internal pages split during eviction */ -#define WT_STAT_DSRC_CACHE_EVICTION_SPLIT_INTERNAL 2090 +#define WT_STAT_DSRC_CACHE_EVICTION_SPLIT_INTERNAL 2089 /*! cache: leaf pages split during eviction */ -#define WT_STAT_DSRC_CACHE_EVICTION_SPLIT_LEAF 2091 +#define WT_STAT_DSRC_CACHE_EVICTION_SPLIT_LEAF 2090 /*! cache: modified pages evicted */ -#define WT_STAT_DSRC_CACHE_EVICTION_DIRTY 2092 +#define WT_STAT_DSRC_CACHE_EVICTION_DIRTY 2091 /*! cache: overflow pages read into cache */ -#define WT_STAT_DSRC_CACHE_READ_OVERFLOW 2093 +#define WT_STAT_DSRC_CACHE_READ_OVERFLOW 2092 /*! cache: page split during eviction deepened the tree */ -#define WT_STAT_DSRC_CACHE_EVICTION_DEEPEN 2094 +#define WT_STAT_DSRC_CACHE_EVICTION_DEEPEN 2093 /*! cache: page written requiring history store records */ -#define WT_STAT_DSRC_CACHE_WRITE_HS 2095 +#define WT_STAT_DSRC_CACHE_WRITE_HS 2094 /*! cache: pages read into cache */ -#define WT_STAT_DSRC_CACHE_READ 2096 +#define WT_STAT_DSRC_CACHE_READ 2095 /*! cache: pages read into cache after truncate */ -#define WT_STAT_DSRC_CACHE_READ_DELETED 2097 +#define WT_STAT_DSRC_CACHE_READ_DELETED 2096 /*! cache: pages read into cache after truncate in prepare state */ -#define WT_STAT_DSRC_CACHE_READ_DELETED_PREPARED 2098 +#define WT_STAT_DSRC_CACHE_READ_DELETED_PREPARED 2097 /*! cache: pages requested from the cache */ -#define WT_STAT_DSRC_CACHE_PAGES_REQUESTED 2099 +#define WT_STAT_DSRC_CACHE_PAGES_REQUESTED 2098 /*! cache: pages seen by eviction walk */ -#define WT_STAT_DSRC_CACHE_EVICTION_PAGES_SEEN 2100 +#define WT_STAT_DSRC_CACHE_EVICTION_PAGES_SEEN 2099 /*! cache: pages written from cache */ -#define WT_STAT_DSRC_CACHE_WRITE 2101 +#define WT_STAT_DSRC_CACHE_WRITE 2100 /*! cache: pages written requiring in-memory restoration */ -#define WT_STAT_DSRC_CACHE_WRITE_RESTORE 2102 +#define WT_STAT_DSRC_CACHE_WRITE_RESTORE 2101 /*! cache: the number of times full update inserted to history store */ -#define WT_STAT_DSRC_CACHE_HS_INSERT_FULL_UPDATE 2103 +#define WT_STAT_DSRC_CACHE_HS_INSERT_FULL_UPDATE 2102 /*! cache: the number of times reverse modify inserted to history store */ -#define WT_STAT_DSRC_CACHE_HS_INSERT_REVERSE_MODIFY 2104 +#define WT_STAT_DSRC_CACHE_HS_INSERT_REVERSE_MODIFY 2103 /*! cache: tracked dirty bytes in the cache */ -#define WT_STAT_DSRC_CACHE_BYTES_DIRTY 2105 +#define WT_STAT_DSRC_CACHE_BYTES_DIRTY 2104 /*! cache: unmodified pages evicted */ -#define WT_STAT_DSRC_CACHE_EVICTION_CLEAN 2106 +#define WT_STAT_DSRC_CACHE_EVICTION_CLEAN 2105 /*! * 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 2107 +#define WT_STAT_DSRC_CACHE_STATE_GEN_AVG_GAP 2106 /*! * 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 2108 +#define WT_STAT_DSRC_CACHE_STATE_AVG_WRITTEN_SIZE 2107 /*! * 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 2109 +#define WT_STAT_DSRC_CACHE_STATE_AVG_VISITED_AGE 2108 /*! * 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 2110 +#define WT_STAT_DSRC_CACHE_STATE_AVG_UNVISITED_AGE 2109 /*! * 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 2111 +#define WT_STAT_DSRC_CACHE_STATE_PAGES_CLEAN 2110 /*! * cache_walk: Current eviction generation, only reported if cache_walk * or all statistics are enabled */ -#define WT_STAT_DSRC_CACHE_STATE_GEN_CURRENT 2112 +#define WT_STAT_DSRC_CACHE_STATE_GEN_CURRENT 2111 /*! * 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 2113 +#define WT_STAT_DSRC_CACHE_STATE_PAGES_DIRTY 2112 /*! * 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 2114 +#define WT_STAT_DSRC_CACHE_STATE_ROOT_ENTRIES 2113 /*! * 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 2115 +#define WT_STAT_DSRC_CACHE_STATE_PAGES_INTERNAL 2114 /*! * 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 2116 +#define WT_STAT_DSRC_CACHE_STATE_PAGES_LEAF 2115 /*! * 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 2117 +#define WT_STAT_DSRC_CACHE_STATE_GEN_MAX_GAP 2116 /*! * cache_walk: Maximum page size seen, only reported if cache_walk or all * statistics are enabled */ -#define WT_STAT_DSRC_CACHE_STATE_MAX_PAGESIZE 2118 +#define WT_STAT_DSRC_CACHE_STATE_MAX_PAGESIZE 2117 /*! * 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 2119 +#define WT_STAT_DSRC_CACHE_STATE_MIN_WRITTEN_SIZE 2118 /*! * 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 2120 +#define WT_STAT_DSRC_CACHE_STATE_UNVISITED_COUNT 2119 /*! * 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 2121 +#define WT_STAT_DSRC_CACHE_STATE_SMALLER_ALLOC_SIZE 2120 /*! * 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 2122 +#define WT_STAT_DSRC_CACHE_STATE_MEMORY 2121 /*! * cache_walk: Pages currently queued for eviction, only reported if * cache_walk or all statistics are enabled */ -#define WT_STAT_DSRC_CACHE_STATE_QUEUED 2123 +#define WT_STAT_DSRC_CACHE_STATE_QUEUED 2122 /*! * 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 2124 +#define WT_STAT_DSRC_CACHE_STATE_NOT_QUEUEABLE 2123 /*! * 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 2125 +#define WT_STAT_DSRC_CACHE_STATE_REFS_SKIPPED 2124 /*! * 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 2126 +#define WT_STAT_DSRC_CACHE_STATE_ROOT_SIZE 2125 /*! * 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 2127 +#define WT_STAT_DSRC_CACHE_STATE_PAGES 2126 /*! checkpoint-cleanup: pages added for eviction */ -#define WT_STAT_DSRC_CC_PAGES_EVICT 2128 +#define WT_STAT_DSRC_CC_PAGES_EVICT 2127 /*! checkpoint-cleanup: pages removed */ -#define WT_STAT_DSRC_CC_PAGES_REMOVED 2129 +#define WT_STAT_DSRC_CC_PAGES_REMOVED 2128 /*! checkpoint-cleanup: pages skipped during tree walk */ -#define WT_STAT_DSRC_CC_PAGES_WALK_SKIPPED 2130 +#define WT_STAT_DSRC_CC_PAGES_WALK_SKIPPED 2129 /*! checkpoint-cleanup: pages visited */ -#define WT_STAT_DSRC_CC_PAGES_VISITED 2131 +#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 2132 +#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 2133 +#define WT_STAT_DSRC_COMPRESS_PRECOMP_LEAF_MAX_PAGE_SIZE 2132 /*! compression: compressed pages read */ -#define WT_STAT_DSRC_COMPRESS_READ 2134 +#define WT_STAT_DSRC_COMPRESS_READ 2133 /*! compression: compressed pages written */ -#define WT_STAT_DSRC_COMPRESS_WRITE 2135 +#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 2136 +#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 2137 +#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 2138 +#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 2139 +#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 2140 +#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 2141 +#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 2142 +#define WT_STAT_DSRC_COMPRESS_HIST_RATIO_8 2141 /*! compression: page written failed to compress */ -#define WT_STAT_DSRC_COMPRESS_WRITE_FAIL 2143 +#define WT_STAT_DSRC_COMPRESS_WRITE_FAIL 2142 /*! compression: page written was too small to compress */ -#define WT_STAT_DSRC_COMPRESS_WRITE_TOO_SMALL 2144 +#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 2145 +#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 2146 +#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 2147 +#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 2148 +#define WT_STAT_DSRC_CURSOR_SEARCH_NEAR_PREFIX_FAST_PATHS 2147 /*! * 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 2149 +#define WT_STAT_DSRC_CURSOR_REPOSITION_FAILED 2148 /*! * cursor: Total number of times cursor temporarily releases pinned page * to encourage eviction of hot or large page */ -#define WT_STAT_DSRC_CURSOR_REPOSITION 2150 +#define WT_STAT_DSRC_CURSOR_REPOSITION 2149 /*! cursor: bulk loaded cursor insert calls */ -#define WT_STAT_DSRC_CURSOR_INSERT_BULK 2151 +#define WT_STAT_DSRC_CURSOR_INSERT_BULK 2150 /*! cursor: cache cursors reuse count */ -#define WT_STAT_DSRC_CURSOR_REOPEN 2152 +#define WT_STAT_DSRC_CURSOR_REOPEN 2151 /*! cursor: close calls that result in cache */ -#define WT_STAT_DSRC_CURSOR_CACHE 2153 +#define WT_STAT_DSRC_CURSOR_CACHE 2152 /*! cursor: create calls */ -#define WT_STAT_DSRC_CURSOR_CREATE 2154 +#define WT_STAT_DSRC_CURSOR_CREATE 2153 /*! cursor: cursor bound calls that return an error */ -#define WT_STAT_DSRC_CURSOR_BOUND_ERROR 2155 +#define WT_STAT_DSRC_CURSOR_BOUND_ERROR 2154 /*! cursor: cursor bounds cleared from reset */ -#define WT_STAT_DSRC_CURSOR_BOUNDS_RESET 2156 +#define WT_STAT_DSRC_CURSOR_BOUNDS_RESET 2155 /*! cursor: cursor bounds next called on an unpositioned cursor */ -#define WT_STAT_DSRC_CURSOR_BOUNDS_NEXT_UNPOSITIONED 2157 +#define WT_STAT_DSRC_CURSOR_BOUNDS_NEXT_UNPOSITIONED 2156 /*! cursor: cursor bounds next early exit */ -#define WT_STAT_DSRC_CURSOR_BOUNDS_NEXT_EARLY_EXIT 2158 +#define WT_STAT_DSRC_CURSOR_BOUNDS_NEXT_EARLY_EXIT 2157 /*! cursor: cursor bounds prev called on an unpositioned cursor */ -#define WT_STAT_DSRC_CURSOR_BOUNDS_PREV_UNPOSITIONED 2159 +#define WT_STAT_DSRC_CURSOR_BOUNDS_PREV_UNPOSITIONED 2158 /*! cursor: cursor bounds prev early exit */ -#define WT_STAT_DSRC_CURSOR_BOUNDS_PREV_EARLY_EXIT 2160 +#define WT_STAT_DSRC_CURSOR_BOUNDS_PREV_EARLY_EXIT 2159 /*! cursor: cursor bounds search early exit */ -#define WT_STAT_DSRC_CURSOR_BOUNDS_SEARCH_EARLY_EXIT 2161 +#define WT_STAT_DSRC_CURSOR_BOUNDS_SEARCH_EARLY_EXIT 2160 /*! cursor: cursor bounds search near call repositioned cursor */ -#define WT_STAT_DSRC_CURSOR_BOUNDS_SEARCH_NEAR_REPOSITIONED_CURSOR 2162 +#define WT_STAT_DSRC_CURSOR_BOUNDS_SEARCH_NEAR_REPOSITIONED_CURSOR 2161 /*! cursor: cursor cache calls that return an error */ -#define WT_STAT_DSRC_CURSOR_CACHE_ERROR 2163 +#define WT_STAT_DSRC_CURSOR_CACHE_ERROR 2162 /*! cursor: cursor close calls that return an error */ -#define WT_STAT_DSRC_CURSOR_CLOSE_ERROR 2164 +#define WT_STAT_DSRC_CURSOR_CLOSE_ERROR 2163 /*! cursor: cursor compare calls that return an error */ -#define WT_STAT_DSRC_CURSOR_COMPARE_ERROR 2165 +#define WT_STAT_DSRC_CURSOR_COMPARE_ERROR 2164 /*! cursor: cursor equals calls that return an error */ -#define WT_STAT_DSRC_CURSOR_EQUALS_ERROR 2166 +#define WT_STAT_DSRC_CURSOR_EQUALS_ERROR 2165 /*! cursor: cursor get key calls that return an error */ -#define WT_STAT_DSRC_CURSOR_GET_KEY_ERROR 2167 +#define WT_STAT_DSRC_CURSOR_GET_KEY_ERROR 2166 /*! cursor: cursor get value calls that return an error */ -#define WT_STAT_DSRC_CURSOR_GET_VALUE_ERROR 2168 +#define WT_STAT_DSRC_CURSOR_GET_VALUE_ERROR 2167 /*! cursor: cursor insert calls that return an error */ -#define WT_STAT_DSRC_CURSOR_INSERT_ERROR 2169 +#define WT_STAT_DSRC_CURSOR_INSERT_ERROR 2168 /*! cursor: cursor insert check calls that return an error */ -#define WT_STAT_DSRC_CURSOR_INSERT_CHECK_ERROR 2170 +#define WT_STAT_DSRC_CURSOR_INSERT_CHECK_ERROR 2169 /*! cursor: cursor largest key calls that return an error */ -#define WT_STAT_DSRC_CURSOR_LARGEST_KEY_ERROR 2171 +#define WT_STAT_DSRC_CURSOR_LARGEST_KEY_ERROR 2170 /*! cursor: cursor modify calls that return an error */ -#define WT_STAT_DSRC_CURSOR_MODIFY_ERROR 2172 +#define WT_STAT_DSRC_CURSOR_MODIFY_ERROR 2171 /*! cursor: cursor next calls that return an error */ -#define WT_STAT_DSRC_CURSOR_NEXT_ERROR 2173 +#define WT_STAT_DSRC_CURSOR_NEXT_ERROR 2172 /*! * cursor: cursor next calls that skip due to a globally visible history * store tombstone */ -#define WT_STAT_DSRC_CURSOR_NEXT_HS_TOMBSTONE 2174 +#define WT_STAT_DSRC_CURSOR_NEXT_HS_TOMBSTONE 2173 /*! * cursor: cursor next calls that skip greater than or equal to 100 * entries */ -#define WT_STAT_DSRC_CURSOR_NEXT_SKIP_GE_100 2175 +#define WT_STAT_DSRC_CURSOR_NEXT_SKIP_GE_100 2174 /*! cursor: cursor next calls that skip less than 100 entries */ -#define WT_STAT_DSRC_CURSOR_NEXT_SKIP_LT_100 2176 +#define WT_STAT_DSRC_CURSOR_NEXT_SKIP_LT_100 2175 /*! cursor: cursor next random calls that return an error */ -#define WT_STAT_DSRC_CURSOR_NEXT_RANDOM_ERROR 2177 +#define WT_STAT_DSRC_CURSOR_NEXT_RANDOM_ERROR 2176 /*! cursor: cursor prev calls that return an error */ -#define WT_STAT_DSRC_CURSOR_PREV_ERROR 2178 +#define WT_STAT_DSRC_CURSOR_PREV_ERROR 2177 /*! * cursor: cursor prev calls that skip due to a globally visible history * store tombstone */ -#define WT_STAT_DSRC_CURSOR_PREV_HS_TOMBSTONE 2179 +#define WT_STAT_DSRC_CURSOR_PREV_HS_TOMBSTONE 2178 /*! * cursor: cursor prev calls that skip greater than or equal to 100 * entries */ -#define WT_STAT_DSRC_CURSOR_PREV_SKIP_GE_100 2180 +#define WT_STAT_DSRC_CURSOR_PREV_SKIP_GE_100 2179 /*! cursor: cursor prev calls that skip less than 100 entries */ -#define WT_STAT_DSRC_CURSOR_PREV_SKIP_LT_100 2181 +#define WT_STAT_DSRC_CURSOR_PREV_SKIP_LT_100 2180 /*! cursor: cursor reconfigure calls that return an error */ -#define WT_STAT_DSRC_CURSOR_RECONFIGURE_ERROR 2182 +#define WT_STAT_DSRC_CURSOR_RECONFIGURE_ERROR 2181 /*! cursor: cursor remove calls that return an error */ -#define WT_STAT_DSRC_CURSOR_REMOVE_ERROR 2183 +#define WT_STAT_DSRC_CURSOR_REMOVE_ERROR 2182 /*! cursor: cursor reopen calls that return an error */ -#define WT_STAT_DSRC_CURSOR_REOPEN_ERROR 2184 +#define WT_STAT_DSRC_CURSOR_REOPEN_ERROR 2183 /*! cursor: cursor reserve calls that return an error */ -#define WT_STAT_DSRC_CURSOR_RESERVE_ERROR 2185 +#define WT_STAT_DSRC_CURSOR_RESERVE_ERROR 2184 /*! cursor: cursor reset calls that return an error */ -#define WT_STAT_DSRC_CURSOR_RESET_ERROR 2186 +#define WT_STAT_DSRC_CURSOR_RESET_ERROR 2185 /*! cursor: cursor search calls that return an error */ -#define WT_STAT_DSRC_CURSOR_SEARCH_ERROR 2187 +#define WT_STAT_DSRC_CURSOR_SEARCH_ERROR 2186 /*! cursor: cursor search near calls that return an error */ -#define WT_STAT_DSRC_CURSOR_SEARCH_NEAR_ERROR 2188 +#define WT_STAT_DSRC_CURSOR_SEARCH_NEAR_ERROR 2187 /*! cursor: cursor update calls that return an error */ -#define WT_STAT_DSRC_CURSOR_UPDATE_ERROR 2189 +#define WT_STAT_DSRC_CURSOR_UPDATE_ERROR 2188 /*! cursor: insert calls */ -#define WT_STAT_DSRC_CURSOR_INSERT 2190 +#define WT_STAT_DSRC_CURSOR_INSERT 2189 /*! cursor: insert key and value bytes */ -#define WT_STAT_DSRC_CURSOR_INSERT_BYTES 2191 +#define WT_STAT_DSRC_CURSOR_INSERT_BYTES 2190 /*! cursor: modify */ -#define WT_STAT_DSRC_CURSOR_MODIFY 2192 +#define WT_STAT_DSRC_CURSOR_MODIFY 2191 /*! cursor: modify key and value bytes affected */ -#define WT_STAT_DSRC_CURSOR_MODIFY_BYTES 2193 +#define WT_STAT_DSRC_CURSOR_MODIFY_BYTES 2192 /*! cursor: modify value bytes modified */ -#define WT_STAT_DSRC_CURSOR_MODIFY_BYTES_TOUCH 2194 +#define WT_STAT_DSRC_CURSOR_MODIFY_BYTES_TOUCH 2193 /*! cursor: next calls */ -#define WT_STAT_DSRC_CURSOR_NEXT 2195 +#define WT_STAT_DSRC_CURSOR_NEXT 2194 /*! cursor: open cursor count */ -#define WT_STAT_DSRC_CURSOR_OPEN_COUNT 2196 +#define WT_STAT_DSRC_CURSOR_OPEN_COUNT 2195 /*! cursor: operation restarted */ -#define WT_STAT_DSRC_CURSOR_RESTART 2197 +#define WT_STAT_DSRC_CURSOR_RESTART 2196 /*! cursor: prev calls */ -#define WT_STAT_DSRC_CURSOR_PREV 2198 +#define WT_STAT_DSRC_CURSOR_PREV 2197 /*! cursor: remove calls */ -#define WT_STAT_DSRC_CURSOR_REMOVE 2199 +#define WT_STAT_DSRC_CURSOR_REMOVE 2198 /*! cursor: remove key bytes removed */ -#define WT_STAT_DSRC_CURSOR_REMOVE_BYTES 2200 +#define WT_STAT_DSRC_CURSOR_REMOVE_BYTES 2199 /*! cursor: reserve calls */ -#define WT_STAT_DSRC_CURSOR_RESERVE 2201 +#define WT_STAT_DSRC_CURSOR_RESERVE 2200 /*! cursor: reset calls */ -#define WT_STAT_DSRC_CURSOR_RESET 2202 +#define WT_STAT_DSRC_CURSOR_RESET 2201 /*! cursor: search calls */ -#define WT_STAT_DSRC_CURSOR_SEARCH 2203 +#define WT_STAT_DSRC_CURSOR_SEARCH 2202 /*! cursor: search history store calls */ -#define WT_STAT_DSRC_CURSOR_SEARCH_HS 2204 +#define WT_STAT_DSRC_CURSOR_SEARCH_HS 2203 /*! cursor: search near calls */ -#define WT_STAT_DSRC_CURSOR_SEARCH_NEAR 2205 +#define WT_STAT_DSRC_CURSOR_SEARCH_NEAR 2204 /*! cursor: truncate calls */ -#define WT_STAT_DSRC_CURSOR_TRUNCATE 2206 +#define WT_STAT_DSRC_CURSOR_TRUNCATE 2205 /*! cursor: update calls */ -#define WT_STAT_DSRC_CURSOR_UPDATE 2207 +#define WT_STAT_DSRC_CURSOR_UPDATE 2206 /*! cursor: update key and value bytes */ -#define WT_STAT_DSRC_CURSOR_UPDATE_BYTES 2208 +#define WT_STAT_DSRC_CURSOR_UPDATE_BYTES 2207 /*! cursor: update value size change */ -#define WT_STAT_DSRC_CURSOR_UPDATE_BYTES_CHANGED 2209 +#define WT_STAT_DSRC_CURSOR_UPDATE_BYTES_CHANGED 2208 /*! reconciliation: approximate byte size of timestamps in pages written */ -#define WT_STAT_DSRC_REC_TIME_WINDOW_BYTES_TS 2210 +#define WT_STAT_DSRC_REC_TIME_WINDOW_BYTES_TS 2209 /*! * reconciliation: approximate byte size of transaction IDs in pages * written */ -#define WT_STAT_DSRC_REC_TIME_WINDOW_BYTES_TXN 2211 +#define WT_STAT_DSRC_REC_TIME_WINDOW_BYTES_TXN 2210 /*! reconciliation: dictionary matches */ -#define WT_STAT_DSRC_REC_DICTIONARY 2212 +#define WT_STAT_DSRC_REC_DICTIONARY 2211 /*! reconciliation: fast-path pages deleted */ -#define WT_STAT_DSRC_REC_PAGE_DELETE_FAST 2213 +#define WT_STAT_DSRC_REC_PAGE_DELETE_FAST 2212 /*! * reconciliation: internal page key bytes discarded using suffix * compression */ -#define WT_STAT_DSRC_REC_SUFFIX_COMPRESSION 2214 +#define WT_STAT_DSRC_REC_SUFFIX_COMPRESSION 2213 /*! reconciliation: internal page multi-block writes */ -#define WT_STAT_DSRC_REC_MULTIBLOCK_INTERNAL 2215 +#define WT_STAT_DSRC_REC_MULTIBLOCK_INTERNAL 2214 /*! reconciliation: leaf page key bytes discarded using prefix compression */ -#define WT_STAT_DSRC_REC_PREFIX_COMPRESSION 2216 +#define WT_STAT_DSRC_REC_PREFIX_COMPRESSION 2215 /*! reconciliation: leaf page multi-block writes */ -#define WT_STAT_DSRC_REC_MULTIBLOCK_LEAF 2217 +#define WT_STAT_DSRC_REC_MULTIBLOCK_LEAF 2216 /*! reconciliation: leaf-page overflow keys */ -#define WT_STAT_DSRC_REC_OVERFLOW_KEY_LEAF 2218 +#define WT_STAT_DSRC_REC_OVERFLOW_KEY_LEAF 2217 /*! reconciliation: maximum blocks required for a page */ -#define WT_STAT_DSRC_REC_MULTIBLOCK_MAX 2219 +#define WT_STAT_DSRC_REC_MULTIBLOCK_MAX 2218 /*! reconciliation: overflow values written */ -#define WT_STAT_DSRC_REC_OVERFLOW_VALUE 2220 +#define WT_STAT_DSRC_REC_OVERFLOW_VALUE 2219 /*! reconciliation: page checksum matches */ -#define WT_STAT_DSRC_REC_PAGE_MATCH 2221 +#define WT_STAT_DSRC_REC_PAGE_MATCH 2220 /*! reconciliation: page reconciliation calls */ -#define WT_STAT_DSRC_REC_PAGES 2222 +#define WT_STAT_DSRC_REC_PAGES 2221 /*! reconciliation: page reconciliation calls for eviction */ -#define WT_STAT_DSRC_REC_PAGES_EVICTION 2223 +#define WT_STAT_DSRC_REC_PAGES_EVICTION 2222 /*! reconciliation: pages deleted */ -#define WT_STAT_DSRC_REC_PAGE_DELETE 2224 +#define WT_STAT_DSRC_REC_PAGE_DELETE 2223 /*! * reconciliation: pages written including an aggregated newest start * durable timestamp */ -#define WT_STAT_DSRC_REC_TIME_AGGR_NEWEST_START_DURABLE_TS 2225 +#define WT_STAT_DSRC_REC_TIME_AGGR_NEWEST_START_DURABLE_TS 2224 /*! * reconciliation: pages written including an aggregated newest stop * durable timestamp */ -#define WT_STAT_DSRC_REC_TIME_AGGR_NEWEST_STOP_DURABLE_TS 2226 +#define WT_STAT_DSRC_REC_TIME_AGGR_NEWEST_STOP_DURABLE_TS 2225 /*! * reconciliation: pages written including an aggregated newest stop * timestamp */ -#define WT_STAT_DSRC_REC_TIME_AGGR_NEWEST_STOP_TS 2227 +#define WT_STAT_DSRC_REC_TIME_AGGR_NEWEST_STOP_TS 2226 /*! * reconciliation: pages written including an aggregated newest stop * transaction ID */ -#define WT_STAT_DSRC_REC_TIME_AGGR_NEWEST_STOP_TXN 2228 +#define WT_STAT_DSRC_REC_TIME_AGGR_NEWEST_STOP_TXN 2227 /*! * reconciliation: pages written including an aggregated newest * transaction ID */ -#define WT_STAT_DSRC_REC_TIME_AGGR_NEWEST_TXN 2229 +#define WT_STAT_DSRC_REC_TIME_AGGR_NEWEST_TXN 2228 /*! * reconciliation: pages written including an aggregated oldest start * timestamp */ -#define WT_STAT_DSRC_REC_TIME_AGGR_OLDEST_START_TS 2230 +#define WT_STAT_DSRC_REC_TIME_AGGR_OLDEST_START_TS 2229 /*! reconciliation: pages written including an aggregated prepare */ -#define WT_STAT_DSRC_REC_TIME_AGGR_PREPARED 2231 +#define WT_STAT_DSRC_REC_TIME_AGGR_PREPARED 2230 /*! reconciliation: pages written including at least one prepare */ -#define WT_STAT_DSRC_REC_TIME_WINDOW_PAGES_PREPARED 2232 +#define WT_STAT_DSRC_REC_TIME_WINDOW_PAGES_PREPARED 2231 /*! * reconciliation: pages written including at least one start durable * timestamp */ -#define WT_STAT_DSRC_REC_TIME_WINDOW_PAGES_DURABLE_START_TS 2233 +#define WT_STAT_DSRC_REC_TIME_WINDOW_PAGES_DURABLE_START_TS 2232 /*! reconciliation: pages written including at least one start timestamp */ -#define WT_STAT_DSRC_REC_TIME_WINDOW_PAGES_START_TS 2234 +#define WT_STAT_DSRC_REC_TIME_WINDOW_PAGES_START_TS 2233 /*! * reconciliation: pages written including at least one start transaction * ID */ -#define WT_STAT_DSRC_REC_TIME_WINDOW_PAGES_START_TXN 2235 +#define WT_STAT_DSRC_REC_TIME_WINDOW_PAGES_START_TXN 2234 /*! * reconciliation: pages written including at least one stop durable * timestamp */ -#define WT_STAT_DSRC_REC_TIME_WINDOW_PAGES_DURABLE_STOP_TS 2236 +#define WT_STAT_DSRC_REC_TIME_WINDOW_PAGES_DURABLE_STOP_TS 2235 /*! reconciliation: pages written including at least one stop timestamp */ -#define WT_STAT_DSRC_REC_TIME_WINDOW_PAGES_STOP_TS 2237 +#define WT_STAT_DSRC_REC_TIME_WINDOW_PAGES_STOP_TS 2236 /*! * reconciliation: pages written including at least one stop transaction * ID */ -#define WT_STAT_DSRC_REC_TIME_WINDOW_PAGES_STOP_TXN 2238 +#define WT_STAT_DSRC_REC_TIME_WINDOW_PAGES_STOP_TXN 2237 /*! reconciliation: records written including a prepare */ -#define WT_STAT_DSRC_REC_TIME_WINDOW_PREPARED 2239 +#define WT_STAT_DSRC_REC_TIME_WINDOW_PREPARED 2238 /*! reconciliation: records written including a start durable timestamp */ -#define WT_STAT_DSRC_REC_TIME_WINDOW_DURABLE_START_TS 2240 +#define WT_STAT_DSRC_REC_TIME_WINDOW_DURABLE_START_TS 2239 /*! reconciliation: records written including a start timestamp */ -#define WT_STAT_DSRC_REC_TIME_WINDOW_START_TS 2241 +#define WT_STAT_DSRC_REC_TIME_WINDOW_START_TS 2240 /*! reconciliation: records written including a start transaction ID */ -#define WT_STAT_DSRC_REC_TIME_WINDOW_START_TXN 2242 +#define WT_STAT_DSRC_REC_TIME_WINDOW_START_TXN 2241 /*! reconciliation: records written including a stop durable timestamp */ -#define WT_STAT_DSRC_REC_TIME_WINDOW_DURABLE_STOP_TS 2243 +#define WT_STAT_DSRC_REC_TIME_WINDOW_DURABLE_STOP_TS 2242 /*! reconciliation: records written including a stop timestamp */ -#define WT_STAT_DSRC_REC_TIME_WINDOW_STOP_TS 2244 +#define WT_STAT_DSRC_REC_TIME_WINDOW_STOP_TS 2243 /*! reconciliation: records written including a stop transaction ID */ -#define WT_STAT_DSRC_REC_TIME_WINDOW_STOP_TXN 2245 +#define WT_STAT_DSRC_REC_TIME_WINDOW_STOP_TXN 2244 /*! session: object compaction */ -#define WT_STAT_DSRC_SESSION_COMPACT 2246 +#define WT_STAT_DSRC_SESSION_COMPACT 2245 /*! transaction: race to read prepared update retry */ -#define WT_STAT_DSRC_TXN_READ_RACE_PREPARE_UPDATE 2247 +#define WT_STAT_DSRC_TXN_READ_RACE_PREPARE_UPDATE 2246 /*! * 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 2248 +#define WT_STAT_DSRC_TXN_RTS_HS_STOP_OLDER_THAN_NEWER_START 2247 /*! transaction: rollback to stable inconsistent checkpoint */ -#define WT_STAT_DSRC_TXN_RTS_INCONSISTENT_CKPT 2249 +#define WT_STAT_DSRC_TXN_RTS_INCONSISTENT_CKPT 2248 /*! transaction: rollback to stable keys removed */ -#define WT_STAT_DSRC_TXN_RTS_KEYS_REMOVED 2250 +#define WT_STAT_DSRC_TXN_RTS_KEYS_REMOVED 2249 /*! transaction: rollback to stable keys restored */ -#define WT_STAT_DSRC_TXN_RTS_KEYS_RESTORED 2251 +#define WT_STAT_DSRC_TXN_RTS_KEYS_RESTORED 2250 /*! transaction: rollback to stable restored tombstones from history store */ -#define WT_STAT_DSRC_TXN_RTS_HS_RESTORE_TOMBSTONES 2252 +#define WT_STAT_DSRC_TXN_RTS_HS_RESTORE_TOMBSTONES 2251 /*! transaction: rollback to stable restored updates from history store */ -#define WT_STAT_DSRC_TXN_RTS_HS_RESTORE_UPDATES 2253 +#define WT_STAT_DSRC_TXN_RTS_HS_RESTORE_UPDATES 2252 /*! transaction: rollback to stable skipping delete rle */ -#define WT_STAT_DSRC_TXN_RTS_DELETE_RLE_SKIPPED 2254 +#define WT_STAT_DSRC_TXN_RTS_DELETE_RLE_SKIPPED 2253 /*! transaction: rollback to stable skipping stable rle */ -#define WT_STAT_DSRC_TXN_RTS_STABLE_RLE_SKIPPED 2255 +#define WT_STAT_DSRC_TXN_RTS_STABLE_RLE_SKIPPED 2254 /*! transaction: rollback to stable sweeping history store keys */ -#define WT_STAT_DSRC_TXN_RTS_SWEEP_HS_KEYS 2256 +#define WT_STAT_DSRC_TXN_RTS_SWEEP_HS_KEYS 2255 /*! transaction: rollback to stable updates removed from history store */ -#define WT_STAT_DSRC_TXN_RTS_HS_REMOVED 2257 +#define WT_STAT_DSRC_TXN_RTS_HS_REMOVED 2256 /*! transaction: transaction checkpoints due to obsolete pages */ -#define WT_STAT_DSRC_TXN_CHECKPOINT_OBSOLETE_APPLIED 2258 +#define WT_STAT_DSRC_TXN_CHECKPOINT_OBSOLETE_APPLIED 2257 /*! transaction: update conflicts */ -#define WT_STAT_DSRC_TXN_UPDATE_CONFLICT 2259 +#define WT_STAT_DSRC_TXN_UPDATE_CONFLICT 2258 /*! * @} diff --git a/src/third_party/wiredtiger/src/schema/schema_truncate.c b/src/third_party/wiredtiger/src/schema/schema_truncate.c index d1872bcd02b..6dbeb264d80 100644 --- a/src/third_party/wiredtiger/src/schema/schema_truncate.c +++ b/src/third_party/wiredtiger/src/schema/schema_truncate.c @@ -164,9 +164,7 @@ __wt_schema_range_truncate(WT_SESSION_IMPL *session, WT_CURSOR *start, WT_CURSOR uri = start->internal_uri; - if (WT_STREQ(uri, WT_HS_URI)) - ret = __wt_curhs_range_truncate(start, stop); - else if (WT_PREFIX_MATCH(uri, "file:")) { + if (WT_PREFIX_MATCH(uri, "file:")) { WT_ERR(__cursor_needkey(start)); if (stop != NULL) WT_ERR(__cursor_needkey(stop)); diff --git a/src/third_party/wiredtiger/src/session/session_api.c b/src/third_party/wiredtiger/src/session/session_api.c index 0f96142cbb5..979713e0c59 100644 --- a/src/third_party/wiredtiger/src/session/session_api.c +++ b/src/third_party/wiredtiger/src/session/session_api.c @@ -1412,16 +1412,14 @@ __wt_session_range_truncate( * than the original key. If we fail to find a key in a search-near, there are no keys in the * table. If we fail to move forward or backward in a range, there are no keys in the range. In * either of those cases, we're done. - * - * No need to search the record again if it is already pointing to the btree. */ - if (start != NULL && !F_ISSET(start, WT_CURSTD_KEY_INT)) + if (start != NULL) if ((ret = start->search_near(start, &cmp)) != 0 || (cmp < 0 && (ret = start->next(start)) != 0)) { WT_ERR_NOTFOUND_OK(ret, false); goto done; } - if (stop != NULL && !F_ISSET(stop, WT_CURSTD_KEY_INT)) + if (stop != NULL) if ((ret = stop->search_near(stop, &cmp)) != 0 || (cmp > 0 && (ret = stop->prev(stop)) != 0)) { WT_ERR_NOTFOUND_OK(ret, false); diff --git a/src/third_party/wiredtiger/src/support/stat.c b/src/third_party/wiredtiger/src/support/stat.c index b2294691626..cc79554898b 100644 --- a/src/third_party/wiredtiger/src/support/stat.c +++ b/src/third_party/wiredtiger/src/support/stat.c @@ -90,7 +90,6 @@ static const char *const __stats_dsrc_desc[] = { "timestamp", "cache: history store table truncation by rollback to stable to remove an unstable update", "cache: history store table truncation by rollback to stable to remove an update", - "cache: history store table truncation to remove all the keys of a btree", "cache: history store table truncation to remove an update", "cache: history store table truncation to remove range of updates due to an update without a " "timestamp on data page", @@ -398,7 +397,6 @@ __wt_stat_dsrc_clear_single(WT_DSRC_STATS *stats) stats->cache_hs_order_lose_durable_timestamp = 0; stats->cache_hs_key_truncate_rts_unstable = 0; stats->cache_hs_key_truncate_rts = 0; - stats->cache_hs_btree_truncate = 0; stats->cache_hs_key_truncate = 0; stats->cache_hs_order_remove = 0; stats->cache_hs_key_truncate_onpage_removal = 0; @@ -688,7 +686,6 @@ __wt_stat_dsrc_aggregate_single(WT_DSRC_STATS *from, WT_DSRC_STATS *to) to->cache_hs_order_lose_durable_timestamp += from->cache_hs_order_lose_durable_timestamp; to->cache_hs_key_truncate_rts_unstable += from->cache_hs_key_truncate_rts_unstable; to->cache_hs_key_truncate_rts += from->cache_hs_key_truncate_rts; - to->cache_hs_btree_truncate += from->cache_hs_btree_truncate; 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; @@ -979,7 +976,6 @@ __wt_stat_dsrc_aggregate(WT_DSRC_STATS **from, WT_DSRC_STATS *to) to->cache_hs_key_truncate_rts_unstable += WT_STAT_READ(from, cache_hs_key_truncate_rts_unstable); to->cache_hs_key_truncate_rts += WT_STAT_READ(from, cache_hs_key_truncate_rts); - to->cache_hs_btree_truncate += WT_STAT_READ(from, cache_hs_btree_truncate); to->cache_hs_key_truncate += WT_STAT_READ(from, cache_hs_key_truncate); to->cache_hs_order_remove += WT_STAT_READ(from, cache_hs_order_remove); to->cache_hs_key_truncate_onpage_removal += @@ -1311,7 +1307,6 @@ static const char *const __stats_connection_desc[] = { "timestamp", "cache: history store table truncation by rollback to stable to remove an unstable update", "cache: history store table truncation by rollback to stable to remove an update", - "cache: history store table truncation to remove all the keys of a btree", "cache: history store table truncation to remove an update", "cache: history store table truncation to remove range of updates due to an update without a " "timestamp on data page", @@ -1912,7 +1907,6 @@ __wt_stat_connection_clear_single(WT_CONNECTION_STATS *stats) stats->cache_hs_order_lose_durable_timestamp = 0; stats->cache_hs_key_truncate_rts_unstable = 0; stats->cache_hs_key_truncate_rts = 0; - stats->cache_hs_btree_truncate = 0; stats->cache_hs_key_truncate = 0; stats->cache_hs_order_remove = 0; stats->cache_hs_key_truncate_onpage_removal = 0; @@ -2496,7 +2490,6 @@ __wt_stat_connection_aggregate(WT_CONNECTION_STATS **from, WT_CONNECTION_STATS * to->cache_hs_key_truncate_rts_unstable += WT_STAT_READ(from, cache_hs_key_truncate_rts_unstable); to->cache_hs_key_truncate_rts += WT_STAT_READ(from, cache_hs_key_truncate_rts); - to->cache_hs_btree_truncate += WT_STAT_READ(from, cache_hs_btree_truncate); to->cache_hs_key_truncate += WT_STAT_READ(from, cache_hs_key_truncate); to->cache_hs_order_remove += WT_STAT_READ(from, cache_hs_order_remove); to->cache_hs_key_truncate_onpage_removal += diff --git a/src/third_party/wiredtiger/src/txn/txn_rollback_to_stable.c b/src/third_party/wiredtiger/src/txn/txn_rollback_to_stable.c index 4641698d614..c08c751f166 100644 --- a/src/third_party/wiredtiger/src/txn/txn_rollback_to_stable.c +++ b/src/third_party/wiredtiger/src/txn/txn_rollback_to_stable.c @@ -1407,72 +1407,50 @@ __rollback_to_stable_check(WT_SESSION_IMPL *session) static int __rollback_to_stable_btree_hs_truncate(WT_SESSION_IMPL *session, uint32_t btree_id) { - WT_CURSOR *hs_cursor_start, *hs_cursor_stop; + WT_CURSOR *hs_cursor; WT_DECL_ITEM(hs_key); WT_DECL_RET; - WT_SESSION *truncate_session; + WT_TIME_WINDOW *hs_tw; wt_timestamp_t hs_start_ts; uint64_t hs_counter; uint32_t hs_btree_id; + char tw_string[WT_TIME_STRING_SIZE]; - hs_cursor_start = hs_cursor_stop = NULL; - hs_btree_id = 0; - truncate_session = (WT_SESSION *)session; + hs_cursor = NULL; WT_RET(__wt_scr_alloc(session, 0, &hs_key)); - /* Open a history store start cursor. */ - WT_ERR(__wt_curhs_open(session, NULL, &hs_cursor_start)); - F_SET(hs_cursor_start, WT_CURSTD_HS_READ_COMMITTED); - - hs_cursor_start->set_key(hs_cursor_start, 1, btree_id); - WT_ERR_NOTFOUND_OK(__wt_curhs_search_near_after(session, hs_cursor_start), true); - if (ret == WT_NOTFOUND) { - ret = 0; - goto done; - } - - /* Open a history store stop cursor. */ - WT_ERR(__wt_curhs_open(session, NULL, &hs_cursor_stop)); - F_SET(hs_cursor_stop, WT_CURSTD_HS_READ_COMMITTED | WT_CURSTD_HS_READ_ACROSS_BTREE); - - hs_cursor_stop->set_key(hs_cursor_stop, 1, btree_id + 1); - WT_ERR_NOTFOUND_OK(__wt_curhs_search_near_after(session, hs_cursor_stop), true); + /* Open a history store table cursor. */ + WT_ERR(__wt_curhs_open(session, NULL, &hs_cursor)); + F_SET(hs_cursor, WT_CURSTD_HS_READ_COMMITTED); -#ifdef HAVE_DIAGNOSTIC - /* If we get not found, we are at the largest btree id in the history store. */ - if (ret == 0) { - hs_cursor_stop->get_key(hs_cursor_stop, &hs_btree_id, hs_key, &hs_start_ts, &hs_counter); - WT_ASSERT(session, hs_btree_id > btree_id); - } -#endif + /* Walk the history store for the given btree. */ + hs_cursor->set_key(hs_cursor, 1, btree_id); + ret = __wt_curhs_search_near_after(session, hs_cursor); - do { - WT_ASSERT(session, ret == WT_NOTFOUND || hs_btree_id > btree_id); + for (; ret == 0; ret = hs_cursor->next(hs_cursor)) { + WT_ERR(hs_cursor->get_key(hs_cursor, &hs_btree_id, hs_key, &hs_start_ts, &hs_counter)); - WT_ERR_NOTFOUND_OK(hs_cursor_stop->prev(hs_cursor_stop), true); - /* We can find the start point then we must be able to find the stop point. */ - if (ret == WT_NOTFOUND) - WT_ERR_PANIC( - session, ret, "cannot locate the stop point to truncate the history store."); - hs_cursor_stop->get_key(hs_cursor_stop, &hs_btree_id, hs_key, &hs_start_ts, &hs_counter); - } while (hs_btree_id != btree_id); + /* We shouldn't cross the btree search space. */ + WT_ASSERT(session, btree_id == hs_btree_id); - WT_ERR( - truncate_session->truncate(truncate_session, NULL, hs_cursor_start, hs_cursor_stop, NULL)); + /* Retrieve the time window from the history cursor. */ + __wt_hs_upd_time_window(hs_cursor, &hs_tw); - WT_STAT_CONN_DATA_INCR(session, cache_hs_btree_truncate); + __wt_verbose_multi(session, WT_VERB_RECOVERY_RTS(session), + "rollback to stable history store cleanup of update with time window: %s", + __wt_time_window_to_string(hs_tw, tw_string)); - __wt_verbose(session, WT_VERB_RECOVERY_PROGRESS, - "Rollback to stable has truncated records for btree %u from the history store", btree_id); + WT_ERR(hs_cursor->remove(hs_cursor)); + WT_STAT_CONN_DATA_INCR(session, txn_rts_hs_removed); + WT_STAT_CONN_DATA_INCR(session, cache_hs_key_truncate_rts); + } + WT_ERR_NOTFOUND_OK(ret, false); -done: err: __wt_scr_free(session, &hs_key); - if (hs_cursor_start != NULL) - WT_TRET(hs_cursor_start->close(hs_cursor_start)); - if (hs_cursor_stop != NULL) - WT_TRET(hs_cursor_stop->close(hs_cursor_stop)); + if (hs_cursor != NULL) + WT_TRET(hs_cursor->close(hs_cursor)); return (ret); } @@ -1552,9 +1530,8 @@ __rollback_to_stable_hs_final_pass(WT_SESSION_IMPL *session, wt_timestamp_t roll for (i = 0; conn->partial_backup_remove_ids[i] != 0; ++i) WT_ERR( __rollback_to_stable_btree_hs_truncate(session, conn->partial_backup_remove_ids[i])); + WT_TRET(__wt_session_release_dhandle(session)); err: - if (session->dhandle != NULL) - WT_TRET(__wt_session_release_dhandle(session)); __wt_free(session, config); return (ret); } diff --git a/src/third_party/wiredtiger/test/suite/test_rollback_to_stable38.py b/src/third_party/wiredtiger/test/suite/test_rollback_to_stable38.py deleted file mode 100644 index 404a01e075e..00000000000 --- a/src/third_party/wiredtiger/test/suite/test_rollback_to_stable38.py +++ /dev/null @@ -1,113 +0,0 @@ -#!/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. - -import wttest -from helper import simulate_crash_restart -from wiredtiger import stat -from wtdataset import SimpleDataSet -from wtscenario import make_scenarios - -# test_rollback_to_stable38.py -# -# Test using fast truncate to delete the whole tree of records from the history store - -class test_rollback_to_stable38(wttest.WiredTigerTestCase): - conn_config = 'statistics=(all),cache_size=50MB' - session_config = 'isolation=snapshot' - - format_values = [ - ('column', dict(key_format='r', value_format='S', extraconfig='')), - ('column_fix', dict(key_format='r', value_format='8t', - extraconfig='')), - ('integer_row', dict(key_format='i', value_format='S', extraconfig='')), - ] - scenarios = make_scenarios(format_values) - - def check(self, ds, value, nrows, ts): - cursor = self.session.open_cursor(ds.uri) - self.session.begin_transaction('read_timestamp=' + self.timestamp_str(ts)) - count = 0 - for k, v in cursor: - self.assertEqual(v, value) - count += 1 - self.assertEqual(count, nrows) - self.session.rollback_transaction() - cursor.close() - - def test_rollback_to_stable38(self): - nrows = 1000000 - - # Create a table. - uri = "table:rollback_to_stable38" - - ds = SimpleDataSet( - self, uri, 0, key_format=self.key_format, value_format=self.value_format, - config=self.extraconfig) - ds.populate() - - if self.value_format == '8t': - value_a = 97 - else: - value_a = "aaaaa" * 100 - - # Pin a transaction - session2 = self.conn.open_session() - session2.begin_transaction() - - # Write a value to table. - cursor1 = self.session.open_cursor(ds.uri) - for i in range(1, nrows + 1): - self.session.begin_transaction() - cursor1[ds.key(i)] = value_a - self.session.commit_transaction() - - # Write another value to table. - cursor1 = self.session.open_cursor(ds.uri) - for i in range(1, nrows + 1): - self.session.begin_transaction() - cursor1[ds.key(i)] = value_a - self.session.commit_transaction() - - # Do a checkpoint - self.session.checkpoint() - - session2.rollback_transaction() - session2.close() - - # Roll back via crashing. - simulate_crash_restart(self, ".", "RESTART") - - stat_cursor = self.session.open_cursor('statistics:', None, None) - hs_btree_truncate = stat_cursor[stat.conn.cache_hs_btree_truncate][2] - fastdelete_pages = stat_cursor[stat.conn.rec_page_delete_fast][2] - self.assertGreater(hs_btree_truncate, 0) - self.assertGreater(fastdelete_pages, 0) - stat_cursor.close() - -if __name__ == '__main__': - wttest.run() |