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 2020/11/10 17:53:13 UTC

[couchdb] 02/02: Remove use of caching

This is an automated email from the ASF dual-hosted git repository.

davisp pushed a commit to branch remove-ebtree-caching
in repository https://gitbox.apache.org/repos/asf/couchdb.git

commit 107cdebd550a3d60d65a741d16a857285127a1ee
Author: Paul J. Davis <pa...@gmail.com>
AuthorDate: Tue Nov 10 11:52:17 2020 -0600

    Remove use of caching
    
    Turns out that ebtree caching wasn't quite correct so removing it for
    now.
---
 src/couch_views/src/couch_views_trees.erl | 28 +---------------------------
 1 file changed, 1 insertion(+), 27 deletions(-)

diff --git a/src/couch_views/src/couch_views_trees.erl b/src/couch_views/src/couch_views_trees.erl
index 236e89f..51c1e46 100644
--- a/src/couch_views/src/couch_views_trees.erl
+++ b/src/couch_views/src/couch_views_trees.erl
@@ -229,7 +229,6 @@ open_id_tree(TxDb, Sig) ->
     Prefix = id_tree_prefix(DbPrefix, Sig),
     TreeOpts = [
         {persist_fun, fun couch_views_fdb:persist_chunks/3},
-        {cache_fun, create_cache_fun(id_tree)},
         {encode_fun, create_encode_fun(TxDb)}
     ],
     ebtree:open(Tx, Prefix, get_order(id_btree), TreeOpts).
@@ -255,8 +254,7 @@ open_view_tree(TxDb, Sig, Lang, View, Options) ->
             [{reduce_fun, RedFun}];
         false ->
             [
-                {reduce_fun, make_reduce_fun(Lang, View)},
-                {cache_fun, create_cache_fun({view, ViewId})}
+                {reduce_fun, make_reduce_fun(Lang, View)}
             ]
     end,
     TreeOpts = BaseOpts ++ ExtraOpts,
@@ -333,30 +331,6 @@ make_reduce_fun(Lang, #mrview{} = View) ->
     end.
 
 
-create_cache_fun(TreeId) ->
-    CacheTid = case get(TreeId) of
-        undefined ->
-            Tid = ets:new(?MODULE, [protected, set]),
-            put(TreeId, {ebtree_cache, Tid}),
-            Tid;
-        {ebtree_cache, Tid} ->
-            Tid
-    end,
-    fun
-        (set, [Id, Node]) ->
-            true = ets:insert_new(CacheTid, {Id, Node}),
-            ok;
-        (clear, Id) ->
-            ets:delete(CacheTid, Id),
-            ok;
-        (get, Id) ->
-            case ets:lookup(CacheTid, Id) of
-                [{Id, Node}] -> Node;
-                [] -> undefined
-            end
-    end.
-
-
 create_encode_fun(TxDb) ->
     fun
         (encode, Key, Term) ->