diff options
author | ILYA Khlopotov <iilyak@apache.org> | 2018-09-28 17:06:08 -0700 |
---|---|---|
committer | ILYA Khlopotov <iilyak@apache.org> | 2019-02-14 13:06:55 +0000 |
commit | 13bf0eb80813477bf3fbe79cffaf0faddffaaca9 (patch) | |
tree | d6e8b0c5473d1fe08694e6d5c7df2dddc7634d55 /src/couch_mrview | |
parent | e699fe6859eb4fb32eafbd637cda1fc7d5e9043a (diff) | |
download | couchdb-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.erl | 11 |
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}; |