You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by da...@apache.org on 2014/01/17 22:54:49 UTC
[31/50] git commit: Protect against cache_hits on non-existant entries
Protect against cache_hits on non-existant entries
This can happen if we load a shard set from the cache and then eject the
shards before processing the cache_hit '$gen_cast' message. Instead of
trying to be fancy and reinserting the shards into the cache directly we
just rely on the fact that they'll be reinserted normally on the next
request.
Project: http://git-wip-us.apache.org/repos/asf/couchdb-mem3/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb-mem3/commit/91b9716f
Tree: http://git-wip-us.apache.org/repos/asf/couchdb-mem3/tree/91b9716f
Diff: http://git-wip-us.apache.org/repos/asf/couchdb-mem3/diff/91b9716f
Branch: refs/heads/import
Commit: 91b9716f2c52107664ad1f994d28a56b83a0192c
Parents: bd4b897
Author: Paul J. Davis <pa...@gmail.com>
Authored: Tue Dec 11 15:11:15 2012 -0600
Committer: Paul J. Davis <pa...@gmail.com>
Committed: Tue Dec 11 15:13:20 2012 -0600
----------------------------------------------------------------------
src/mem3_shards.erl | 10 ----------
1 file changed, 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/couchdb-mem3/blob/91b9716f/src/mem3_shards.erl
----------------------------------------------------------------------
diff --git a/src/mem3_shards.erl b/src/mem3_shards.erl
index 3cf35cf..3f974f3 100644
--- a/src/mem3_shards.erl
+++ b/src/mem3_shards.erl
@@ -131,9 +131,6 @@ handle_call(_Call, _From, St) ->
handle_cast({cache_hit, DbName}, St) ->
cache_hit(DbName),
{noreply, St};
-handle_cast({maybe_cache_hit, DbName}, St) ->
- maybe_cache_hit(DbName),
- {noreply, St};
handle_cast({cache_insert, DbName, Shards}, St) ->
{noreply, cache_free(cache_insert(St, DbName, Shards))};
handle_cast({cache_remove, DbName}, St) ->
@@ -297,13 +294,6 @@ cache_remove(#st{cur_size=Cur}=St, DbName) ->
end.
cache_hit(DbName) ->
- [{DbName, ATime}] = ets:lookup(?DBS, DbName),
- NewATime = now(),
- true = ets:delete(?ATIMES, ATime),
- true = ets:insert(?ATIMES, {NewATime, DbName}),
- true = ets:insert(?DBS, {DbName, NewATime}).
-
-maybe_cache_hit(DbName) ->
case ets:lookup(?DBS, DbName) of
[{DbName, ATime}] ->
NewATime = now(),