diff options
Diffstat (limited to 'src/btree/bt_split.c')
-rw-r--r-- | src/btree/bt_split.c | 6 |
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(); } |