summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Vatamaniuc <vatamane@gmail.com>2022-11-16 13:36:53 -0500
committerNick Vatamaniuc <nickva@users.noreply.github.com>2022-11-16 14:25:47 -0500
commit62d92766e8b8042c2f3627c3ac3e2365410c7912 (patch)
tree3948452b87d786f74bd20344ef1832e6752f2b18
parenteddb6365bc871ba072951361422d98ef69320f52 (diff)
downloadcouchdb-62d92766e8b8042c2f3627c3ac3e2365410c7912.tar.gz
Use compaction ioq priority for shard splitting
Db shard copy uses `db_compact` priority and view building uses `view_compact` priority to avoid inventing new priority levels.
-rw-r--r--src/mem3/src/mem3_reshard_index.erl4
-rw-r--r--src/mem3/src/mem3_reshard_job.erl1
2 files changed, 4 insertions, 1 deletions
diff --git a/src/mem3/src/mem3_reshard_index.erl b/src/mem3/src/mem3_reshard_index.erl
index fa0a101b5..54cb08ebe 100644
--- a/src/mem3/src/mem3_reshard_index.erl
+++ b/src/mem3/src/mem3_reshard_index.erl
@@ -103,7 +103,9 @@ hastings_indices(DbName, Doc) ->
[]
end.
-build_index({?MRVIEW, _DbName, MRSt} = Ctx, Try) ->
+build_index({?MRVIEW, DbName, MRSt} = Ctx, Try) ->
+ IdxName = couch_mrview_index:get(idx_name, MRSt),
+ ioq:set_io_priority({view_compact, DbName, IdxName}),
await_retry(
couch_index_server:get_index(couch_mrview_index, MRSt),
fun couch_index:get_state/2,
diff --git a/src/mem3/src/mem3_reshard_job.erl b/src/mem3/src/mem3_reshard_job.erl
index a9fb48134..1be74dfba 100644
--- a/src/mem3/src/mem3_reshard_job.erl
+++ b/src/mem3/src/mem3_reshard_job.erl
@@ -367,6 +367,7 @@ initial_copy_impl(#job{source = Source, target = Targets0} = Job) ->
#shard{name = SourceName} = Source,
Targets = [{R, N} || #shard{range = R, name = N} <- Targets0],
TMap = maps:from_list(Targets),
+ ioq:set_io_priority({db_compact, SourceName}),
LogMsg1 = "~p initial_copy started ~s",
LogArgs1 = [?MODULE, shardsstr(Source, Targets0)],
couch_log:notice(LogMsg1, LogArgs1),