summaryrefslogtreecommitdiff
path: root/src/btree/bt_split.c
diff options
context:
space:
mode:
authorKeith Bostic <keith@wiredtiger.com>2015-11-30 07:21:59 -0500
committerKeith Bostic <keith@wiredtiger.com>2015-11-30 07:21:59 -0500
commit220e8947d9ccaca32431c3725b6659173743bf2c (patch)
tree76b3af37ed359deeccca3f91198a50f04f14529c /src/btree/bt_split.c
parentba9c1e319ad6b939f9b31454e5b2df1f7ecb517f (diff)
parent4c49948727a5a67e7675ea02eacfbd3026dcd53a (diff)
downloadmongo-220e8947d9ccaca32431c3725b6659173743bf2c.tar.gz
Merge branch 'develop' into wt-2231-parent-key-check
Diffstat (limited to 'src/btree/bt_split.c')
-rw-r--r--src/btree/bt_split.c23
1 files changed, 2 insertions, 21 deletions
diff --git a/src/btree/bt_split.c b/src/btree/bt_split.c
index 3b780ed32ca..a9d637ea453 100644
--- a/src/btree/bt_split.c
+++ b/src/btree/bt_split.c
@@ -409,18 +409,9 @@ __split_ref_move_final(
WT_DECL_RET;
WT_PAGE *child;
WT_REF *ref, *child_ref;
- uint64_t txn_new_id;
uint32_t i, j;
/*
- * When creating new internal pages as part of a split, we set a field
- * in those pages modify structure to prevent them from being evicted
- * until all threads are known to have exited the index of the page that
- * previously "owned" the WT_REF. Set that field to a safe value.
- */
- txn_new_id = __wt_txn_id_alloc(session, false);
-
- /*
* The WT_REF structures moved to newly allocated child pages reference
* the wrong parent page and we have to fix that up. The problem is
* revealed when a thread of control searches for the child page's
@@ -472,14 +463,11 @@ __split_ref_move_final(
* disk pages may have been read in since then, and
* those pages would have correct parent references.
*/
- if (child_ref->home != child) {
+ if (child_ref->home != child)
child_ref->home = child;
- child->modify->mod_split_txn = txn_new_id;
- }
/* Update the WT_REF's page-index hint. */
child_ref->pindex_hint = j++;
-
} WT_INTL_FOREACH_END;
WT_LEAVE_PAGE_INDEX(session);
@@ -1658,7 +1646,7 @@ __split_insert(WT_SESSION_IMPL *session, WT_REF *ref)
*
* Note this page has already been through an in-memory split.
*/
- WT_ASSERT(session, __wt_page_can_split(session, page));
+ WT_ASSERT(session, __wt_leaf_page_can_split(session, page));
WT_ASSERT(session, __wt_page_is_modified(page));
F_SET_ATOMIC(page, WT_PAGE_SPLIT_INSERT);
@@ -1841,13 +1829,6 @@ __split_insert(WT_SESSION_IMPL *session, WT_REF *ref)
#endif
/*
- * Save the transaction ID when the split happened. Application
- * threads will not try to forcibly evict the page again until
- * all concurrent transactions commit.
- */
- page->modify->inmem_split_txn = __wt_txn_id_alloc(session, false);
-
- /*
* Update the page accounting.
*
* XXX