diff options
author | Luke Chen <luke.chen@mongodb.com> | 2020-06-22 16:44:09 +1000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2020-06-22 07:03:49 +0000 |
commit | 10e8af0774e24dce015b7bc216691ad17a3d2532 (patch) | |
tree | 58cb381861b77d1b6a9759d4d4fd40481ce56653 /src/third_party/wiredtiger/src | |
parent | c89c6eca4583203ff7bd8076f1c55cb00b0332b9 (diff) | |
download | mongo-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.c | 8 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/include/connection.h | 3 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/txn/txn_rollback_to_stable.c | 5 |
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 |