diff options
| author | Luke Chen <luke.chen@mongodb.com> | 2023-07-31 15:04:59 +1000 |
|---|---|---|
| committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2023-07-31 05:21:01 +0000 |
| commit | 040c60e021aa6c85d94c266433b14f65b80f2fcf (patch) | |
| tree | a7a141634ae36c1b67a95fd7fd18a641c0028214 | |
| parent | 9303eacaef05071bf296217be169734d8b73eef9 (diff) | |
Import wiredtiger: 3cff49bd4b5585b563cbb1fba272b5ce28cd8660 from branch mongodb-4.4
ref: 9b7e4a5cc4..3cff49bd4b
for: 4.4.24
WT-8539 Correct description for statistic for rolling back oldest pinned.
| -rw-r--r-- | src/third_party/wiredtiger/dist/stat_data.py | 4 | ||||
| -rw-r--r-- | src/third_party/wiredtiger/import.data | 2 | ||||
| -rw-r--r-- | src/third_party/wiredtiger/src/evict/evict_lru.c | 2 | ||||
| -rw-r--r-- | src/third_party/wiredtiger/src/include/stat.h | 2 | ||||
| -rw-r--r-- | src/third_party/wiredtiger/src/include/wiredtiger.in | 116 | ||||
| -rw-r--r-- | src/third_party/wiredtiger/src/support/stat.c | 6 |
6 files changed, 66 insertions, 66 deletions
diff --git a/src/third_party/wiredtiger/dist/stat_data.py b/src/third_party/wiredtiger/dist/stat_data.py index f95c85ed06a..125087f6189 100644 --- a/src/third_party/wiredtiger/dist/stat_data.py +++ b/src/third_party/wiredtiger/dist/stat_data.py @@ -537,7 +537,6 @@ 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'), @@ -555,7 +554,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_fail_cache', 'transaction failures due to history store'), + TxnStat('txn_hs_ckpt_duration', 'transaction checkpoint history store file duration (usecs)'), 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'), @@ -574,6 +573,7 @@ conn_stats = [ 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'), diff --git a/src/third_party/wiredtiger/import.data b/src/third_party/wiredtiger/import.data index 706a3b3d3d0..4c1e49ae4fc 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-4.4", - "commit": "9b7e4a5cc49aec602e3e5c26d92b985265f286f8" + "commit": "3cff49bd4b5585b563cbb1fba272b5ce28cd8660" } diff --git a/src/third_party/wiredtiger/src/evict/evict_lru.c b/src/third_party/wiredtiger/src/evict/evict_lru.c index 0bfaf1c9f33..0eaf532ac60 100644 --- a/src/third_party/wiredtiger/src/evict/evict_lru.c +++ b/src/third_party/wiredtiger/src/evict/evict_lru.c @@ -2384,7 +2384,7 @@ __wt_cache_eviction_worker(WT_SESSION_IMPL *session, bool busy, bool readonly, d ret = __wt_txn_is_blocking(session); if (ret == WT_ROLLBACK) { --cache->evict_aggressive_score; - WT_STAT_CONN_INCR(session, txn_fail_cache); + WT_STAT_CONN_INCR(session, txn_rollback_oldest_pinned); if (app_thread) WT_TRET(__wt_msg(session, "%s", session->txn->rollback_reason)); } diff --git a/src/third_party/wiredtiger/src/include/stat.h b/src/third_party/wiredtiger/src/include/stat.h index b6224c04a9d..db91dfc7ce4 100644 --- a/src/third_party/wiredtiger/src/include/stat.h +++ b/src/third_party/wiredtiger/src/include/stat.h @@ -743,6 +743,7 @@ struct __wt_connection_stats { int64_t txn_prepared_updates_committed; int64_t txn_prepared_updates_key_repeated; int64_t txn_prepared_updates_rolledback; + int64_t txn_rollback_oldest_pinned; int64_t txn_prepare; int64_t txn_prepare_commit; int64_t txn_prepare_active; @@ -799,7 +800,6 @@ struct __wt_connection_stats { int64_t txn_checkpoint; int64_t txn_checkpoint_obsolete_applied; int64_t txn_checkpoint_skipped; - int64_t txn_fail_cache; int64_t txn_checkpoint_fsync_post; int64_t txn_checkpoint_fsync_post_duration; int64_t txn_pinned_range; diff --git a/src/third_party/wiredtiger/src/include/wiredtiger.in b/src/third_party/wiredtiger/src/include/wiredtiger.in index 0f837b559b7..ce8f39a2ce7 100644 --- a/src/third_party/wiredtiger/src/include/wiredtiger.in +++ b/src/third_party/wiredtiger/src/include/wiredtiger.in @@ -6075,147 +6075,147 @@ extern int wiredtiger_extension_terminate(WT_CONNECTION *connection); #define WT_STAT_CONN_TXN_PREPARED_UPDATES_KEY_REPEATED 1428 /*! transaction: Number of prepared updates rolled back */ #define WT_STAT_CONN_TXN_PREPARED_UPDATES_ROLLEDBACK 1429 +/*! transaction: oldest pinned transaction ID rolled back for eviction */ +#define WT_STAT_CONN_TXN_ROLLBACK_OLDEST_PINNED 1430 /*! transaction: prepared transactions */ -#define WT_STAT_CONN_TXN_PREPARE 1430 +#define WT_STAT_CONN_TXN_PREPARE 1431 /*! transaction: prepared transactions committed */ -#define WT_STAT_CONN_TXN_PREPARE_COMMIT 1431 +#define WT_STAT_CONN_TXN_PREPARE_COMMIT 1432 /*! transaction: prepared transactions currently active */ -#define WT_STAT_CONN_TXN_PREPARE_ACTIVE 1432 +#define WT_STAT_CONN_TXN_PREPARE_ACTIVE 1433 /*! transaction: prepared transactions rolled back */ -#define WT_STAT_CONN_TXN_PREPARE_ROLLBACK 1433 +#define WT_STAT_CONN_TXN_PREPARE_ROLLBACK 1434 /*! * transaction: prepared transactions rolled back and do not remove the * history store entry */ -#define WT_STAT_CONN_TXN_PREPARE_ROLLBACK_DO_NOT_REMOVE_HS_UPDATE 1434 +#define WT_STAT_CONN_TXN_PREPARE_ROLLBACK_DO_NOT_REMOVE_HS_UPDATE 1435 /*! * transaction: prepared transactions rolled back and fix the history * store entry with checkpoint reserved transaction id */ -#define WT_STAT_CONN_TXN_PREPARE_ROLLBACK_FIX_HS_UPDATE_WITH_CKPT_RESERVED_TXNID 1435 +#define WT_STAT_CONN_TXN_PREPARE_ROLLBACK_FIX_HS_UPDATE_WITH_CKPT_RESERVED_TXNID 1436 /*! transaction: query timestamp calls */ -#define WT_STAT_CONN_TXN_QUERY_TS 1436 +#define WT_STAT_CONN_TXN_QUERY_TS 1437 /*! transaction: race to read prepared update retry */ -#define WT_STAT_CONN_TXN_READ_RACE_PREPARE_UPDATE 1437 +#define WT_STAT_CONN_TXN_READ_RACE_PREPARE_UPDATE 1438 /*! transaction: rollback to stable calls */ -#define WT_STAT_CONN_TXN_RTS 1438 +#define WT_STAT_CONN_TXN_RTS 1439 /*! * 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 1439 +#define WT_STAT_CONN_TXN_RTS_HS_STOP_OLDER_THAN_NEWER_START 1440 /*! transaction: rollback to stable inconsistent checkpoint */ -#define WT_STAT_CONN_TXN_RTS_INCONSISTENT_CKPT 1440 +#define WT_STAT_CONN_TXN_RTS_INCONSISTENT_CKPT 1441 /*! transaction: rollback to stable keys removed */ -#define WT_STAT_CONN_TXN_RTS_KEYS_REMOVED 1441 +#define WT_STAT_CONN_TXN_RTS_KEYS_REMOVED 1442 /*! transaction: rollback to stable keys restored */ -#define WT_STAT_CONN_TXN_RTS_KEYS_RESTORED 1442 +#define WT_STAT_CONN_TXN_RTS_KEYS_RESTORED 1443 /*! transaction: rollback to stable pages visited */ -#define WT_STAT_CONN_TXN_RTS_PAGES_VISITED 1443 +#define WT_STAT_CONN_TXN_RTS_PAGES_VISITED 1444 /*! transaction: rollback to stable restored tombstones from history store */ -#define WT_STAT_CONN_TXN_RTS_HS_RESTORE_TOMBSTONES 1444 +#define WT_STAT_CONN_TXN_RTS_HS_RESTORE_TOMBSTONES 1445 /*! transaction: rollback to stable restored updates from history store */ -#define WT_STAT_CONN_TXN_RTS_HS_RESTORE_UPDATES 1445 +#define WT_STAT_CONN_TXN_RTS_HS_RESTORE_UPDATES 1446 /*! transaction: rollback to stable skipping delete rle */ -#define WT_STAT_CONN_TXN_RTS_DELETE_RLE_SKIPPED 1446 +#define WT_STAT_CONN_TXN_RTS_DELETE_RLE_SKIPPED 1447 /*! transaction: rollback to stable skipping stable rle */ -#define WT_STAT_CONN_TXN_RTS_STABLE_RLE_SKIPPED 1447 +#define WT_STAT_CONN_TXN_RTS_STABLE_RLE_SKIPPED 1448 /*! transaction: rollback to stable sweeping history store keys */ -#define WT_STAT_CONN_TXN_RTS_SWEEP_HS_KEYS 1448 +#define WT_STAT_CONN_TXN_RTS_SWEEP_HS_KEYS 1449 /*! transaction: rollback to stable tree walk skipping pages */ -#define WT_STAT_CONN_TXN_RTS_TREE_WALK_SKIP_PAGES 1449 +#define WT_STAT_CONN_TXN_RTS_TREE_WALK_SKIP_PAGES 1450 /*! transaction: rollback to stable updates aborted */ -#define WT_STAT_CONN_TXN_RTS_UPD_ABORTED 1450 +#define WT_STAT_CONN_TXN_RTS_UPD_ABORTED 1451 /*! transaction: rollback to stable updates removed from history store */ -#define WT_STAT_CONN_TXN_RTS_HS_REMOVED 1451 +#define WT_STAT_CONN_TXN_RTS_HS_REMOVED 1452 /*! transaction: sessions scanned in each walk of concurrent sessions */ -#define WT_STAT_CONN_TXN_SESSIONS_WALKED 1452 +#define WT_STAT_CONN_TXN_SESSIONS_WALKED 1453 /*! transaction: set timestamp calls */ -#define WT_STAT_CONN_TXN_SET_TS 1453 +#define WT_STAT_CONN_TXN_SET_TS 1454 /*! transaction: set timestamp durable calls */ -#define WT_STAT_CONN_TXN_SET_TS_DURABLE 1454 +#define WT_STAT_CONN_TXN_SET_TS_DURABLE 1455 /*! transaction: set timestamp durable updates */ -#define WT_STAT_CONN_TXN_SET_TS_DURABLE_UPD 1455 +#define WT_STAT_CONN_TXN_SET_TS_DURABLE_UPD 1456 /*! transaction: set timestamp oldest calls */ -#define WT_STAT_CONN_TXN_SET_TS_OLDEST 1456 +#define WT_STAT_CONN_TXN_SET_TS_OLDEST 1457 /*! transaction: set timestamp oldest updates */ -#define WT_STAT_CONN_TXN_SET_TS_OLDEST_UPD 1457 +#define WT_STAT_CONN_TXN_SET_TS_OLDEST_UPD 1458 /*! transaction: set timestamp stable calls */ -#define WT_STAT_CONN_TXN_SET_TS_STABLE 1458 +#define WT_STAT_CONN_TXN_SET_TS_STABLE 1459 /*! transaction: set timestamp stable updates */ -#define WT_STAT_CONN_TXN_SET_TS_STABLE_UPD 1459 +#define WT_STAT_CONN_TXN_SET_TS_STABLE_UPD 1460 /*! transaction: transaction begins */ -#define WT_STAT_CONN_TXN_BEGIN 1460 +#define WT_STAT_CONN_TXN_BEGIN 1461 /*! transaction: transaction checkpoint currently running */ -#define WT_STAT_CONN_TXN_CHECKPOINT_RUNNING 1461 +#define WT_STAT_CONN_TXN_CHECKPOINT_RUNNING 1462 /*! * transaction: transaction checkpoint currently running for history * store file */ -#define WT_STAT_CONN_TXN_CHECKPOINT_RUNNING_HS 1462 +#define WT_STAT_CONN_TXN_CHECKPOINT_RUNNING_HS 1463 /*! transaction: transaction checkpoint generation */ -#define WT_STAT_CONN_TXN_CHECKPOINT_GENERATION 1463 +#define WT_STAT_CONN_TXN_CHECKPOINT_GENERATION 1464 /*! * transaction: transaction checkpoint history store file duration * (usecs) */ -#define WT_STAT_CONN_TXN_HS_CKPT_DURATION 1464 +#define WT_STAT_CONN_TXN_HS_CKPT_DURATION 1465 /*! transaction: transaction checkpoint max time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MAX 1465 +#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MAX 1466 /*! transaction: transaction checkpoint min time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MIN 1466 +#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MIN 1467 /*! * transaction: transaction checkpoint most recent duration for gathering * all handles (usecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_DURATION 1467 +#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_DURATION 1468 /*! * transaction: transaction checkpoint most recent duration for gathering * applied handles (usecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_DURATION_APPLY 1468 +#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_DURATION_APPLY 1469 /*! * transaction: transaction checkpoint most recent duration for gathering * skipped handles (usecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_DURATION_SKIP 1469 +#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_DURATION_SKIP 1470 /*! transaction: transaction checkpoint most recent handles applied */ -#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_APPLIED 1470 +#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_APPLIED 1471 /*! transaction: transaction checkpoint most recent handles skipped */ -#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_SKIPPED 1471 +#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_SKIPPED 1472 /*! transaction: transaction checkpoint most recent handles walked */ -#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_WALKED 1472 +#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_WALKED 1473 /*! transaction: transaction checkpoint most recent time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_RECENT 1473 +#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_RECENT 1474 /*! transaction: transaction checkpoint prepare currently running */ -#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_RUNNING 1474 +#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_RUNNING 1475 /*! transaction: transaction checkpoint prepare max time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_MAX 1475 +#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_MAX 1476 /*! transaction: transaction checkpoint prepare min time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_MIN 1476 +#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_MIN 1477 /*! transaction: transaction checkpoint prepare most recent time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_RECENT 1477 +#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_RECENT 1478 /*! transaction: transaction checkpoint prepare total time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_TOTAL 1478 +#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_TOTAL 1479 /*! transaction: transaction checkpoint scrub dirty target */ -#define WT_STAT_CONN_TXN_CHECKPOINT_SCRUB_TARGET 1479 +#define WT_STAT_CONN_TXN_CHECKPOINT_SCRUB_TARGET 1480 /*! transaction: transaction checkpoint scrub time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_SCRUB_TIME 1480 +#define WT_STAT_CONN_TXN_CHECKPOINT_SCRUB_TIME 1481 /*! transaction: transaction checkpoint stop timing stress active */ -#define WT_STAT_CONN_TXN_CHECKPOINT_STOP_STRESS_ACTIVE 1481 +#define WT_STAT_CONN_TXN_CHECKPOINT_STOP_STRESS_ACTIVE 1482 /*! transaction: transaction checkpoint total time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_TOTAL 1482 +#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_TOTAL 1483 /*! transaction: transaction checkpoints */ -#define WT_STAT_CONN_TXN_CHECKPOINT 1483 +#define WT_STAT_CONN_TXN_CHECKPOINT 1484 /*! transaction: transaction checkpoints due to obsolete pages */ -#define WT_STAT_CONN_TXN_CHECKPOINT_OBSOLETE_APPLIED 1484 +#define WT_STAT_CONN_TXN_CHECKPOINT_OBSOLETE_APPLIED 1485 /*! * transaction: transaction checkpoints skipped because database was * clean */ -#define WT_STAT_CONN_TXN_CHECKPOINT_SKIPPED 1485 -/*! transaction: transaction failures due to history store */ -#define WT_STAT_CONN_TXN_FAIL_CACHE 1486 +#define WT_STAT_CONN_TXN_CHECKPOINT_SKIPPED 1486 /*! * transaction: transaction fsync calls for checkpoint after allocating * the transaction ID diff --git a/src/third_party/wiredtiger/src/support/stat.c b/src/third_party/wiredtiger/src/support/stat.c index 8c3ab3681e7..bd9efd34b9e 100644 --- a/src/third_party/wiredtiger/src/support/stat.c +++ b/src/third_party/wiredtiger/src/support/stat.c @@ -1472,6 +1472,7 @@ static const char *const __stats_connection_desc[] = { "transaction: Number of prepared updates committed", "transaction: Number of prepared updates repeated on the same key", "transaction: Number of prepared updates rolled back", + "transaction: oldest pinned transaction ID rolled back for eviction", "transaction: prepared transactions", "transaction: prepared transactions committed", "transaction: prepared transactions currently active", @@ -1530,7 +1531,6 @@ static const char *const __stats_connection_desc[] = { "transaction: transaction checkpoints", "transaction: transaction checkpoints due to obsolete pages", "transaction: transaction checkpoints skipped because database was clean", - "transaction: transaction failures due to history store", "transaction: transaction fsync calls for checkpoint after allocating the transaction ID", "transaction: transaction fsync duration for checkpoint after allocating the transaction ID " "(usecs)", @@ -2016,6 +2016,7 @@ __wt_stat_connection_clear_single(WT_CONNECTION_STATS *stats) stats->txn_prepared_updates_committed = 0; stats->txn_prepared_updates_key_repeated = 0; stats->txn_prepared_updates_rolledback = 0; + stats->txn_rollback_oldest_pinned = 0; stats->txn_prepare = 0; stats->txn_prepare_commit = 0; stats->txn_prepare_active = 0; @@ -2072,7 +2073,6 @@ __wt_stat_connection_clear_single(WT_CONNECTION_STATS *stats) stats->txn_checkpoint = 0; stats->txn_checkpoint_obsolete_applied = 0; stats->txn_checkpoint_skipped = 0; - stats->txn_fail_cache = 0; stats->txn_checkpoint_fsync_post = 0; /* not clearing txn_checkpoint_fsync_post_duration */ /* not clearing txn_pinned_range */ @@ -2578,6 +2578,7 @@ __wt_stat_connection_aggregate(WT_CONNECTION_STATS **from, WT_CONNECTION_STATS * to->txn_prepared_updates_committed += WT_STAT_READ(from, txn_prepared_updates_committed); to->txn_prepared_updates_key_repeated += WT_STAT_READ(from, txn_prepared_updates_key_repeated); to->txn_prepared_updates_rolledback += WT_STAT_READ(from, txn_prepared_updates_rolledback); + to->txn_rollback_oldest_pinned += WT_STAT_READ(from, txn_rollback_oldest_pinned); to->txn_prepare += WT_STAT_READ(from, txn_prepare); to->txn_prepare_commit += WT_STAT_READ(from, txn_prepare_commit); to->txn_prepare_active += WT_STAT_READ(from, txn_prepare_active); @@ -2639,7 +2640,6 @@ __wt_stat_connection_aggregate(WT_CONNECTION_STATS **from, WT_CONNECTION_STATS * to->txn_checkpoint += WT_STAT_READ(from, txn_checkpoint); to->txn_checkpoint_obsolete_applied += WT_STAT_READ(from, txn_checkpoint_obsolete_applied); to->txn_checkpoint_skipped += WT_STAT_READ(from, txn_checkpoint_skipped); - to->txn_fail_cache += WT_STAT_READ(from, txn_fail_cache); to->txn_checkpoint_fsync_post += WT_STAT_READ(from, txn_checkpoint_fsync_post); to->txn_checkpoint_fsync_post_duration += WT_STAT_READ(from, txn_checkpoint_fsync_post_duration); |
