From 7364304c8a32b4a744335c95c72e036da080ec22 Mon Sep 17 00:00:00 2001
From: Tor Brede Vekterli <vekterli@yahooinc.com>
Date: Thu, 24 Feb 2022 15:07:43 +0000
Subject: Make it possible to configure what aspects of merges should be
 throttled

Add live config for choosing whether merges should be throttled
on a per-feed operation (`MergeHandler`) level, or on an `ApplyBucketDiff`
persistence thread level.

This is intended to be a temporary feature while we do experiments, so
some liberties are taken with regards to how holes are punched in the
various abstraction layers.
---
 configdefinitions/src/vespa/stor-filestor.def | 5 +++++
 1 file changed, 5 insertions(+)

(limited to 'configdefinitions/src/vespa/stor-filestor.def')

diff --git a/configdefinitions/src/vespa/stor-filestor.def b/configdefinitions/src/vespa/stor-filestor.def
index 036ed47ddc9..e54b503ed93 100644
--- a/configdefinitions/src/vespa/stor-filestor.def
+++ b/configdefinitions/src/vespa/stor-filestor.def
@@ -88,6 +88,11 @@ async_operation_throttler.window_size_backoff double default=0.95
 async_operation_throttler.min_window_size int default=20
 async_operation_throttler.max_window_size int default=-1 # < 0 implies INT_MAX
 async_operation_throttler.resize_rate double default=3.0
+## If true, each put/remove contained within a merge is individually throttled as if it
+## were a put/remove from a client. If false, merges are throttled at a persistence thread
+## level, i.e. per ApplyBucketDiff message, regardless of how many document operations
+## are contained within.
+async_operation_throttler.throttle_individual_merge_feed_ops bool default=true
 
 ## Specify throttling used for async persistence operations. This throttling takes place
 ## before operations are dispatched to Proton and serves as a limiter for how many
-- 
cgit v1.2.3

