summaryrefslogtreecommitdiff
path: root/src/third_party/wiredtiger/src
diff options
context:
space:
mode:
authorLuke Chen <luke.chen@mongodb.com>2020-06-22 16:44:09 +1000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2020-06-22 07:03:49 +0000
commit10e8af0774e24dce015b7bc216691ad17a3d2532 (patch)
tree58cb381861b77d1b6a9759d4d4fd40481ce56653 /src/third_party/wiredtiger/src
parentc89c6eca4583203ff7bd8076f1c55cb00b0332b9 (diff)
downloadmongo-10e8af0774e24dce015b7bc216691ad17a3d2532.tar.gz
Import wiredtiger: 5199f7f394d6192475b83e211575be196afa1523 from branch mongodb-4.4
ref: 3b4a927265..5199f7f394 for: 4.4.0-rc11 WT-6407 Fix searching history store accidentally across table boundary WT-6452 Update eviction test config to avoid rollback errors WT-6455 Fix the incorrect connection level debug flag value WT-6461 Add verbose logging for tombstones restored from history store
Diffstat (limited to 'src/third_party/wiredtiger/src')
-rw-r--r--src/third_party/wiredtiger/src/history/hs.c8
-rw-r--r--src/third_party/wiredtiger/src/include/connection.h3
-rw-r--r--src/third_party/wiredtiger/src/txn/txn_rollback_to_stable.c5
3 files changed, 15 insertions, 1 deletions
diff --git a/src/third_party/wiredtiger/src/history/hs.c b/src/third_party/wiredtiger/src/history/hs.c
index ee75972f44f..e94270eb37c 100644
--- a/src/third_party/wiredtiger/src/history/hs.c
+++ b/src/third_party/wiredtiger/src/history/hs.c
@@ -1270,6 +1270,14 @@ __wt_find_hs_upd(WT_SESSION_IMPL *session, WT_ITEM *key, const char *value_forma
WT_ERR(hs_cursor->get_key(
hs_cursor, &hs_btree_id, &hs_key, &hs_start_ts_tmp, &hs_counter_tmp));
+ if (hs_btree_id != S2BT(session)->id) {
+ /* Fallback to the onpage value as the base value. */
+ orig_hs_value_buf = hs_value;
+ hs_value = on_disk_buf;
+ upd_type = WT_UPDATE_STANDARD;
+ break;
+ }
+
WT_ERR(__wt_compare(session, NULL, &hs_key, key, &cmp));
if (cmp != 0) {
diff --git a/src/third_party/wiredtiger/src/include/connection.h b/src/third_party/wiredtiger/src/include/connection.h
index fa3d10f1b16..662ba865dca 100644
--- a/src/third_party/wiredtiger/src/include/connection.h
+++ b/src/third_party/wiredtiger/src/include/connection.h
@@ -448,10 +448,11 @@ struct __wt_connection_impl {
size_t debug_ckpt_alloc; /* Checkpoint retention allocated. */
uint32_t debug_ckpt_cnt; /* Checkpoint retention number. */
uint32_t debug_log_cnt; /* Log file retention count */
+
/* AUTOMATIC FLAG VALUE GENERATION START */
#define WT_CONN_DEBUG_CKPT_RETAIN 0x1u
#define WT_CONN_DEBUG_CURSOR_COPY 0x2u
-#define WT_CONN_DEBUG_REALLOC_EXACT 0000u
+#define WT_CONN_DEBUG_REALLOC_EXACT 0x4u
#define WT_CONN_DEBUG_SLOW_CKPT 0x8u
/* AUTOMATIC FLAG VALUE GENERATION STOP */
uint64_t debug_flags;
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 956711943ed..9be945bb6c3 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
@@ -332,6 +332,11 @@ __rollback_row_ondisk_fixup_key(WT_SESSION_IMPL *session, WT_PAGE *page, WT_ROW
tombstone->txnid = cbt->upd_value->tw.stop_txn;
tombstone->durable_ts = cbt->upd_value->tw.durable_stop_ts;
tombstone->start_ts = cbt->upd_value->tw.stop_ts;
+ __wt_verbose(session, WT_VERB_RTS,
+ "tombstone restored from history store (txnid: %" PRIu64
+ ", start_ts: %s, durable_ts: %s",
+ tombstone->txnid, __wt_timestamp_to_string(tombstone->start_ts, ts_string[0]),
+ __wt_timestamp_to_string(tombstone->durable_ts, ts_string[1]));
/*
* Set the flag to indicate that this update has been restored from history store