summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/btree/bt_split.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/btree/bt_split.c b/src/btree/bt_split.c
index be7dc27c8b0..12f86925849 100644
--- a/src/btree/bt_split.c
+++ b/src/btree/bt_split.c
@@ -825,6 +825,12 @@ __split_parent_lock(
F_CLR_ATOMIC(parent, WT_PAGE_SPLIT_LOCKED);
continue;
}
+ /*
+ * If a checkpoint is running and we fail to lock the parent
+ * page, give up immmediately to avoid deadlock.
+ */
+ if (S2BT(session)->checkpointing)
+ return (EBUSY);
__wt_yield();
}