summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorKeith Bostic <keith@wiredtiger.com>2014-01-24 10:53:14 -0500
committerKeith Bostic <keith@wiredtiger.com>2014-02-01 08:59:34 -0500
commitafaad58c387e0c1705caa3ebb5f4cb12fe55db57 (patch)
tree4fdad9d3d4e4b7d4b503788e5fd240d50358b681 /ext
parent1b15ccbaa7ff43af8a956cf948572365fa2b9682 (diff)
downloadmongo-afaad58c387e0c1705caa3ebb5f4cb12fe55db57.tar.gz
Update cache cleaner information for cursor update and remove, not
just insert.
Diffstat (limited to 'ext')
-rw-r--r--ext/datasources/helium/helium.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/ext/datasources/helium/helium.c b/ext/datasources/helium/helium.c
index 7d43c4cfee6..4f9350a9ec1 100644
--- a/ext/datasources/helium/helium.c
+++ b/ext/datasources/helium/helium.c
@@ -1605,7 +1605,12 @@ update(WT_CURSOR *wtcursor, int remove_op)
/* Push the record into the cache. */
if ((ret = he_update(ws->he_cache, r)) != 0)
EMSG(wtext, session, ret, "he_update: %s", he_strerror(ret));
+
+ /* Update the state while still holding the lock. */
ws->he_cache_inuse = 1;
+ if (!remove_op)
+ ws->cleaner_bytes += wtcursor->value.size;
+ ++ws->cleaner_ops;
/* Discard the lock. */
err: ESET(unlock(wtext, session, &ws->lock));