summaryrefslogtreecommitdiff
path: root/src/third_party/wiredtiger/src/txn/txn_rollback_to_stable.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/third_party/wiredtiger/src/txn/txn_rollback_to_stable.c')
-rw-r--r--src/third_party/wiredtiger/src/txn/txn_rollback_to_stable.c28
1 files changed, 17 insertions, 11 deletions
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 b238d2dfd3a..b27342c3f93 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
@@ -151,8 +151,10 @@ __rollback_row_ondisk_fixup_key(WT_SESSION_IMPL *session, WT_PAGE *page, WT_ROW
WT_DECL_RET;
WT_ITEM full_value;
WT_UPDATE *hs_upd, *upd;
- wt_timestamp_t durable_ts, hs_start_ts, hs_stop_ts, newer_hs_ts;
- size_t size;
+ wt_timestamp_t durable_ts, hs_start_ts, hs_stop_ts;
+#ifdef HAVE_DIAGNOSTIC
+ wt_timestamp_t newer_hs_ts;
+#endif
uint64_t hs_counter, type_full;
uint32_t hs_btree_id, session_flags;
uint8_t type;
@@ -162,7 +164,10 @@ __rollback_row_ondisk_fixup_key(WT_SESSION_IMPL *session, WT_PAGE *page, WT_ROW
hs_cursor = NULL;
hs_upd = upd = NULL;
- durable_ts = hs_start_ts = newer_hs_ts = WT_TS_NONE;
+ durable_ts = hs_start_ts = WT_TS_NONE;
+#ifdef HAVE_DIAGNOSTIC
+ newer_hs_ts = WT_TS_NONE;
+#endif
hs_btree_id = S2BT(session)->id;
session_flags = 0;
is_owner = valid_update_found = false;
@@ -271,12 +276,14 @@ __rollback_row_ondisk_fixup_key(WT_SESSION_IMPL *session, WT_PAGE *page, WT_ROW
__wt_timestamp_to_string(hs_stop_ts, ts_string[2]),
__wt_timestamp_to_string(rollback_timestamp, ts_string[3]));
+#ifdef HAVE_DIAGNOSTIC
/*
* Durable timestamp of the current record is used as stop timestamp of previous record.
* Save it to verify against previous record.
*/
newer_hs_ts = durable_ts;
- WT_ERR(__wt_upd_alloc_tombstone(session, &hs_upd));
+#endif
+ WT_ERR(__wt_upd_alloc_tombstone(session, &hs_upd, NULL));
WT_ERR(__wt_hs_modify(cbt, hs_upd));
WT_STAT_CONN_INCR(session, txn_rts_hs_removed);
hs_upd = NULL;
@@ -288,7 +295,7 @@ __rollback_row_ondisk_fixup_key(WT_SESSION_IMPL *session, WT_PAGE *page, WT_ROW
* list. Otherwise remove the key by adding a tombstone.
*/
if (valid_update_found) {
- WT_ERR(__wt_update_alloc(session, &full_value, &upd, &size, WT_UPDATE_STANDARD));
+ WT_ERR(__wt_upd_alloc(session, &full_value, WT_UPDATE_STANDARD, &upd, NULL));
upd->txnid = WT_TXN_NONE;
upd->durable_ts = durable_ts;
@@ -304,7 +311,7 @@ __rollback_row_ondisk_fixup_key(WT_SESSION_IMPL *session, WT_PAGE *page, WT_ROW
*/
F_SET(upd, WT_UPDATE_RESTORED_FOR_ROLLBACK);
} else {
- WT_ERR(__wt_upd_alloc_tombstone(session, &upd));
+ WT_ERR(__wt_upd_alloc_tombstone(session, &upd, NULL));
WT_STAT_CONN_INCR(session, txn_rts_keys_removed);
__wt_verbose(session, WT_VERB_RTS, "%p: key removed", (void *)key);
}
@@ -315,7 +322,7 @@ __rollback_row_ondisk_fixup_key(WT_SESSION_IMPL *session, WT_PAGE *page, WT_ROW
/* Finally remove that update from history store. */
if (valid_update_found) {
- WT_ERR(__wt_upd_alloc_tombstone(session, &hs_upd));
+ WT_ERR(__wt_upd_alloc_tombstone(session, &hs_upd, NULL));
WT_ERR(__wt_hs_modify(cbt, hs_upd));
WT_STAT_CONN_INCR(session, txn_rts_hs_removed);
hs_upd = NULL;
@@ -345,7 +352,6 @@ __rollback_abort_row_ondisk_kv(
WT_DECL_RET;
WT_ITEM buf;
WT_UPDATE *upd;
- size_t size;
char ts_string[3][WT_TS_INT_STRING_SIZE];
vpack = &_vpack;
@@ -365,7 +371,7 @@ __rollback_abort_row_ondisk_kv(
* In-memory database don't have a history store to provide a stable update, so remove
* the key.
*/
- WT_RET(__wt_upd_alloc_tombstone(session, &upd));
+ WT_RET(__wt_upd_alloc_tombstone(session, &upd, NULL));
WT_STAT_CONN_INCR(session, txn_rts_keys_removed);
}
} else if (vpack->durable_stop_ts != WT_TS_NONE &&
@@ -384,7 +390,7 @@ __rollback_abort_row_ondisk_kv(
/* Take the value from the original page cell. */
WT_RET(__wt_page_cell_data_ref(session, page, vpack, &buf));
- WT_RET(__wt_update_alloc(session, &buf, &upd, &size, WT_UPDATE_STANDARD));
+ WT_RET(__wt_upd_alloc(session, &buf, WT_UPDATE_STANDARD, &upd, NULL));
upd->txnid = vpack->start_txn;
upd->durable_ts = vpack->durable_start_ts;
upd->start_ts = vpack->start_ts;
@@ -957,7 +963,7 @@ __rollback_to_stable_btree_hs_truncate(WT_SESSION_IMPL *session, uint32_t btree_
"rollback to stable history store cleanup of update with start timestamp: %s",
__wt_timestamp_to_string(hs_start_ts, ts_string));
- WT_ERR(__wt_upd_alloc_tombstone(session, &hs_upd));
+ WT_ERR(__wt_upd_alloc_tombstone(session, &hs_upd, NULL));
WT_ERR(__wt_hs_modify(cbt, hs_upd));
WT_STAT_CONN_INCR(session, txn_rts_hs_removed);
hs_upd = NULL;