diff options
author | Michael Cahill <michael.cahill@wiredtiger.com> | 2013-03-08 16:52:41 +1100 |
---|---|---|
committer | Michael Cahill <michael.cahill@wiredtiger.com> | 2013-03-08 16:52:41 +1100 |
commit | 6f56fda8e1cd618b8974628ff8c9ea0a227e1f6d (patch) | |
tree | 3cf056bc834d7ba0057d34692d0a50f1d818c622 | |
parent | db83bd350d7399b5877dce96c2dcb59f2fa8bf64 (diff) | |
download | mongo-6f56fda8e1cd618b8974628ff8c9ea0a227e1f6d.tar.gz |
Anyone can check for obsolete values: we don't need a transaction running.
This is particularly important for metadata updates during checkpoints, which
are currently performed without a transaction. In some test/format workloads,
the list of old values for the file metadata can fill the cache, blocking
application progress.
-rw-r--r-- | src/btree/row_modify.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/src/btree/row_modify.c b/src/btree/row_modify.c index db5bb6d6ba4..d031315e7bb 100644 --- a/src/btree/row_modify.c +++ b/src/btree/row_modify.c @@ -353,7 +353,6 @@ __wt_update_alloc(WT_SESSION_IMPL *session, WT_UPDATE * __wt_update_obsolete_check(WT_SESSION_IMPL *session, WT_UPDATE *upd) { - WT_TXN *txn; WT_UPDATE *next; /* @@ -361,13 +360,7 @@ __wt_update_obsolete_check(WT_SESSION_IMPL *session, WT_UPDATE *upd) * the rest of the chain; because this routine is called from inside * a serialization function, the caller has responsibility for actually * freeing the memory. - */ - txn = &session->txn; - if (txn->isolation != TXN_ISO_SNAPSHOT && - txn->isolation != TXN_ISO_READ_COMMITTED) - return (NULL); - - /* + * * Walk the list of updates, looking for obsolete updates. If we find * an update no session will ever move past, we can discard any updates * that appear after it. |