summaryrefslogtreecommitdiff
path: root/src/third_party/wiredtiger/dist
diff options
context:
space:
mode:
Diffstat (limited to 'src/third_party/wiredtiger/dist')
-rw-r--r--src/third_party/wiredtiger/dist/api_data.py36
-rwxr-xr-xsrc/third_party/wiredtiger/dist/s_all1
-rwxr-xr-xsrc/third_party/wiredtiger/dist/s_clang-format56
-rw-r--r--src/third_party/wiredtiger/dist/s_define.list2
-rw-r--r--src/third_party/wiredtiger/dist/s_string.ok17
-rwxr-xr-xsrc/third_party/wiredtiger/dist/s_typedef9
-rwxr-xr-xsrc/third_party/wiredtiger/dist/s_visibility_checks17
-rw-r--r--src/third_party/wiredtiger/dist/stat_data.py50
8 files changed, 46 insertions, 142 deletions
diff --git a/src/third_party/wiredtiger/dist/api_data.py b/src/third_party/wiredtiger/dist/api_data.py
index 691288a5023..11632da60ae 100644
--- a/src/third_party/wiredtiger/dist/api_data.py
+++ b/src/third_party/wiredtiger/dist/api_data.py
@@ -219,9 +219,6 @@ tiered_config = [
time in seconds to retain data on tiered storage on the local tier
for faster read access''',
min='0', max='10000'),
- Config('object_target_size', '0', r'''
- this option is no longer supported, retained for backward compatibility''',
- min='0', undoc=True),
]),
]
@@ -671,10 +668,6 @@ connection_runtime_config = [
pages from cache. The number of threads currently running will
vary depending on the current eviction load''',
min=1, max=20),
- Config('evict_sample_inmem', 'true', r'''
- If no in-memory ref is found on the root page, attempt to locate a random
- in-memory page by examining all entries on the root page.''',
- type='boolean'),
]),
Config('eviction_checkpoint_target', '1', r'''
perform eviction at the beginning of checkpoints to bring the dirty
@@ -778,11 +771,10 @@ connection_runtime_config = [
]),
Config('operation_timeout_ms', '0', r'''
if non-zero, a requested limit on the number of elapsed real time milliseconds
- application threads will take to complete database operations. This setting only applies
- inside of a transaction. Time is measured from the start of each WiredTiger API call. There
- is no guarantee any operation will not take longer than this amount of time. If WiredTiger
- notices the limit has been exceeded, an operation may return a WT_ROLLBACK error. The
- default of 0 is to have no limit.''',
+ application threads will take to complete database operations. Time is measured from the
+ start of each WiredTiger API call. There is no guarantee any operation will not take
+ longer than this amount of time. If WiredTiger notices the limit has been exceeded, an
+ operation may return a WT_ROLLBACK error. The default of 0 is to have no limit''',
min=0),
Config('operation_tracking', '', r'''
enable tracking of performance-critical functions. See
@@ -863,11 +855,10 @@ connection_runtime_config = [
type='list', undoc=True,
choices=[
'aggressive_sweep', 'backup_rename', 'checkpoint_reserved_txnid_delay', 'checkpoint_slow',
- 'checkpoint_stop', 'compact_slow', 'failpoint_eviction_fail_after_reconciliation',
- 'failpoint_history_store_delete_key_from_ts', 'history_store_checkpoint_delay',
- 'history_store_search', 'history_store_sweep_race', 'prepare_checkpoint_delay',
- 'prepare_resolution', 'prepare_resolution_2', 'split_1', 'split_2', 'split_3', 'split_4',
- 'split_5', 'split_6', 'split_7', 'tiered_flush_finish']),
+ 'checkpoint_stop', 'compact_slow', 'failpoint_history_store_delete_key_from_ts',
+ 'history_store_checkpoint_delay', 'history_store_search', 'history_store_sweep_race',
+ 'prepare_checkpoint_delay', 'split_1', 'split_2', 'split_3', 'split_4', 'split_5',
+ 'split_6', 'split_7', 'tiered_flush_finish']),
Config('verbose', '[]', r'''
enable messages for various subsystems and operations. Options are given as a list,
where each message type can optionally define an associated verbosity level, such as
@@ -1053,6 +1044,10 @@ tiered_storage_configuration_common = [
time in seconds to retain data on tiered storage on the local tier for
faster read access''',
min='0', max='10000'),
+ Config('object_target_size', '10M', r'''
+ the approximate size of objects before creating them on the
+ tiered storage tier''',
+ min='100K', max='10TB'),
]
connection_reconfigure_tiered_storage_configuration = [
Config('tiered_storage', '', r'''
@@ -1606,9 +1601,6 @@ methods = {
the object into \c next_random_sample_size equal-sized pieces,
and each retrieval returns a record from one of those pieces. See
@ref cursor_random for details'''),
- Config('next_random_seed', '0', r'''
- configure the cursor to set an initial random seed when using \c next_random configuration.
- This is used for testing purposes only. See @ref cursor_random for details'''),
Config('raw', 'false', r'''
ignore the encodings for the key and value, manage data as if
the formats were \c "u". See @ref cursor_raw for details''',
@@ -1729,10 +1721,6 @@ methods = {
Display the contents of in-memory pages as they are verified,
using the application's message handler, intended for debugging''',
type='boolean'),
- Config('read_corrupt', 'false', r'''
- A mode that allows verify to continue reading after encountering a checksum error. It
- will skip past the corrupt block and continue with the verification process''',
- type='boolean'),
Config('stable_timestamp', 'false', r'''
Ensure that no data has a start timestamp after the stable timestamp,
to be run after rollback_to_stable.''',
diff --git a/src/third_party/wiredtiger/dist/s_all b/src/third_party/wiredtiger/dist/s_all
index 61e25f67f6a..d6511a483d6 100755
--- a/src/third_party/wiredtiger/dist/s_all
+++ b/src/third_party/wiredtiger/dist/s_all
@@ -109,7 +109,6 @@ COMMANDS="
2>&1 ./s_string > ${t_pfx}s_string
2>&1 ./s_tags > ${t_pfx}tags
2>&1 ./s_typedef -c > ${t_pfx}s_typedef_c
-2>&1 ./s_visibility_checks > ${t_pfx}s_visibility_checks
2>&1 ./s_void > ${t_pfx}s_void
2>&1 ./s_whitespace > ${t_pfx}s_whitespace
2>&1 python function.py > ${t_pfx}py_function
diff --git a/src/third_party/wiredtiger/dist/s_clang-format b/src/third_party/wiredtiger/dist/s_clang-format
index 076e3302397..80de76b7c36 100755
--- a/src/third_party/wiredtiger/dist/s_clang-format
+++ b/src/third_party/wiredtiger/dist/s_clang-format
@@ -6,33 +6,16 @@ t=__wt.$$
trap 'rm -rf $t' 0 1 2 3 13 15
download_clang_format() {
- version=$1
- arch_and_os="$(uname -m)-$(uname)"
- archive=dist/clang-format.tar.gz
-
- # Adding more clang-format binaries requires uploading them to boxes.10gen
- # You can either get the clang-format binary from the llvm releases page
- # (https://github.com/llvm/llvm-project/releases) or compile clang-format yourself.
- # Place the binary in dist/ and confirm that s_clang_format runs correctly, then
- # tar a folder containing just the clang-format binary with the format:
- # clang-format-llvm-${version}-${arch_and_os}/
- # clang-format
- # into a tarball named clang-format-llvm-${version}-${arch_and_os}.tar.gz
- # The tarball should extract using the tar command below.
- # This tarball can then be uploaded via a Jira request to the BUILD team.
- if [[ "$arch_and_os" =~ ^("aarch64-Linux"|"x86_64-Darwin"|"arm64-Darwin"|"x86_64-Linux")$ ]] ; then
- curl https://s3.amazonaws.com/boxes.10gen.com/build/clang-format-llvm-"$version"-"$arch_and_os".tar.gz -o $archive
- tar --strip=1 -C dist/ -xf $archive clang-format-llvm-"$version"-"$arch_and_os"/clang-format && rm $archive
- chmod +x ./dist/clang-format
-
- if [[ "$arch_and_os" =~ ^("x86_64-Darwin"|"arm64-Darwin")$ ]] ; then
- # Needed to get around the macOS code signing issue.
- xattr -c ./dist/clang-format
- fi
- else
- echo "$0: unsupported architecture and OS combination '$arch_and_os' to run clang_format"
- return 1
- fi
+ if [ `uname` = "Linux" ]; then
+ curl https://s3.amazonaws.com/boxes.10gen.com/build/clang-format-llvm-10.0.0-x86_64-linux-gnu-ubuntu-20.04.tar-1.gz -o dist/clang-format.tar.gz
+ tar --strip=1 -C dist/ -xf dist/clang-format.tar.gz clang-format-llvm-10.0.0-x86_64-linux-gnu-ubuntu-20.04/clang-format && rm dist/clang-format.tar.gz
+ elif [ `uname` = "Darwin" ]; then
+ curl https://s3.amazonaws.com/boxes.10gen.com/build/build/clang-format-llvm-10.0.0-x86_64-apple-darwin.tar.gz -o dist/clang-format.tar.gz
+ tar --strip=1 -C dist/ -xf dist/clang-format.tar.gz clang-format-llvm-10.0.0-x86_64-apple-darwin/clang-format && rm dist/clang-format.tar.gz
+ else
+ echo "$0: unsupported environment $(uname)"
+ exit 1
+ fi
}
# Find the top-level WiredTiger directory and move to there.
@@ -41,12 +24,19 @@ cd `git rev-parse --show-toplevel` || exit 1
# Override existing Clang Format versions in the PATH.
export PATH="${PWD}/dist":$PATH
-# Check if Clang-Format is already available with the desired version.
-desired_version="12.0.1"
-if ! command -v clang-format &> /dev/null; then
- download_clang_format $desired_version || exit 1
-elif ! clang-format --version | grep -q $desired_version; then
- download_clang_format $desired_version || exit 1
+# Download the clang-format binary if it's not in place.
+[ ! -x "$(command -v clang-format)" ] && download_clang_format
+
+# Ensure that we have the correct version of clang-format.
+desired_version="10.0.0"
+
+# On macOS Catalina, users need to manually approve binaries.
+# If we're not allowed to run clang-format, let's exit (should be obvious from the dialog).
+current_version=`clang-format --version` || exit 1
+
+echo $current_version | grep "version $desired_version" >/dev/null 2>&1
+if test $? -ne 0; then
+ download_clang_format
fi
case $# in
diff --git a/src/third_party/wiredtiger/dist/s_define.list b/src/third_party/wiredtiger/dist/s_define.list
index 2bd5c747639..f4751006cd9 100644
--- a/src/third_party/wiredtiger/dist/s_define.list
+++ b/src/third_party/wiredtiger/dist/s_define.list
@@ -52,7 +52,6 @@ WT_PACKED_STRUCT_END
WT_PADDING_CHECK
WT_PREPARE_INIT
WT_READ_BARRIER
-WT_READ_BARRIER_WEAK_MEMORDER
WT_REF_SAVE_STATE_MAX
WT_REF_SIZE
WT_SESSION_LOCKED_CHECKPOINT
@@ -78,7 +77,6 @@ WT_STAT_DECRV_BASE
WT_STAT_INCRV_ATOMIC
WT_STAT_INCRV_ATOMIC_BASE
WT_STAT_INCRV_BASE
-WT_STAT_SET_BASE
WT_STAT_WRITE
WT_TIMEDIFF_US
WT_TRACK_OP
diff --git a/src/third_party/wiredtiger/dist/s_string.ok b/src/third_party/wiredtiger/dist/s_string.ok
index 54c3803a00e..da396a97162 100644
--- a/src/third_party/wiredtiger/dist/s_string.ok
+++ b/src/third_party/wiredtiger/dist/s_string.ok
@@ -277,7 +277,6 @@ MADV
MALLOC
MEM
MEMALIGN
-MEMORDER
MERCHANTABILITY
METADATA
MONGODB
@@ -291,7 +290,6 @@ MULTIBLOCK
MUTEX
Manos
MapViewOfFile
-Marsaglia
Marsaglia's
Mellor
Memrata
@@ -375,13 +373,11 @@ RECNO
REF's
REFs
RET
-RETRYABLE
RHEL
RLE
RLEs
RMW
RNG
-RNGs
RPC
RTS
RUNDIR
@@ -415,7 +411,6 @@ STEC
STL
STR
STRUCT
-SYSCALL
Scalability
Scalable
Sedgewick
@@ -435,7 +430,6 @@ Split's
Stoica
StoreLoad
StoreStore
-Strobed
Su
Syscall
TAILQ
@@ -535,7 +529,6 @@ Wunused
XP
Xcode
Xcode/
-Xorshift
YCSB
Yann
ZSTD
@@ -691,7 +684,6 @@ colgroup
colgroups
collatorp
comparator
-comparators
comparep
compat
compressStream
@@ -760,7 +752,6 @@ datalen
datasets
datasource
datastore
-dbar
dbc
dbs
dcalloc
@@ -987,7 +978,6 @@ iiii
iiu
ikey
im
-img
impl
incr
incrementals
@@ -1110,7 +1100,6 @@ logtest
lookaside
lookup
lookups
-loongarch
lossy
lr
lrt
@@ -1161,7 +1150,6 @@ mfence
minSnapshotHistoryWindowInSeconds
minorp
mips
-misalignments
mkdir
mmap
mmrand
@@ -1358,7 +1346,6 @@ reconfiguring
recsize
rectype
recurse
-reentrant
refp
regionp
reinitialization
@@ -1415,15 +1402,12 @@ sizev
skiplist
skiplists
skipp
-skippable
slotsp
slvg
snaplen
snapsort
snprintf
-sortable
sp
-sparc
spinlock
spinlocks
sprintf
@@ -1449,7 +1433,6 @@ strlen
strncpy
strndup
strnlen
-strobed
strtok
strtoll
strtouq
diff --git a/src/third_party/wiredtiger/dist/s_typedef b/src/third_party/wiredtiger/dist/s_typedef
index daa1e1629d9..2da60035911 100755
--- a/src/third_party/wiredtiger/dist/s_typedef
+++ b/src/third_party/wiredtiger/dist/s_typedef
@@ -32,11 +32,10 @@ build() {
echo " typedef $t $n $upper;"
done
- # Fixed types we use.
- echo
- echo 'typedef struct timespec WT_TIMER;'
- echo 'typedef uint64_t wt_timestamp_t;'
- echo
+ # There's one fixed type we use.
+ echo
+ echo 'typedef uint64_t wt_timestamp_t;'
+ echo
echo '/*'
sed -e '/Forward type declarations .*: END/,${' \
diff --git a/src/third_party/wiredtiger/dist/s_visibility_checks b/src/third_party/wiredtiger/dist/s_visibility_checks
deleted file mode 100755
index 10bc0e28ea4..00000000000
--- a/src/third_party/wiredtiger/dist/s_visibility_checks
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/bash
-
-t=__wt.$$
-trap 'rm -f $t' 0 1 2 3 13 15
-
-cd ..
-
-# Check to see if a time aggregate is used in a straight visibility check.
-# It should never be - the "snap_min" visibility check should be used instead.
-found=`grep -rnI "txn_visible.*addr.ta" src/`
-if [ ! -z "$found" ]; then
- echo "Found invalid usage(s) of visibility check and a time aggregate window"
- echo "$found"
- exit 1
-fi
-
-exit 0
diff --git a/src/third_party/wiredtiger/dist/stat_data.py b/src/third_party/wiredtiger/dist/stat_data.py
index ce41c46f427..b02b8512af5 100644
--- a/src/third_party/wiredtiger/dist/stat_data.py
+++ b/src/third_party/wiredtiger/dist/stat_data.py
@@ -31,10 +31,6 @@ class Stat:
def __cmp__(self, other):
return cmp(self.desc.lower(), other.desc.lower())
-class AutoCommitStat(Stat):
- prefix = 'autocommit'
- def __init__(self, name, desc, flags=''):
- Stat.__init__(self, name, AutoCommitStat.prefix, desc, flags)
class BlockCacheStat(Stat):
prefix = 'block-cache'
def __init__(self, name, desc, flags=''):
@@ -240,7 +236,6 @@ conn_stats = [
CacheStat('cache_eviction_aggressive_set', 'eviction currently operating in aggressive mode', 'no_clear,no_scale'),
CacheStat('cache_eviction_app', 'pages evicted by application threads'),
CacheStat('cache_eviction_app_dirty', 'modified pages evicted by application threads'),
- CacheStat('cache_eviction_clear_ordinary', 'pages removed from the ordinary queue to be queued for urgent eviction'),
CacheStat('cache_eviction_empty_score', 'eviction empty score', 'no_clear,no_scale'),
CacheStat('cache_eviction_fail', 'pages selected for eviction unable to be evicted'),
CacheStat('cache_eviction_fail_active_children_on_an_internal_page', 'pages selected for eviction unable to be evicted because of active children on an internal page'),
@@ -255,7 +250,6 @@ conn_stats = [
CacheStat('cache_eviction_force_dirty_time', 'forced eviction - pages evicted that were dirty time (usecs)'),
CacheStat('cache_eviction_force_fail', 'forced eviction - pages selected unable to be evicted count'),
CacheStat('cache_eviction_force_fail_time', 'forced eviction - pages selected unable to be evicted time'),
- CacheStat('cache_eviction_force_no_retry', 'forced eviction - do not retry count to evict pages selected to evict during reconciliation'),
CacheStat('cache_eviction_force_hs', 'forced eviction - history store pages selected while session has history store cursor open'),
CacheStat('cache_eviction_force_hs_fail', 'forced eviction - history store pages failed to evict while session has history store cursor open'),
CacheStat('cache_eviction_force_hs_success', 'forced eviction - history store pages successfully evicted while session has history store cursor open'),
@@ -266,8 +260,7 @@ conn_stats = [
CacheStat('cache_eviction_internal_pages_seen', 'internal pages seen by eviction walk'),
CacheStat('cache_eviction_internal_pages_already_queued', 'internal pages seen by eviction walk that are already queued'),
CacheStat('cache_eviction_internal_pages_queued', 'internal pages queued for eviction'),
- CacheStat('cache_eviction_maximum_page_size', 'maximum page size seen at eviction', 'no_clear,no_scale,size'),
- CacheStat('cache_eviction_maximum_milliseconds', 'maximum milliseconds spent at a single eviction', 'no_clear,no_scale,size'),
+ CacheStat('cache_eviction_maximum_page_size', 'maximum page size at eviction', 'no_clear,no_scale,size'),
CacheStat('cache_eviction_pages_queued', 'pages queued for eviction'),
CacheStat('cache_eviction_pages_queued_oldest', 'pages queued for urgent eviction during walk'),
CacheStat('cache_eviction_pages_queued_post_lru', 'pages queued for eviction post lru sorting'),
@@ -278,17 +271,6 @@ conn_stats = [
CacheStat('cache_eviction_queue_empty', 'eviction server candidate queue empty when topping up'),
CacheStat('cache_eviction_queue_not_empty', 'eviction server candidate queue not empty when topping up'),
CacheStat('cache_eviction_server_evicting', 'eviction server evicting pages'),
- CacheStat('cache_eviction_server_skip_checkpointing_trees', 'eviction server skips trees that are being checkpointed'),
- CacheStat('cache_eviction_server_skip_dirty_pages_during_checkpoint', 'eviction server skips dirty pages during a running checkpoint'),
- CacheStat('cache_eviction_server_skip_pages_retry', 'eviction server skips pages that previously failed eviction and likely will again'),
- CacheStat('cache_eviction_server_skip_pages_last_running', 'eviction server skips pages that are written with transactions greater than the last running'),
- CacheStat('cache_eviction_server_skip_metatdata_with_history', 'eviction server skips metadata pages with history'),
- CacheStat('cache_eviction_server_skip_trees_eviction_disabled', 'eviction server skips trees that disable eviction'),
- CacheStat('cache_eviction_server_skip_trees_not_useful_before', 'eviction server skips trees that were not useful before'),
- CacheStat('cache_eviction_server_skip_trees_stick_in_cache', 'eviction server skips trees that are configured to stick in cache'),
- CacheStat('cache_eviction_server_skip_trees_too_many_active_walks', 'eviction server skips trees because there are too many active walks'),
- CacheStat('cache_eviction_server_skip_unwanted_pages', 'eviction server skips pages that we do not want to evict'),
- CacheStat('cache_eviction_server_skip_unwanted_tree', 'eviction server skips tree that we do not want to evict'),
CacheStat('cache_eviction_server_slept', 'eviction server slept, because we did not make progress with eviction'),
CacheStat('cache_eviction_slow', 'eviction server unable to reach eviction goal'),
CacheStat('cache_eviction_stable_state_workers', 'eviction worker thread stable number', 'no_clear'),
@@ -310,7 +292,6 @@ conn_stats = [
CacheStat('cache_hazard_walks', 'hazard pointer check entries walked'),
CacheStat('cache_hs_ondisk', 'history store table on-disk size', 'no_clear,no_scale,size'),
CacheStat('cache_hs_ondisk_max', 'history store table max on-disk size', 'no_clear,no_scale,size'),
- CacheStat('cache_reentry_hs_eviction_milliseconds', 'total milliseconds spent inside reentrant history store evictions in a reconciliation', 'no_clear,no_scale,size'),
CacheStat('cache_overhead', 'percentage overhead', 'no_clear,no_scale'),
CacheStat('cache_pages_dirty', 'tracked dirty pages in the cache', 'no_clear,no_scale'),
CacheStat('cache_pages_inuse', 'pages currently held in the cache', 'no_clear,no_scale'),
@@ -341,7 +322,6 @@ conn_stats = [
##########################################
# Cursor operations
##########################################
- CursorStat('cursor_bulk_count', 'bulk cursor count', 'no_clear,no_scale'),
CursorStat('cursor_cached_count', 'cached cursor count', 'no_clear,no_scale'),
CursorStat('cursor_cache', 'cursor close calls that result in cache'),
CursorStat('cursor_create', 'cursor create calls'),
@@ -513,9 +493,7 @@ conn_stats = [
##########################################
# Reconciliation statistics
##########################################
- RecStat('rec_maximum_hs_wrapup_milliseconds', 'maximum milliseconds spent in moving updates to the history store in a reconciliation', 'no_clear,no_scale,size'),
- RecStat('rec_maximum_image_build_milliseconds', 'maximum milliseconds spent in building a disk image in a reconciliation', 'no_clear,no_scale,size'),
- RecStat('rec_maximum_milliseconds', 'maximum milliseconds spent in a reconciliation call', 'no_clear,no_scale,size'),
+ RecStat('rec_maximum_seconds', 'maximum seconds spent in a reconciliation call', 'no_clear,no_scale,size'),
RecStat('rec_overflow_key_leaf', 'leaf-page overflow keys'),
RecStat('rec_pages_with_prepare', 'page reconciliation calls that resulted in values with prepared transaction metadata'),
RecStat('rec_pages_with_ts', 'page reconciliation calls that resulted in values with timestamps'),
@@ -583,6 +561,7 @@ conn_stats = [
TxnStat('txn_checkpoint_handle_duration', 'transaction checkpoint most recent duration for gathering all handles (usecs)', 'no_clear,no_scale'),
TxnStat('txn_checkpoint_handle_duration_apply', 'transaction checkpoint most recent duration for gathering applied handles (usecs)', 'no_clear,no_scale'),
TxnStat('txn_checkpoint_handle_duration_skip', 'transaction checkpoint most recent duration for gathering skipped handles (usecs)', 'no_clear,no_scale'),
+ TxnStat('txn_hs_ckpt_duration', 'transaction checkpoint history store file duration (usecs)'),
TxnStat('txn_checkpoint_generation', 'transaction checkpoint generation', 'no_clear,no_scale'),
TxnStat('txn_checkpoint_prep_max', 'transaction checkpoint prepare max time (msecs)', 'no_clear,no_scale'),
TxnStat('txn_checkpoint_prep_min', 'transaction checkpoint prepare min time (msecs)', 'no_clear,no_scale'),
@@ -600,7 +579,7 @@ conn_stats = [
TxnStat('txn_checkpoint_time_total', 'transaction checkpoint total time (msecs)', 'no_clear,no_scale'),
TxnStat('txn_checkpoint_stop_stress_active', 'transaction checkpoint stop timing stress active', 'no_clear,no_scale'),
TxnStat('txn_commit', 'transactions committed'),
- TxnStat('txn_hs_ckpt_duration', 'transaction checkpoint history store file duration (usecs)'),
+ TxnStat('txn_fail_cache', 'transaction failures due to history store'),
TxnStat('txn_pinned_checkpoint_range', 'transaction range of IDs currently pinned by a checkpoint', 'no_clear,no_scale'),
TxnStat('txn_pinned_range', 'transaction range of IDs currently pinned', 'no_clear,no_scale'),
TxnStat('txn_pinned_timestamp', 'transaction range of timestamps currently pinned', 'no_clear,no_scale'),
@@ -611,13 +590,14 @@ conn_stats = [
TxnStat('txn_prepare_active', 'prepared transactions currently active'),
TxnStat('txn_prepare_commit', 'prepared transactions committed'),
TxnStat('txn_prepare_rollback', 'prepared transactions rolled back'),
+ TxnStat('txn_prepare_rollback_do_not_remove_hs_update', 'prepared transactions rolled back and do not remove the history store entry'),
+ TxnStat('txn_prepare_rollback_fix_hs_update_with_ckpt_reserved_txnid', 'prepared transactions rolled back and fix the history store entry with checkpoint reserved transaction id'),
TxnStat('txn_prepared_updates_committed', 'Number of prepared updates committed'),
TxnStat('txn_prepared_updates', 'Number of prepared updates'),
TxnStat('txn_prepared_updates_key_repeated', 'Number of prepared updates repeated on the same key'),
TxnStat('txn_prepared_updates_rolledback', 'Number of prepared updates rolled back'),
TxnStat('txn_query_ts', 'query timestamp calls'),
TxnStat('txn_rollback', 'transactions rolled back'),
- TxnStat('txn_rollback_oldest_pinned', 'oldest pinned transaction ID rolled back for eviction'),
TxnStat('txn_rollback_to_stable_running', 'transaction rollback to stable currently running', 'no_clear,no_scale'),
TxnStat('txn_rts', 'rollback to stable calls'),
TxnStat('txn_rts_pages_visited', 'rollback to stable pages visited'),
@@ -639,7 +619,6 @@ conn_stats = [
##########################################
YieldStat('application_cache_time', 'application thread time waiting for cache (usecs)'),
YieldStat('application_evict_time', 'application thread time evicting (usecs)'),
- YieldStat('application_evict_snapshot_refreshed', 'application thread snapshot refreshed for eviction'),
YieldStat('child_modify_blocked_page', 'page reconciliation yielded due to child modification'),
YieldStat('conn_close_blocked_lsm', 'connection close yielded for lsm manager shutdown'),
YieldStat('dhandle_lock_blocked', 'data handle lock yielded'),
@@ -678,7 +657,6 @@ dsrc_stats = [
# Btree statistics
##########################################
BtreeStat('btree_checkpoint_generation', 'btree checkpoint generation', 'no_clear,no_scale'),
- BtreeStat('btree_checkpoint_pages_reconciled', 'btree number of pages reconciled during checkpoint', 'no_clear,no_scale'),
BtreeStat('btree_clean_checkpoint_timer', 'btree clean tree checkpoint expiration time', 'no_clear,no_scale'),
BtreeStat('btree_column_deleted', 'column-store variable-size deleted values', 'no_scale,tree_walk'),
BtreeStat('btree_column_fix', 'column-store fixed-size leaf pages', 'no_scale,tree_walk'),
@@ -800,6 +778,7 @@ dsrc_stats = [
RecStat('rec_multiblock_max', 'maximum blocks required for a page', 'max_aggregate,no_scale'),
RecStat('rec_overflow_key_leaf', 'leaf-page overflow keys'),
RecStat('rec_overflow_value', 'overflow values written'),
+ RecStat('rec_page_match', 'page checksum matches'),
RecStat('rec_prefix_compression', 'leaf page key bytes discarded using prefix compression', 'size'),
RecStat('rec_suffix_compression', 'internal page key bytes discarded using suffix compression', 'size'),
RecStat('rec_time_window_pages_prepared', 'pages written including at least one prepare'),
@@ -819,12 +798,6 @@ dsrc_stats = sorted(dsrc_stats, key=attrgetter('desc'))
##########################################
conn_dsrc_stats = [
##########################################
- # Autocommit statistics
- ##########################################
- AutoCommitStat('autocommit_readonly_retry', 'retries for readonly operations'),
- AutoCommitStat('autocommit_update_retry', 'retries for update operations'),
-
- ##########################################
# Cache and eviction statistics
##########################################
CacheStat('cache_bytes_dirty', 'tracked dirty bytes in the cache', 'no_clear,no_scale,size'),
@@ -838,14 +811,12 @@ conn_dsrc_stats = [
CacheStat('cache_eviction_blocked_ooo_checkpoint_race_2', 'eviction gave up due to detecting an out of order tombstone ahead of the selected on disk update'),
CacheStat('cache_eviction_blocked_ooo_checkpoint_race_3', 'eviction gave up due to detecting an out of order tombstone ahead of the selected on disk update after validating the update chain'),
CacheStat('cache_eviction_blocked_ooo_checkpoint_race_4', 'eviction gave up due to detecting out of order timestamps on the update chain after the selected on disk update'),
- CacheStat('cache_eviction_blocked_remove_hs_race_with_checkpoint', 'eviction gave up due to needing to remove a record from the history store but checkpoint is running'),
CacheStat('cache_eviction_clean', 'unmodified pages evicted'),
CacheStat('cache_eviction_deepen', 'page split during eviction deepened the tree'),
CacheStat('cache_eviction_dirty', 'modified pages evicted'),
CacheStat('cache_eviction_hazard', 'hazard pointer blocked page eviction'),
CacheStat('cache_eviction_internal', 'internal pages evicted'),
CacheStat('cache_eviction_pages_seen', 'pages seen by eviction walk'),
- CacheStat('cache_eviction_random_sample_inmem_root', 'locate a random in-mem ref by examining all entries on the root page'),
CacheStat('cache_eviction_split_internal', 'internal pages split during eviction'),
CacheStat('cache_eviction_split_leaf', 'leaf pages split during eviction'),
CacheStat('cache_eviction_target_page_ge128', 'eviction walk target pages histogram - 128 and higher'),
@@ -855,7 +826,6 @@ conn_dsrc_stats = [
CacheStat('cache_eviction_target_page_lt64', 'eviction walk target pages histogram - 32-63'),
CacheStat('cache_eviction_target_page_reduced', 'eviction walk target pages reduced due to history store cache pressure'),
CacheStat('cache_eviction_walk_from_root', 'eviction walks started from root of tree'),
- CacheStat('cache_eviction_walk_random_returns_null_position', 'eviction walks random search fails to locate a page, results in a null position'),
CacheStat('cache_eviction_walk_restart', 'eviction walks restarted'),
CacheStat('cache_eviction_walk_saved_pos', 'eviction walks started from saved location in tree'),
CacheStat('cache_eviction_walks_abandoned', 'eviction walks abandoned'),
@@ -902,9 +872,6 @@ conn_dsrc_stats = [
CursorStat('cursor_prev_skip_total', 'Total number of entries skipped by cursor prev calls'),
CursorStat('cursor_search_near_prefix_fast_paths', 'Total number of times a search near has exited due to prefix config'),
CursorStat('cursor_skip_hs_cur_position', 'Total number of entries skipped to position the history store cursor'),
- CursorStat('cursor_tree_walk_del_page_skip', 'Total number of deleted pages skipped during tree walk'),
- CursorStat('cursor_tree_walk_inmem_del_page_skip', 'Total number of in-memory deleted pages skipped during tree walk'),
-
##########################################
# Checkpoint cleanup statistics
##########################################
@@ -958,9 +925,7 @@ conn_dsrc_stats = [
# Transaction statistics
##########################################
TxnStat('txn_checkpoint_obsolete_applied', 'transaction checkpoints due to obsolete pages'),
- TxnStat('txn_checkpoint_snapshot_acquired', 'checkpoint has acquired a snapshot for its transaction'),
TxnStat('txn_read_race_prepare_update', 'race to read prepared update retry'),
- TxnStat('txn_read_race_prepare_commit', 'a reader raced with a prepared transaction commit and skipped an update or updates'),
TxnStat('txn_rts_delete_rle_skipped', 'rollback to stable skipping delete rle'),
TxnStat('txn_rts_hs_removed', 'rollback to stable updates removed from history store'),
TxnStat('txn_rts_hs_restore_updates', 'rollback to stable restored updates from history store'),
@@ -998,7 +963,6 @@ session_stats = [
SessionStat('cache_time', 'time waiting for cache (usecs)'),
SessionStat('lock_dhandle_wait', 'dhandle lock wait time (usecs)'),
SessionStat('lock_schema_wait', 'schema lock wait time (usecs)'),
- SessionStat('txn_bytes_dirty', 'dirty bytes in this txn'),
SessionStat('read_time', 'page read from disk to cache time (usecs)'),
SessionStat('write_time', 'page write from cache to disk time (usecs)'),
]