summaryrefslogtreecommitdiff
path: root/src/btree/bt_split.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/btree/bt_split.c')
-rw-r--r--src/btree/bt_split.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/btree/bt_split.c b/src/btree/bt_split.c
index ea667460966..017c820ea29 100644
--- a/src/btree/bt_split.c
+++ b/src/btree/bt_split.c
@@ -1582,6 +1582,13 @@ __split_multi_inmem(
*/
page->modify->first_dirty_txn = WT_TXN_FIRST;
+ /*
+ * If the new page is modified, save the oldest ID from reconciliation
+ * to avoid repeatedly attempting eviction on the same page.
+ */
+ page->modify->last_eviction_id = orig->modify->last_eviction_id;
+ page->modify->update_restored = 1;
+
err: /* Free any resources that may have been cached in the cursor. */
WT_TRET(__wt_btcur_close(&cbt, true));
@@ -2245,14 +2252,6 @@ __wt_split_rewrite(WT_SESSION_IMPL *session, WT_REF *ref, WT_MULTI *multi)
WT_ERR(__split_multi_inmem(session, page, multi, new));
/*
- * If the new page is modified, save the oldest ID from reconciliation
- * to avoid repeatedly attempting eviction on the same page.
- */
- if (new->page->modify != NULL)
- new->page->modify->last_eviction_id =
- page->modify->last_eviction_id;
-
- /*
* The rewrite succeeded, we can no longer fail.
*
* Finalize the move, discarding moved update lists from the original