summaryrefslogtreecommitdiff
path: root/src/couch_mrview
diff options
context:
space:
mode:
authorILYA Khlopotov <iilyak@apache.org>2018-09-28 17:06:08 -0700
committerILYA Khlopotov <iilyak@apache.org>2019-02-14 13:06:55 +0000
commit13bf0eb80813477bf3fbe79cffaf0faddffaaca9 (patch)
treed6e8b0c5473d1fe08694e6d5c7df2dddc7634d55 /src/couch_mrview
parente699fe6859eb4fb32eafbd637cda1fc7d5e9043a (diff)
downloadcouchdb-13bf0eb80813477bf3fbe79cffaf0faddffaaca9.tar.gz
Set io_priority for couch_index pids
Diffstat (limited to 'src/couch_mrview')
-rw-r--r--src/couch_mrview/src/couch_mrview_updater.erl11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/couch_mrview/src/couch_mrview_updater.erl b/src/couch_mrview/src/couch_mrview_updater.erl
index 9740e6a28..18657b468 100644
--- a/src/couch_mrview/src/couch_mrview_updater.erl
+++ b/src/couch_mrview/src/couch_mrview_updater.erl
@@ -25,7 +25,6 @@ start_update(Partial, State, NumChanges, NumChangesDone) ->
QueueOpts = [{max_size, MaxSize}, {max_items, MaxItems}],
{ok, DocQueue} = couch_work_queue:new(QueueOpts),
{ok, WriteQueue} = couch_work_queue:new(QueueOpts),
-
InitState = State#mrst{
first_build=State#mrst.update_seq==0,
partial_resp_pid=Partial,
@@ -37,6 +36,8 @@ start_update(Partial, State, NumChanges, NumChangesDone) ->
Self = self(),
MapFun = fun() ->
+ erlang:put(io_priority,
+ {view_update, State#mrst.db_name, State#mrst.idx_name}),
Progress = case NumChanges of
0 -> 0;
_ -> (NumChangesDone * 100) div NumChanges
@@ -53,8 +54,11 @@ start_update(Partial, State, NumChanges, NumChangesDone) ->
couch_task_status:set_update_frequency(500),
map_docs(Self, InitState)
end,
- WriteFun = fun() -> write_results(Self, InitState) end,
-
+ WriteFun = fun() ->
+ erlang:put(io_priority,
+ {view_update, State#mrst.db_name, State#mrst.idx_name}),
+ write_results(Self, InitState)
+ end,
spawn_link(MapFun),
spawn_link(WriteFun),
@@ -219,7 +223,6 @@ write_results(Parent, #mrst{db_name = DbName, idx_name = IdxName} = State) ->
stop ->
Parent ! {new_state, State};
{Go, {Seq, ViewKVs, DocIdKeys, Seqs, Log}} ->
- erlang:put(io_priority, {view_update, DbName, IdxName}),
NewState = write_kvs(State, Seq, ViewKVs, DocIdKeys, Seqs, Log),
if Go == stop ->
Parent ! {new_state, NewState};