diff options
author | Alex Gorrod <alexander.gorrod@mongodb.com> | 2015-01-13 11:39:42 -0500 |
---|---|---|
committer | Alex Gorrod <alexander.gorrod@mongodb.com> | 2015-01-13 11:39:42 -0500 |
commit | 41145a6e5d6e89c10168ef02b5e2434152863776 (patch) | |
tree | 1271495e9d19ebbb24538a2eeeff1242e400bfa9 /src/txn/txn.c | |
parent | a26ff8451e9961a7e64b135259ba857f075a6891 (diff) | |
parent | 84a99d06265ff119b4bac8d760852bdd3aca84df (diff) | |
download | mongo-41145a6e5d6e89c10168ef02b5e2434152863776.tar.gz |
Merge pull request #1549 from wiredtiger/mongodb-pauses
Fixes for some MongoDB pauses
Diffstat (limited to 'src/txn/txn.c')
-rw-r--r-- | src/txn/txn.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/txn/txn.c b/src/txn/txn.c index fd80efd5ebd..5b8f11a88a5 100644 --- a/src/txn/txn.c +++ b/src/txn/txn.c @@ -361,8 +361,15 @@ __wt_txn_commit(WT_SESSION_IMPL *session, const char *cfg[]) /* If we are logging, write a commit log record. */ if (ret == 0 && txn->mod_count > 0 && FLD_ISSET(S2C(session)->log_flags, WT_CONN_LOG_ENABLED) && - !F_ISSET(session, WT_SESSION_NO_LOGGING)) + !F_ISSET(session, WT_SESSION_NO_LOGGING)) { + /* + * We are about to block on I/O writing the log. + * Release our snapshot in case it is keeping data pinned. + * This is particularly important for checkpoints. + */ + __wt_txn_release_snapshot(session); ret = __wt_txn_log_commit(session, cfg); + } /* * If anything went wrong, roll back. |