summaryrefslogtreecommitdiff
path: root/src/third_party/wiredtiger/src/btree/bt_split.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/third_party/wiredtiger/src/btree/bt_split.c')
-rw-r--r--src/third_party/wiredtiger/src/btree/bt_split.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/third_party/wiredtiger/src/btree/bt_split.c b/src/third_party/wiredtiger/src/btree/bt_split.c
index bf7ea54adb0..2719481aa86 100644
--- a/src/third_party/wiredtiger/src/btree/bt_split.c
+++ b/src/third_party/wiredtiger/src/btree/bt_split.c
@@ -1,5 +1,5 @@
/*-
- * Copyright (c) 2014-2017 MongoDB, Inc.
+ * Copyright (c) 2014-2018 MongoDB, Inc.
* Copyright (c) 2008-2014 WiredTiger, Inc.
* All rights reserved.
*
@@ -720,6 +720,7 @@ __split_parent(WT_SESSION_IMPL *session, WT_REF *ref, WT_REF **ref_new,
/* Start making real changes to the tree, errors are fatal. */
complete = WT_ERR_PANIC;
+ WT_NOT_READ(complete);
/* Encourage a race */
__page_split_timing_stress(session,
@@ -1476,6 +1477,12 @@ __split_multi_inmem(
WT_ERR(__wt_row_search(
session, key, ref, &cbt, true, true));
+ /*
+ * Birthmarks should only be applied to on-page values.
+ */
+ WT_ASSERT(session, cbt.compare == 0 ||
+ upd->type != WT_UPDATE_BIRTHMARK);
+
/* Apply the modification. */
WT_ERR(__wt_row_modify(session,
&cbt, key, NULL, upd, WT_UPDATE_INVALID, true));
@@ -2260,6 +2267,7 @@ __wt_split_rewrite(WT_SESSION_IMPL *session, WT_REF *ref, WT_MULTI *multi)
/* Swap the new page into place. */
ref->page = new->page;
+
WT_PUBLISH(ref->state, WT_REF_MEM);
__wt_free(session, new);