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 2017/04/12 20:55:00 UTC
[couchdb] branch COUCHDB-3287-pluggable-storage-engines updated:
DEBUG: More logging to mem3_shards
This is an automated email from the ASF dual-hosted git repository.
davisp pushed a commit to branch COUCHDB-3287-pluggable-storage-engines
in repository https://gitbox.apache.org/repos/asf/couchdb.git
The following commit(s) were added to refs/heads/COUCHDB-3287-pluggable-storage-engines by this push:
new 8a23691 DEBUG: More logging to mem3_shards
8a23691 is described below
commit 8a236911de12c5461faa56ef624f9a2581b1a479
Author: Paul J. Davis <pa...@gmail.com>
AuthorDate: Wed Apr 12 15:54:41 2017 -0500
DEBUG: More logging to mem3_shards
---
src/mem3/src/mem3_shards.erl | 17 +++++++++++++----
1 file changed, 13 insertions(+), 4 deletions(-)
diff --git a/src/mem3/src/mem3_shards.erl b/src/mem3/src/mem3_shards.erl
index f7e7962..621bdaf 100644
--- a/src/mem3/src/mem3_shards.erl
+++ b/src/mem3/src/mem3_shards.erl
@@ -48,11 +48,13 @@ for_db(DbName) ->
for_db(DbName, Options) ->
Shards = try ets:lookup(?SHARDS, DbName) of
[] ->
+ couch_log:notice("~p ~p for_db miss ~s :: ~p", [?MODULE, process_info(self(), registered_name), DbName, Options]),
load_shards_from_disk(DbName);
Else ->
gen_server:cast(?MODULE, {cache_hit, DbName}),
Else
catch error:badarg ->
+ couch_log:notice("~p ~p for_db NO TABLE? ~s :: ~p", [?MODULE, process_info(self(), registered_name), DbName, Options]),
load_shards_from_disk(DbName)
end,
case lists:member(ordered, Options) of
@@ -80,11 +82,13 @@ for_docid(DbName, DocId, Options) ->
OrderedShardSpec = {OrderedShardHead, Conditions, ['$_']},
Shards = try ets:select(?SHARDS, [ShardSpec, OrderedShardSpec]) of
[] ->
+ couch_log:notice("~p ~p for_docid miss ~s/~s (~p) :: ~p", [?MODULE, process_info(self(), registered_name), DbName, DocId, HashKey, Options]),
load_shards_from_disk(DbName, DocId);
Else ->
gen_server:cast(?MODULE, {cache_hit, DbName}),
Else
catch error:badarg ->
+ couch_log:notice("~p ~p for_docid NO TABLE? ~s/~s (~p) :: ~p :: ~p", [?MODULE, process_info(self(), registered_name), DbName, DocId, HashKey, Options, [ShardSpec, OrderedShardSpec]]),
load_shards_from_disk(DbName, DocId)
end,
case lists:member(ordered, Options) of
@@ -111,11 +115,13 @@ for_shard_name(ShardName, Options) ->
OrderedShardSpec = {OrderedShardHead, [], ['$_']},
Shards = try ets:select(?SHARDS, [ShardSpec, OrderedShardSpec]) of
[] ->
+ couch_log:notice("~p ~p for_shard_name miss ~s - ~s :: ~p", [?MODULE, process_info(self(), registered_name), DbName, ShardName, Options]),
filter_shards_by_name(ShardName, load_shards_from_disk(DbName));
Else ->
gen_server:cast(?MODULE, {cache_hit, DbName}),
Else
catch error:badarg ->
+ couch_log:notice("~p ~p for_shard_name NO TABLE? ~s - ~s :: ~p :: ~p", [?MODULE, process_info(self(), registered_name), DbName, ShardName, Options, [ShardSpec, OrderedShardSpec]]),
filter_shards_by_name(ShardName, load_shards_from_disk(DbName))
end,
case lists:member(ordered, Options) of
@@ -203,11 +209,14 @@ handle_cast({cache_hit, DbName}, St) ->
cache_hit(DbName),
{noreply, St};
handle_cast({cache_insert, DbName, Shards, UpdateSeq}, St) ->
- couch_log:notice("~p maybe adding ~s ~p ~p", [?MODULE, DbName, St#st.update_seq, UpdateSeq]),
couch_stats:increment_counter([mem3, shard_cache, miss]),
NewSt = case UpdateSeq < St#st.update_seq of
- true -> St;
- false -> cache_free(cache_insert(St, DbName, Shards))
+ true ->
+ couch_log:notice("~p ignoring add ~s :: ~p < ~p", [?MODULE, DbName, UpdateSeq, St#st.update_seq]),
+ St;
+ false ->
+ couch_log:notice("~p adding ~s :: ~p >= ~p", [?MODULE, DbName, UpdateSeq, St#st.update_seq]),
+ cache_free(cache_insert(St, DbName, Shards))
end,
{noreply, NewSt};
handle_cast({cache_remove, DbName}, St) ->
@@ -447,4 +456,4 @@ filter_shards_by_name(Name, Matches, [#ordered_shard{name=Name}=S|Ss]) ->
filter_shards_by_name(Name, Matches, [#shard{name=Name}=S|Ss]) ->
filter_shards_by_name(Name, [S|Matches], Ss);
filter_shards_by_name(Name, Matches, [_|Ss]) ->
- filter_shards_by_name(Name, Matches, Ss).
\ No newline at end of file
+ filter_shards_by_name(Name, Matches, Ss).
--
To stop receiving notification emails like this one, please contact
['"commits@couchdb.apache.org" <co...@couchdb.apache.org>'].