You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by va...@apache.org on 2023/05/23 22:33:31 UTC
[couchdb] 01/01: Rename NonRep -> Local and merge_conflicts -> replicated_changes
This is an automated email from the ASF dual-hosted git repository.
vatamane pushed a commit to branch couch-db-updater-rename-for-consistency
in repository https://gitbox.apache.org/repos/asf/couchdb.git
commit 52238bc77ae456bcf77cc33bc530d0746bd059f9
Author: Nick Vatamaniuc <va...@gmail.com>
AuthorDate: Tue May 23 18:24:50 2023 -0400
Rename NonRep -> Local and merge_conflicts -> replicated_changes
`couch_db` and `couch_db_updater` modules are the only place using "non-rep" to
refer to "local" documents and "merge conflicts" to refer to "replicated
changes", so rename them to make them consistent with the rest of the codebase.
---
src/couch/src/couch_db.erl | 26 ++++++++++++-------------
src/couch/src/couch_db_updater.erl | 40 +++++++++++++++++++-------------------
2 files changed, 33 insertions(+), 33 deletions(-)
diff --git a/src/couch/src/couch_db.erl b/src/couch/src/couch_db.erl
index 66e9a6db0..4bc2aca8f 100644
--- a/src/couch/src/couch_db.erl
+++ b/src/couch/src/couch_db.erl
@@ -1320,7 +1320,7 @@ update_docs(Db, Docs0, Options, ?REPLICATED_CHANGES) ->
)
end,
- {ok, DocBuckets, NonRepDocs, DocErrors} =
+ {ok, DocBuckets, LocalDocs, DocErrors} =
before_docs_update(Db, Docs, PrepValidateFun, ?REPLICATED_CHANGES),
DocBuckets2 = [
@@ -1333,8 +1333,8 @@ update_docs(Db, Docs0, Options, ?REPLICATED_CHANGES) ->
{ok, _} = write_and_commit(
Db,
DocBuckets2,
- NonRepDocs,
- [merge_conflicts | Options]
+ LocalDocs,
+ [?REPLICATED_CHANGES | Options]
),
{ok, DocErrors};
update_docs(Db, Docs0, Options, ?INTERACTIVE_EDIT) ->
@@ -1352,7 +1352,7 @@ update_docs(Db, Docs0, Options, ?INTERACTIVE_EDIT) ->
)
end,
- {ok, DocBuckets, NonRepDocs, DocErrors} =
+ {ok, DocBuckets, LocalDocs, DocErrors} =
before_docs_update(Db, Docs, PrepValidateFun, ?INTERACTIVE_EDIT),
if
@@ -1372,7 +1372,7 @@ update_docs(Db, Docs0, Options, ?INTERACTIVE_EDIT) ->
true ->
Options2 =
if
- AllOrNothing -> [merge_conflicts];
+ AllOrNothing -> [?REPLICATED_CHANGES];
true -> []
end ++ Options,
DocBuckets2 = [
@@ -1392,7 +1392,7 @@ update_docs(Db, Docs0, Options, ?INTERACTIVE_EDIT) ->
{ok, CommitResults} = write_and_commit(
Db,
DocBuckets3,
- NonRepDocs,
+ LocalDocs,
Options2
),
@@ -1451,14 +1451,14 @@ collect_results(Pid, MRef, ResultsAcc) ->
write_and_commit(
#db{main_pid = Pid, user_ctx = Ctx} = Db,
DocBuckets1,
- NonRepDocs,
+ LocalDocs,
Options
) ->
DocBuckets = prepare_doc_summaries(Db, DocBuckets1),
- MergeConflicts = lists:member(merge_conflicts, Options),
+ ReplicatedChanges = lists:member(?REPLICATED_CHANGES, Options),
MRef = erlang:monitor(process, Pid),
try
- Pid ! {update_docs, self(), DocBuckets, NonRepDocs, MergeConflicts},
+ Pid ! {update_docs, self(), DocBuckets, LocalDocs, ReplicatedChanges},
case collect_results_with_metrics(Pid, MRef, []) of
{ok, Results} ->
{ok, Results};
@@ -1473,7 +1473,7 @@ write_and_commit(
% We only retry once
DocBuckets3 = prepare_doc_summaries(Db2, DocBuckets2),
close(Db2),
- Pid ! {update_docs, self(), DocBuckets3, NonRepDocs, MergeConflicts},
+ Pid ! {update_docs, self(), DocBuckets3, LocalDocs, ReplicatedChanges},
case collect_results_with_metrics(Pid, MRef, []) of
{ok, Results} -> {ok, Results};
retry -> throw({update_error, compaction_retry})
@@ -1521,7 +1521,7 @@ before_docs_update(#db{validate_doc_funs = VDFuns} = Db, Docs, PVFun, UpdateType
(#doc{id = <<?LOCAL_DOC_PREFIX, _/binary>>}) -> true;
(_) -> false
end,
- {NonRepDocs, Docs2} = lists:partition(IsLocal, Docs),
+ {LocalDocs, Docs2} = lists:partition(IsLocal, Docs),
BucketList = group_alike_docs(Docs2),
@@ -1551,9 +1551,9 @@ before_docs_update(#db{validate_doc_funs = VDFuns} = Db, Docs, PVFun, UpdateType
{DocBuckets2, DocErrors} = PVFun(Db, DocBuckets, ExistingDocs),
% remove empty buckets
DocBuckets3 = [Bucket || Bucket <- DocBuckets2, Bucket /= []],
- {ok, DocBuckets3, NonRepDocs, DocErrors};
+ {ok, DocBuckets3, LocalDocs, DocErrors};
false ->
- {ok, DocBuckets, NonRepDocs, []}
+ {ok, DocBuckets, LocalDocs, []}
end.
set_new_att_revpos(#doc{revs = {RevPos, _Revs}, atts = Atts0} = Doc) ->
diff --git a/src/couch/src/couch_db_updater.erl b/src/couch/src/couch_db_updater.erl
index 30f61aea0..767a3190a 100644
--- a/src/couch/src/couch_db_updater.erl
+++ b/src/couch/src/couch_db_updater.erl
@@ -26,7 +26,7 @@
-record(merge_acc, {
revs_limit,
- merge_conflicts,
+ replicated_changes,
add_infos = [],
rem_seqs = [],
cur_seq,
@@ -165,23 +165,23 @@ handle_cast(Msg, #db{name = Name} = Db) ->
{stop, Msg, Db}.
handle_info(
- {update_docs, Client, GroupedDocs, NonRepDocs, MergeConflicts},
+ {update_docs, Client, GroupedDocs, LocalDocs, ReplicatedChanges},
Db
) ->
GroupedDocs2 = sort_and_tag_grouped_docs(Client, GroupedDocs),
if
- NonRepDocs == [] ->
+ LocalDocs == [] ->
{GroupedDocs3, Clients} = collect_updates(
GroupedDocs2,
[Client],
- MergeConflicts
+ ReplicatedChanges
);
true ->
GroupedDocs3 = GroupedDocs2,
Clients = [Client]
end,
- NonRepDocs2 = [{Client, NRDoc} || NRDoc <- NonRepDocs],
- try update_docs_int(Db, GroupedDocs3, NonRepDocs2, MergeConflicts) of
+ LocalDocs2 = [{Client, NRDoc} || NRDoc <- LocalDocs],
+ try update_docs_int(Db, GroupedDocs3, LocalDocs2, ReplicatedChanges) of
{ok, Db2, UpdatedDDocIds} ->
ok = couch_server:db_updated(Db2),
case {couch_db:get_update_seq(Db), couch_db:get_update_seq(Db2)} of
@@ -189,7 +189,7 @@ handle_info(
_ -> couch_event:notify(Db2#db.name, updated)
end,
if
- NonRepDocs2 /= [] ->
+ LocalDocs2 /= [] ->
couch_event:notify(Db2#db.name, local_updated);
true ->
ok
@@ -288,14 +288,14 @@ merge_updates([], RestB) ->
merge_updates(RestA, []) ->
RestA.
-collect_updates(GroupedDocsAcc, ClientsAcc, MergeConflicts) ->
+collect_updates(GroupedDocsAcc, ClientsAcc, ReplicatedChanges) ->
receive
- % Only collect updates with the same MergeConflicts flag and without
+ % Only collect updates with the same ReplicatedChanges flag and without
% local docs. It's easier to just avoid multiple _local doc
% updaters than deal with their possible conflicts, and local docs
% writes are relatively rare. Can be optmized later if really needed.
- {update_docs, Client, GroupedDocs, [], MergeConflicts} ->
- case MergeConflicts of
+ {update_docs, Client, GroupedDocs, [], ReplicatedChanges} ->
+ case ReplicatedChanges of
true -> couch_stats:increment_counter([couchdb, coalesced_updates, replicated]);
false -> couch_stats:increment_counter([couchdb, coalesced_updates, interactive])
end,
@@ -305,7 +305,7 @@ collect_updates(GroupedDocsAcc, ClientsAcc, MergeConflicts) ->
collect_updates(
GroupedDocsAcc2,
[Client | ClientsAcc],
- MergeConflicts
+ ReplicatedChanges
)
after 0 ->
{GroupedDocsAcc, ClientsAcc}
@@ -485,7 +485,7 @@ merge_rev_trees([], [], Acc) ->
merge_rev_trees([NewDocs | RestDocsList], [OldDocInfo | RestOldInfo], Acc) ->
#merge_acc{
revs_limit = Limit,
- merge_conflicts = MergeConflicts,
+ replicated_changes = ReplicatedChanges,
full_partitions = FullPartitions
} = Acc,
@@ -493,9 +493,9 @@ merge_rev_trees([NewDocs | RestDocsList], [OldDocInfo | RestOldInfo], Acc) ->
erlang:put(last_id_merged, OldDocInfo#full_doc_info.id),
NewDocInfo0 = lists:foldl(
fun({Client, NewDoc}, OldInfoAcc) ->
- NewInfo = merge_rev_tree(OldInfoAcc, NewDoc, Client, MergeConflicts),
+ NewInfo = merge_rev_tree(OldInfoAcc, NewDoc, Client, ReplicatedChanges),
case is_overflowed(NewInfo, OldInfoAcc, FullPartitions) of
- true when not MergeConflicts ->
+ true when not ReplicatedChanges ->
DocId = NewInfo#full_doc_info.id,
send_result(Client, NewDoc, {partition_overflow, DocId}),
OldInfoAcc;
@@ -507,14 +507,14 @@ merge_rev_trees([NewDocs | RestDocsList], [OldDocInfo | RestOldInfo], Acc) ->
NewDocs
),
NewDocInfo1 = maybe_stem_full_doc_info(NewDocInfo0, Limit),
- % When MergeConflicts is false, we updated #full_doc_info.deleted on every
+ % When ReplicatedChanges is false, we updated #full_doc_info.deleted on every
% iteration of merge_rev_tree. However, merge_rev_tree does not update
- % #full_doc_info.deleted when MergeConflicts is true, since we don't need
+ % #full_doc_info.deleted when ReplicatedChanges is true, since we don't need
% to know whether the doc is deleted between iterations. Since we still
% need to know if the doc is deleted after the merge happens, we have to
% set it here.
NewDocInfo2 =
- case MergeConflicts of
+ case ReplicatedChanges of
true ->
NewDocInfo1#full_doc_info{
deleted = couch_doc:is_deleted(NewDocInfo1)
@@ -659,7 +659,7 @@ maybe_stem_full_doc_info(#full_doc_info{rev_tree = Tree} = Info, Limit) ->
Info
end.
-update_docs_int(Db, DocsList, LocalDocs, MergeConflicts) ->
+update_docs_int(Db, DocsList, LocalDocs, ReplicatedChanges) ->
UpdateSeq = couch_db_engine:get_update_seq(Db),
RevsLimit = couch_db_engine:get_revs_limit(Db),
@@ -705,7 +705,7 @@ update_docs_int(Db, DocsList, LocalDocs, MergeConflicts) ->
% Merge the new docs into the revision trees.
AccIn = #merge_acc{
revs_limit = RevsLimit,
- merge_conflicts = MergeConflicts,
+ replicated_changes = ReplicatedChanges,
add_infos = [],
rem_seqs = [],
cur_seq = UpdateSeq,