summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Chen <luke.chen@mongodb.com>2022-09-09 16:05:01 +1000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-09-09 06:34:14 +0000
commiteac2f0e5cd4b9f350842b961c659d47926d89b87 (patch)
tree3359da599b9b8946bada32716d61535aca204652
parentae9ebae348d3f87e6a69ebff90aa24792a9dd365 (diff)
downloadmongo-eac2f0e5cd4b9f350842b961c659d47926d89b87.tar.gz
Import wiredtiger: fc5838e9095b279533f151b03dc31ff2f3756b00 from branch mongodb-6.1
ref: c004346e10..fc5838e909 for: 6.1.0-rc2 WT-9816 Add session_flush_tier_readonly for readonly connections. (#8242)
-rw-r--r--src/third_party/wiredtiger/dist/stat_data.py1
-rw-r--r--src/third_party/wiredtiger/import.data2
-rw-r--r--src/third_party/wiredtiger/src/include/stat.h1
-rw-r--r--src/third_party/wiredtiger/src/include/wiredtiger.in250
-rw-r--r--src/third_party/wiredtiger/src/session/session_api.c37
-rw-r--r--src/third_party/wiredtiger/src/support/stat.c3
-rw-r--r--src/third_party/wiredtiger/test/suite/test_readonly03.py5
7 files changed, 166 insertions, 133 deletions
diff --git a/src/third_party/wiredtiger/dist/stat_data.py b/src/third_party/wiredtiger/dist/stat_data.py
index d7b9b61a052..733cfc3e1e8 100644
--- a/src/third_party/wiredtiger/dist/stat_data.py
+++ b/src/third_party/wiredtiger/dist/stat_data.py
@@ -539,6 +539,7 @@ conn_stats = [
# Tiered storage statistics
##########################################
StorageStat('flush_tier', 'flush_tier operation calls'),
+ StorageStat('flush_tier_fail', 'flush_tier failed calls'),
StorageStat('flush_tier_skipped', 'flush_tier tables skipped due to no checkpoint'),
StorageStat('flush_tier_switched', 'flush_tier tables switched'),
StorageStat('local_objects_inuse', 'attempts to remove a local object and the object is in use'),
diff --git a/src/third_party/wiredtiger/import.data b/src/third_party/wiredtiger/import.data
index 543dc47d308..7a73b926bf0 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-6.1",
- "commit": "c004346e10b186c1ecea4a1ee3186619666c9c17"
+ "commit": "fc5838e9095b279533f151b03dc31ff2f3756b00"
}
diff --git a/src/third_party/wiredtiger/src/include/stat.h b/src/third_party/wiredtiger/src/include/stat.h
index 53e371a6e24..7025659b9d3 100644
--- a/src/third_party/wiredtiger/src/include/stat.h
+++ b/src/third_party/wiredtiger/src/include/stat.h
@@ -769,6 +769,7 @@ struct __wt_connection_stats {
int64_t rec_split_stashed_bytes;
int64_t rec_split_stashed_objects;
int64_t local_objects_inuse;
+ int64_t flush_tier_fail;
int64_t flush_tier;
int64_t flush_tier_skipped;
int64_t flush_tier_switched;
diff --git a/src/third_party/wiredtiger/src/include/wiredtiger.in b/src/third_party/wiredtiger/src/include/wiredtiger.in
index 1b460ed6602..56c8e026575 100644
--- a/src/third_party/wiredtiger/src/include/wiredtiger.in
+++ b/src/third_party/wiredtiger/src/include/wiredtiger.in
@@ -6267,296 +6267,298 @@ extern int wiredtiger_extension_terminate(WT_CONNECTION *connection);
#define WT_STAT_CONN_REC_SPLIT_STASHED_OBJECTS 1428
/*! session: attempts to remove a local object and the object is in use */
#define WT_STAT_CONN_LOCAL_OBJECTS_INUSE 1429
+/*! session: flush_tier failed calls */
+#define WT_STAT_CONN_FLUSH_TIER_FAIL 1430
/*! session: flush_tier operation calls */
-#define WT_STAT_CONN_FLUSH_TIER 1430
+#define WT_STAT_CONN_FLUSH_TIER 1431
/*! session: flush_tier tables skipped due to no checkpoint */
-#define WT_STAT_CONN_FLUSH_TIER_SKIPPED 1431
+#define WT_STAT_CONN_FLUSH_TIER_SKIPPED 1432
/*! session: flush_tier tables switched */
-#define WT_STAT_CONN_FLUSH_TIER_SWITCHED 1432
+#define WT_STAT_CONN_FLUSH_TIER_SWITCHED 1433
/*! session: local objects removed */
-#define WT_STAT_CONN_LOCAL_OBJECTS_REMOVED 1433
+#define WT_STAT_CONN_LOCAL_OBJECTS_REMOVED 1434
/*! session: open session count */
-#define WT_STAT_CONN_SESSION_OPEN 1434
+#define WT_STAT_CONN_SESSION_OPEN 1435
/*! session: session query timestamp calls */
-#define WT_STAT_CONN_SESSION_QUERY_TS 1435
+#define WT_STAT_CONN_SESSION_QUERY_TS 1436
/*! session: table alter failed calls */
-#define WT_STAT_CONN_SESSION_TABLE_ALTER_FAIL 1436
+#define WT_STAT_CONN_SESSION_TABLE_ALTER_FAIL 1437
/*! session: table alter successful calls */
-#define WT_STAT_CONN_SESSION_TABLE_ALTER_SUCCESS 1437
+#define WT_STAT_CONN_SESSION_TABLE_ALTER_SUCCESS 1438
/*! session: table alter triggering checkpoint calls */
-#define WT_STAT_CONN_SESSION_TABLE_ALTER_TRIGGER_CHECKPOINT 1438
+#define WT_STAT_CONN_SESSION_TABLE_ALTER_TRIGGER_CHECKPOINT 1439
/*! session: table alter unchanged and skipped */
-#define WT_STAT_CONN_SESSION_TABLE_ALTER_SKIP 1439
+#define WT_STAT_CONN_SESSION_TABLE_ALTER_SKIP 1440
/*! session: table compact failed calls */
-#define WT_STAT_CONN_SESSION_TABLE_COMPACT_FAIL 1440
+#define WT_STAT_CONN_SESSION_TABLE_COMPACT_FAIL 1441
/*! session: table compact failed calls due to cache pressure */
-#define WT_STAT_CONN_SESSION_TABLE_COMPACT_FAIL_CACHE_PRESSURE 1441
+#define WT_STAT_CONN_SESSION_TABLE_COMPACT_FAIL_CACHE_PRESSURE 1442
/*! session: table compact running */
-#define WT_STAT_CONN_SESSION_TABLE_COMPACT_RUNNING 1442
+#define WT_STAT_CONN_SESSION_TABLE_COMPACT_RUNNING 1443
/*! session: table compact skipped as process would not reduce file size */
-#define WT_STAT_CONN_SESSION_TABLE_COMPACT_SKIPPED 1443
+#define WT_STAT_CONN_SESSION_TABLE_COMPACT_SKIPPED 1444
/*! session: table compact successful calls */
-#define WT_STAT_CONN_SESSION_TABLE_COMPACT_SUCCESS 1444
+#define WT_STAT_CONN_SESSION_TABLE_COMPACT_SUCCESS 1445
/*! session: table compact timeout */
-#define WT_STAT_CONN_SESSION_TABLE_COMPACT_TIMEOUT 1445
+#define WT_STAT_CONN_SESSION_TABLE_COMPACT_TIMEOUT 1446
/*! session: table create failed calls */
-#define WT_STAT_CONN_SESSION_TABLE_CREATE_FAIL 1446
+#define WT_STAT_CONN_SESSION_TABLE_CREATE_FAIL 1447
/*! session: table create successful calls */
-#define WT_STAT_CONN_SESSION_TABLE_CREATE_SUCCESS 1447
+#define WT_STAT_CONN_SESSION_TABLE_CREATE_SUCCESS 1448
/*! session: table create with import failed calls */
-#define WT_STAT_CONN_SESSION_TABLE_CREATE_IMPORT_FAIL 1448
+#define WT_STAT_CONN_SESSION_TABLE_CREATE_IMPORT_FAIL 1449
/*! session: table create with import successful calls */
-#define WT_STAT_CONN_SESSION_TABLE_CREATE_IMPORT_SUCCESS 1449
+#define WT_STAT_CONN_SESSION_TABLE_CREATE_IMPORT_SUCCESS 1450
/*! session: table drop failed calls */
-#define WT_STAT_CONN_SESSION_TABLE_DROP_FAIL 1450
+#define WT_STAT_CONN_SESSION_TABLE_DROP_FAIL 1451
/*! session: table drop successful calls */
-#define WT_STAT_CONN_SESSION_TABLE_DROP_SUCCESS 1451
+#define WT_STAT_CONN_SESSION_TABLE_DROP_SUCCESS 1452
/*! session: table rename failed calls */
-#define WT_STAT_CONN_SESSION_TABLE_RENAME_FAIL 1452
+#define WT_STAT_CONN_SESSION_TABLE_RENAME_FAIL 1453
/*! session: table rename successful calls */
-#define WT_STAT_CONN_SESSION_TABLE_RENAME_SUCCESS 1453
+#define WT_STAT_CONN_SESSION_TABLE_RENAME_SUCCESS 1454
/*! session: table salvage failed calls */
-#define WT_STAT_CONN_SESSION_TABLE_SALVAGE_FAIL 1454
+#define WT_STAT_CONN_SESSION_TABLE_SALVAGE_FAIL 1455
/*! session: table salvage successful calls */
-#define WT_STAT_CONN_SESSION_TABLE_SALVAGE_SUCCESS 1455
+#define WT_STAT_CONN_SESSION_TABLE_SALVAGE_SUCCESS 1456
/*! session: table truncate failed calls */
-#define WT_STAT_CONN_SESSION_TABLE_TRUNCATE_FAIL 1456
+#define WT_STAT_CONN_SESSION_TABLE_TRUNCATE_FAIL 1457
/*! session: table truncate successful calls */
-#define WT_STAT_CONN_SESSION_TABLE_TRUNCATE_SUCCESS 1457
+#define WT_STAT_CONN_SESSION_TABLE_TRUNCATE_SUCCESS 1458
/*! session: table verify failed calls */
-#define WT_STAT_CONN_SESSION_TABLE_VERIFY_FAIL 1458
+#define WT_STAT_CONN_SESSION_TABLE_VERIFY_FAIL 1459
/*! session: table verify successful calls */
-#define WT_STAT_CONN_SESSION_TABLE_VERIFY_SUCCESS 1459
+#define WT_STAT_CONN_SESSION_TABLE_VERIFY_SUCCESS 1460
/*! session: tiered operations dequeued and processed */
-#define WT_STAT_CONN_TIERED_WORK_UNITS_DEQUEUED 1460
+#define WT_STAT_CONN_TIERED_WORK_UNITS_DEQUEUED 1461
/*! session: tiered operations removed without processing */
-#define WT_STAT_CONN_TIERED_WORK_UNITS_REMOVED 1461
+#define WT_STAT_CONN_TIERED_WORK_UNITS_REMOVED 1462
/*! session: tiered operations scheduled */
-#define WT_STAT_CONN_TIERED_WORK_UNITS_CREATED 1462
+#define WT_STAT_CONN_TIERED_WORK_UNITS_CREATED 1463
/*! session: tiered storage local retention time (secs) */
-#define WT_STAT_CONN_TIERED_RETENTION 1463
+#define WT_STAT_CONN_TIERED_RETENTION 1464
/*! thread-state: active filesystem fsync calls */
-#define WT_STAT_CONN_THREAD_FSYNC_ACTIVE 1464
+#define WT_STAT_CONN_THREAD_FSYNC_ACTIVE 1465
/*! thread-state: active filesystem read calls */
-#define WT_STAT_CONN_THREAD_READ_ACTIVE 1465
+#define WT_STAT_CONN_THREAD_READ_ACTIVE 1466
/*! thread-state: active filesystem write calls */
-#define WT_STAT_CONN_THREAD_WRITE_ACTIVE 1466
+#define WT_STAT_CONN_THREAD_WRITE_ACTIVE 1467
/*! thread-yield: application thread time evicting (usecs) */
-#define WT_STAT_CONN_APPLICATION_EVICT_TIME 1467
+#define WT_STAT_CONN_APPLICATION_EVICT_TIME 1468
/*! thread-yield: application thread time waiting for cache (usecs) */
-#define WT_STAT_CONN_APPLICATION_CACHE_TIME 1468
+#define WT_STAT_CONN_APPLICATION_CACHE_TIME 1469
/*!
* thread-yield: connection close blocked waiting for transaction state
* stabilization
*/
-#define WT_STAT_CONN_TXN_RELEASE_BLOCKED 1469
+#define WT_STAT_CONN_TXN_RELEASE_BLOCKED 1470
/*! thread-yield: connection close yielded for lsm manager shutdown */
-#define WT_STAT_CONN_CONN_CLOSE_BLOCKED_LSM 1470
+#define WT_STAT_CONN_CONN_CLOSE_BLOCKED_LSM 1471
/*! thread-yield: data handle lock yielded */
-#define WT_STAT_CONN_DHANDLE_LOCK_BLOCKED 1471
+#define WT_STAT_CONN_DHANDLE_LOCK_BLOCKED 1472
/*!
* thread-yield: get reference for page index and slot time sleeping
* (usecs)
*/
-#define WT_STAT_CONN_PAGE_INDEX_SLOT_REF_BLOCKED 1472
+#define WT_STAT_CONN_PAGE_INDEX_SLOT_REF_BLOCKED 1473
/*! thread-yield: page access yielded due to prepare state change */
-#define WT_STAT_CONN_PREPARED_TRANSITION_BLOCKED_PAGE 1473
+#define WT_STAT_CONN_PREPARED_TRANSITION_BLOCKED_PAGE 1474
/*! thread-yield: page acquire busy blocked */
-#define WT_STAT_CONN_PAGE_BUSY_BLOCKED 1474
+#define WT_STAT_CONN_PAGE_BUSY_BLOCKED 1475
/*! thread-yield: page acquire eviction blocked */
-#define WT_STAT_CONN_PAGE_FORCIBLE_EVICT_BLOCKED 1475
+#define WT_STAT_CONN_PAGE_FORCIBLE_EVICT_BLOCKED 1476
/*! thread-yield: page acquire locked blocked */
-#define WT_STAT_CONN_PAGE_LOCKED_BLOCKED 1476
+#define WT_STAT_CONN_PAGE_LOCKED_BLOCKED 1477
/*! thread-yield: page acquire read blocked */
-#define WT_STAT_CONN_PAGE_READ_BLOCKED 1477
+#define WT_STAT_CONN_PAGE_READ_BLOCKED 1478
/*! thread-yield: page acquire time sleeping (usecs) */
-#define WT_STAT_CONN_PAGE_SLEEP 1478
+#define WT_STAT_CONN_PAGE_SLEEP 1479
/*!
* thread-yield: page delete rollback time sleeping for state change
* (usecs)
*/
-#define WT_STAT_CONN_PAGE_DEL_ROLLBACK_BLOCKED 1479
+#define WT_STAT_CONN_PAGE_DEL_ROLLBACK_BLOCKED 1480
/*! thread-yield: page reconciliation yielded due to child modification */
-#define WT_STAT_CONN_CHILD_MODIFY_BLOCKED_PAGE 1480
+#define WT_STAT_CONN_CHILD_MODIFY_BLOCKED_PAGE 1481
/*! transaction: Number of prepared updates */
-#define WT_STAT_CONN_TXN_PREPARED_UPDATES 1481
+#define WT_STAT_CONN_TXN_PREPARED_UPDATES 1482
/*! transaction: Number of prepared updates committed */
-#define WT_STAT_CONN_TXN_PREPARED_UPDATES_COMMITTED 1482
+#define WT_STAT_CONN_TXN_PREPARED_UPDATES_COMMITTED 1483
/*! transaction: Number of prepared updates repeated on the same key */
-#define WT_STAT_CONN_TXN_PREPARED_UPDATES_KEY_REPEATED 1483
+#define WT_STAT_CONN_TXN_PREPARED_UPDATES_KEY_REPEATED 1484
/*! transaction: Number of prepared updates rolled back */
-#define WT_STAT_CONN_TXN_PREPARED_UPDATES_ROLLEDBACK 1484
+#define WT_STAT_CONN_TXN_PREPARED_UPDATES_ROLLEDBACK 1485
/*! transaction: prepared transactions */
-#define WT_STAT_CONN_TXN_PREPARE 1485
+#define WT_STAT_CONN_TXN_PREPARE 1486
/*! transaction: prepared transactions committed */
-#define WT_STAT_CONN_TXN_PREPARE_COMMIT 1486
+#define WT_STAT_CONN_TXN_PREPARE_COMMIT 1487
/*! transaction: prepared transactions currently active */
-#define WT_STAT_CONN_TXN_PREPARE_ACTIVE 1487
+#define WT_STAT_CONN_TXN_PREPARE_ACTIVE 1488
/*! transaction: prepared transactions rolled back */
-#define WT_STAT_CONN_TXN_PREPARE_ROLLBACK 1488
+#define WT_STAT_CONN_TXN_PREPARE_ROLLBACK 1489
/*! transaction: query timestamp calls */
-#define WT_STAT_CONN_TXN_QUERY_TS 1489
+#define WT_STAT_CONN_TXN_QUERY_TS 1490
/*! transaction: race to read prepared update retry */
-#define WT_STAT_CONN_TXN_READ_RACE_PREPARE_UPDATE 1490
+#define WT_STAT_CONN_TXN_READ_RACE_PREPARE_UPDATE 1491
/*! transaction: rollback to stable calls */
-#define WT_STAT_CONN_TXN_RTS 1491
+#define WT_STAT_CONN_TXN_RTS 1492
/*!
* 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 1492
+#define WT_STAT_CONN_TXN_RTS_HS_STOP_OLDER_THAN_NEWER_START 1493
/*! transaction: rollback to stable inconsistent checkpoint */
-#define WT_STAT_CONN_TXN_RTS_INCONSISTENT_CKPT 1493
+#define WT_STAT_CONN_TXN_RTS_INCONSISTENT_CKPT 1494
/*! transaction: rollback to stable keys removed */
-#define WT_STAT_CONN_TXN_RTS_KEYS_REMOVED 1494
+#define WT_STAT_CONN_TXN_RTS_KEYS_REMOVED 1495
/*! transaction: rollback to stable keys restored */
-#define WT_STAT_CONN_TXN_RTS_KEYS_RESTORED 1495
+#define WT_STAT_CONN_TXN_RTS_KEYS_RESTORED 1496
/*! transaction: rollback to stable pages visited */
-#define WT_STAT_CONN_TXN_RTS_PAGES_VISITED 1496
+#define WT_STAT_CONN_TXN_RTS_PAGES_VISITED 1497
/*! transaction: rollback to stable restored tombstones from history store */
-#define WT_STAT_CONN_TXN_RTS_HS_RESTORE_TOMBSTONES 1497
+#define WT_STAT_CONN_TXN_RTS_HS_RESTORE_TOMBSTONES 1498
/*! transaction: rollback to stable restored updates from history store */
-#define WT_STAT_CONN_TXN_RTS_HS_RESTORE_UPDATES 1498
+#define WT_STAT_CONN_TXN_RTS_HS_RESTORE_UPDATES 1499
/*! transaction: rollback to stable skipping delete rle */
-#define WT_STAT_CONN_TXN_RTS_DELETE_RLE_SKIPPED 1499
+#define WT_STAT_CONN_TXN_RTS_DELETE_RLE_SKIPPED 1500
/*! transaction: rollback to stable skipping stable rle */
-#define WT_STAT_CONN_TXN_RTS_STABLE_RLE_SKIPPED 1500
+#define WT_STAT_CONN_TXN_RTS_STABLE_RLE_SKIPPED 1501
/*! transaction: rollback to stable sweeping history store keys */
-#define WT_STAT_CONN_TXN_RTS_SWEEP_HS_KEYS 1501
+#define WT_STAT_CONN_TXN_RTS_SWEEP_HS_KEYS 1502
/*! transaction: rollback to stable tree walk skipping pages */
-#define WT_STAT_CONN_TXN_RTS_TREE_WALK_SKIP_PAGES 1502
+#define WT_STAT_CONN_TXN_RTS_TREE_WALK_SKIP_PAGES 1503
/*! transaction: rollback to stable updates aborted */
-#define WT_STAT_CONN_TXN_RTS_UPD_ABORTED 1503
+#define WT_STAT_CONN_TXN_RTS_UPD_ABORTED 1504
/*! transaction: rollback to stable updates removed from history store */
-#define WT_STAT_CONN_TXN_RTS_HS_REMOVED 1504
+#define WT_STAT_CONN_TXN_RTS_HS_REMOVED 1505
/*! transaction: sessions scanned in each walk of concurrent sessions */
-#define WT_STAT_CONN_TXN_SESSIONS_WALKED 1505
+#define WT_STAT_CONN_TXN_SESSIONS_WALKED 1506
/*! transaction: set timestamp calls */
-#define WT_STAT_CONN_TXN_SET_TS 1506
+#define WT_STAT_CONN_TXN_SET_TS 1507
/*! transaction: set timestamp durable calls */
-#define WT_STAT_CONN_TXN_SET_TS_DURABLE 1507
+#define WT_STAT_CONN_TXN_SET_TS_DURABLE 1508
/*! transaction: set timestamp durable updates */
-#define WT_STAT_CONN_TXN_SET_TS_DURABLE_UPD 1508
+#define WT_STAT_CONN_TXN_SET_TS_DURABLE_UPD 1509
/*! transaction: set timestamp oldest calls */
-#define WT_STAT_CONN_TXN_SET_TS_OLDEST 1509
+#define WT_STAT_CONN_TXN_SET_TS_OLDEST 1510
/*! transaction: set timestamp oldest updates */
-#define WT_STAT_CONN_TXN_SET_TS_OLDEST_UPD 1510
+#define WT_STAT_CONN_TXN_SET_TS_OLDEST_UPD 1511
/*! transaction: set timestamp stable calls */
-#define WT_STAT_CONN_TXN_SET_TS_STABLE 1511
+#define WT_STAT_CONN_TXN_SET_TS_STABLE 1512
/*! transaction: set timestamp stable updates */
-#define WT_STAT_CONN_TXN_SET_TS_STABLE_UPD 1512
+#define WT_STAT_CONN_TXN_SET_TS_STABLE_UPD 1513
/*! transaction: transaction begins */
-#define WT_STAT_CONN_TXN_BEGIN 1513
+#define WT_STAT_CONN_TXN_BEGIN 1514
/*! transaction: transaction checkpoint currently running */
-#define WT_STAT_CONN_TXN_CHECKPOINT_RUNNING 1514
+#define WT_STAT_CONN_TXN_CHECKPOINT_RUNNING 1515
/*!
* transaction: transaction checkpoint currently running for history
* store file
*/
-#define WT_STAT_CONN_TXN_CHECKPOINT_RUNNING_HS 1515
+#define WT_STAT_CONN_TXN_CHECKPOINT_RUNNING_HS 1516
/*! transaction: transaction checkpoint generation */
-#define WT_STAT_CONN_TXN_CHECKPOINT_GENERATION 1516
+#define WT_STAT_CONN_TXN_CHECKPOINT_GENERATION 1517
/*!
* transaction: transaction checkpoint history store file duration
* (usecs)
*/
-#define WT_STAT_CONN_TXN_HS_CKPT_DURATION 1517
+#define WT_STAT_CONN_TXN_HS_CKPT_DURATION 1518
/*! transaction: transaction checkpoint max time (msecs) */
-#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MAX 1518
+#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MAX 1519
/*! transaction: transaction checkpoint min time (msecs) */
-#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MIN 1519
+#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MIN 1520
/*!
* transaction: transaction checkpoint most recent duration for gathering
* all handles (usecs)
*/
-#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_DURATION 1520
+#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_DURATION 1521
/*!
* transaction: transaction checkpoint most recent duration for gathering
* applied handles (usecs)
*/
-#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_DURATION_APPLY 1521
+#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_DURATION_APPLY 1522
/*!
* transaction: transaction checkpoint most recent duration for gathering
* skipped handles (usecs)
*/
-#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_DURATION_SKIP 1522
+#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_DURATION_SKIP 1523
/*! transaction: transaction checkpoint most recent handles applied */
-#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_APPLIED 1523
+#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_APPLIED 1524
/*! transaction: transaction checkpoint most recent handles skipped */
-#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_SKIPPED 1524
+#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_SKIPPED 1525
/*! transaction: transaction checkpoint most recent handles walked */
-#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_WALKED 1525
+#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_WALKED 1526
/*! transaction: transaction checkpoint most recent time (msecs) */
-#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_RECENT 1526
+#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_RECENT 1527
/*! transaction: transaction checkpoint prepare currently running */
-#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_RUNNING 1527
+#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_RUNNING 1528
/*! transaction: transaction checkpoint prepare max time (msecs) */
-#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_MAX 1528
+#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_MAX 1529
/*! transaction: transaction checkpoint prepare min time (msecs) */
-#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_MIN 1529
+#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_MIN 1530
/*! transaction: transaction checkpoint prepare most recent time (msecs) */
-#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_RECENT 1530
+#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_RECENT 1531
/*! transaction: transaction checkpoint prepare total time (msecs) */
-#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_TOTAL 1531
+#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_TOTAL 1532
/*! transaction: transaction checkpoint scrub dirty target */
-#define WT_STAT_CONN_TXN_CHECKPOINT_SCRUB_TARGET 1532
+#define WT_STAT_CONN_TXN_CHECKPOINT_SCRUB_TARGET 1533
/*! transaction: transaction checkpoint scrub time (msecs) */
-#define WT_STAT_CONN_TXN_CHECKPOINT_SCRUB_TIME 1533
+#define WT_STAT_CONN_TXN_CHECKPOINT_SCRUB_TIME 1534
/*! transaction: transaction checkpoint stop timing stress active */
-#define WT_STAT_CONN_TXN_CHECKPOINT_STOP_STRESS_ACTIVE 1534
+#define WT_STAT_CONN_TXN_CHECKPOINT_STOP_STRESS_ACTIVE 1535
/*! transaction: transaction checkpoint total time (msecs) */
-#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_TOTAL 1535
+#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_TOTAL 1536
/*! transaction: transaction checkpoints */
-#define WT_STAT_CONN_TXN_CHECKPOINT 1536
+#define WT_STAT_CONN_TXN_CHECKPOINT 1537
/*! transaction: transaction checkpoints due to obsolete pages */
-#define WT_STAT_CONN_TXN_CHECKPOINT_OBSOLETE_APPLIED 1537
+#define WT_STAT_CONN_TXN_CHECKPOINT_OBSOLETE_APPLIED 1538
/*!
* transaction: transaction checkpoints skipped because database was
* clean
*/
-#define WT_STAT_CONN_TXN_CHECKPOINT_SKIPPED 1538
+#define WT_STAT_CONN_TXN_CHECKPOINT_SKIPPED 1539
/*! transaction: transaction failures due to history store */
-#define WT_STAT_CONN_TXN_FAIL_CACHE 1539
+#define WT_STAT_CONN_TXN_FAIL_CACHE 1540
/*!
* transaction: transaction fsync calls for checkpoint after allocating
* the transaction ID
*/
-#define WT_STAT_CONN_TXN_CHECKPOINT_FSYNC_POST 1540
+#define WT_STAT_CONN_TXN_CHECKPOINT_FSYNC_POST 1541
/*!
* transaction: transaction fsync duration for checkpoint after
* allocating the transaction ID (usecs)
*/
-#define WT_STAT_CONN_TXN_CHECKPOINT_FSYNC_POST_DURATION 1541
+#define WT_STAT_CONN_TXN_CHECKPOINT_FSYNC_POST_DURATION 1542
/*! transaction: transaction range of IDs currently pinned */
-#define WT_STAT_CONN_TXN_PINNED_RANGE 1542
+#define WT_STAT_CONN_TXN_PINNED_RANGE 1543
/*! transaction: transaction range of IDs currently pinned by a checkpoint */
-#define WT_STAT_CONN_TXN_PINNED_CHECKPOINT_RANGE 1543
+#define WT_STAT_CONN_TXN_PINNED_CHECKPOINT_RANGE 1544
/*! transaction: transaction range of timestamps currently pinned */
-#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP 1544
+#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP 1545
/*! transaction: transaction range of timestamps pinned by a checkpoint */
-#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP_CHECKPOINT 1545
+#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP_CHECKPOINT 1546
/*!
* transaction: transaction range of timestamps pinned by the oldest
* active read timestamp
*/
-#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP_READER 1546
+#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP_READER 1547
/*!
* transaction: transaction range of timestamps pinned by the oldest
* timestamp
*/
-#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP_OLDEST 1547
+#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP_OLDEST 1548
/*! transaction: transaction read timestamp of the oldest active reader */
-#define WT_STAT_CONN_TXN_TIMESTAMP_OLDEST_ACTIVE_READ 1548
+#define WT_STAT_CONN_TXN_TIMESTAMP_OLDEST_ACTIVE_READ 1549
/*! transaction: transaction rollback to stable currently running */
-#define WT_STAT_CONN_TXN_ROLLBACK_TO_STABLE_RUNNING 1549
+#define WT_STAT_CONN_TXN_ROLLBACK_TO_STABLE_RUNNING 1550
/*! transaction: transaction walk of concurrent sessions */
-#define WT_STAT_CONN_TXN_WALK_SESSIONS 1550
+#define WT_STAT_CONN_TXN_WALK_SESSIONS 1551
/*! transaction: transactions committed */
-#define WT_STAT_CONN_TXN_COMMIT 1551
+#define WT_STAT_CONN_TXN_COMMIT 1552
/*! transaction: transactions rolled back */
-#define WT_STAT_CONN_TXN_ROLLBACK 1552
+#define WT_STAT_CONN_TXN_ROLLBACK 1553
/*! transaction: update conflicts */
-#define WT_STAT_CONN_TXN_UPDATE_CONFLICT 1553
+#define WT_STAT_CONN_TXN_UPDATE_CONFLICT 1554
/*!
* @}
diff --git a/src/third_party/wiredtiger/src/session/session_api.c b/src/third_party/wiredtiger/src/session/session_api.c
index e313a897213..f9eefc9e536 100644
--- a/src/third_party/wiredtiger/src/session/session_api.c
+++ b/src/third_party/wiredtiger/src/session/session_api.c
@@ -2013,6 +2013,29 @@ __session_flush_tier(WT_SESSION *wt_session, const char *config)
SESSION_API_CALL_NOCONF(session, flush_tier);
ret = __wt_flush_tier(session, config);
err:
+ if (ret != 0)
+ WT_STAT_CONN_INCR(session, flush_tier_fail);
+ API_END_RET(session, ret);
+}
+
+/*
+ * __session_flush_tier_readonly --
+ * WT_SESSION->flush_tier method; readonly version.
+ */
+static int
+__session_flush_tier_readonly(WT_SESSION *wt_session, const char *config)
+{
+ WT_DECL_RET;
+ WT_SESSION_IMPL *session;
+
+ WT_UNUSED(config);
+
+ session = (WT_SESSION_IMPL *)wt_session;
+ SESSION_API_CALL_NOCONF(session, flush_tier);
+
+ WT_STAT_CONN_INCR(session, flush_tier_fail);
+ ret = __wt_session_notsup(session);
+err:
API_END_RET(session, ret);
}
@@ -2046,13 +2069,13 @@ __open_session(WT_CONNECTION_IMPL *conn, WT_EVENT_HANDLER *event_handler, const
__session_query_timestamp, __session_timestamp_transaction,
__session_timestamp_transaction_uint, __session_checkpoint, __session_reset_snapshot,
__session_transaction_pinned_range, __session_get_rollback_reason, __wt_session_breakpoint},
- stds_readonly = {NULL, NULL, __session_close, __session_reconfigure, __session_flush_tier,
- __wt_session_strerror, __session_open_cursor, __session_alter_readonly,
- __session_create_readonly, __wt_session_compact_readonly, __session_drop_readonly,
- __session_join, __session_log_flush_readonly, __session_log_printf_readonly,
- __session_rename_readonly, __session_reset, __session_salvage_readonly,
- __session_truncate_readonly, __session_upgrade_readonly, __session_verify,
- __session_begin_transaction, __session_commit_transaction,
+ stds_readonly = {NULL, NULL, __session_close, __session_reconfigure,
+ __session_flush_tier_readonly, __wt_session_strerror, __session_open_cursor,
+ __session_alter_readonly, __session_create_readonly, __wt_session_compact_readonly,
+ __session_drop_readonly, __session_join, __session_log_flush_readonly,
+ __session_log_printf_readonly, __session_rename_readonly, __session_reset,
+ __session_salvage_readonly, __session_truncate_readonly, __session_upgrade_readonly,
+ __session_verify, __session_begin_transaction, __session_commit_transaction,
__session_prepare_transaction_readonly, __session_rollback_transaction,
__session_query_timestamp, __session_timestamp_transaction,
__session_timestamp_transaction_uint, __session_checkpoint_readonly,
diff --git a/src/third_party/wiredtiger/src/support/stat.c b/src/third_party/wiredtiger/src/support/stat.c
index 794598ea43c..6687937c37f 100644
--- a/src/third_party/wiredtiger/src/support/stat.c
+++ b/src/third_party/wiredtiger/src/support/stat.c
@@ -1632,6 +1632,7 @@ static const char *const __stats_connection_desc[] = {
"reconciliation: split bytes currently awaiting free",
"reconciliation: split objects currently awaiting free",
"session: attempts to remove a local object and the object is in use",
+ "session: flush_tier failed calls",
"session: flush_tier operation calls",
"session: flush_tier tables skipped due to no checkpoint",
"session: flush_tier tables switched",
@@ -2228,6 +2229,7 @@ __wt_stat_connection_clear_single(WT_CONNECTION_STATS *stats)
/* not clearing rec_split_stashed_bytes */
/* not clearing rec_split_stashed_objects */
stats->local_objects_inuse = 0;
+ stats->flush_tier_fail = 0;
stats->flush_tier = 0;
stats->flush_tier_skipped = 0;
stats->flush_tier_switched = 0;
@@ -2838,6 +2840,7 @@ __wt_stat_connection_aggregate(WT_CONNECTION_STATS **from, WT_CONNECTION_STATS *
to->rec_split_stashed_bytes += WT_STAT_READ(from, rec_split_stashed_bytes);
to->rec_split_stashed_objects += WT_STAT_READ(from, rec_split_stashed_objects);
to->local_objects_inuse += WT_STAT_READ(from, local_objects_inuse);
+ to->flush_tier_fail += WT_STAT_READ(from, flush_tier_fail);
to->flush_tier += WT_STAT_READ(from, flush_tier);
to->flush_tier_skipped += WT_STAT_READ(from, flush_tier_skipped);
to->flush_tier_switched += WT_STAT_READ(from, flush_tier_switched);
diff --git a/src/third_party/wiredtiger/test/suite/test_readonly03.py b/src/third_party/wiredtiger/test/suite/test_readonly03.py
index c058e83942b..afcdc7f304a 100644
--- a/src/third_party/wiredtiger/test/suite/test_readonly03.py
+++ b/src/third_party/wiredtiger/test/suite/test_readonly03.py
@@ -43,7 +43,7 @@ class test_readonly03(wttest.WiredTigerTestCase, suite_subprocess):
conn_params = 'create,log=(enabled),operation_tracking=(enabled=false),'
conn_params_rd = 'readonly=true,operation_tracking=(enabled=false),'
- session_ops = [ 'alter', 'create', 'compact', 'drop', 'log_flush',
+ session_ops = [ 'alter', 'create', 'compact', 'drop', 'flush_tier', 'log_flush',
'log_printf', 'rename', 'salvage', 'truncate', 'upgrade', ]
cursor_ops = [ 'insert', 'remove', 'update', ]
@@ -99,6 +99,9 @@ class test_readonly03(wttest.WiredTigerTestCase, suite_subprocess):
elif op == 'drop':
self.assertRaisesWithMessage(wiredtiger.WiredTigerError,
lambda: self.session.drop(self.uri, None), msg)
+ elif op == 'flush_tier':
+ self.assertRaisesWithMessage(wiredtiger.WiredTigerError,
+ lambda: self.session.flush_tier(None), msg)
elif op == 'log_flush':
self.assertRaisesWithMessage(wiredtiger.WiredTigerError,
lambda: self.session.log_flush(None), msg)