diff options
5 files changed, 13 insertions, 8 deletions
diff --git a/configdefinitions/src/vespa/stor-filestor.def b/configdefinitions/src/vespa/stor-filestor.def index 531805d3039..ef4094a02bf 100644 --- a/configdefinitions/src/vespa/stor-filestor.def +++ b/configdefinitions/src/vespa/stor-filestor.def @@ -80,7 +80,7 @@ resource_usage_reporter_noise_level double default=0.001 ## - DYNAMIC uses DynamicThrottlePolicy under the hood and will block if the window ## is full (if a blocking throttler API call is invoked). ## -async_operation_throttler.type enum { UNLIMITED, DYNAMIC } default=UNLIMITED +async_operation_throttler.type enum { UNLIMITED, DYNAMIC } default=DYNAMIC ## Internal throttler tuning parameters that only apply when type == DYNAMIC: async_operation_throttler.window_size_increment int default=20 async_operation_throttler.window_size_decrement_factor double default=1.2 @@ -104,7 +104,7 @@ async_operation_throttler.throttle_individual_merge_feed_ops bool default=true ## is full (if a blocking throttler API call is invoked). ## ## TODO deprecate in favor of the async_operation_throttler struct instead. -async_operation_throttler_type enum { UNLIMITED, DYNAMIC } default=UNLIMITED +async_operation_throttler_type enum { UNLIMITED, DYNAMIC } default=DYNAMIC ## Specifies the extent the throttling window is increased by when the async throttle ## policy has decided that more concurrent operations are desirable. Also affects the diff --git a/searchcore/src/vespa/searchcore/config/proton.def b/searchcore/src/vespa/searchcore/config/proton.def index 808535924f1..51536299d51 100644 --- a/searchcore/src/vespa/searchcore/config/proton.def +++ b/searchcore/src/vespa/searchcore/config/proton.def @@ -138,7 +138,7 @@ indexing.optimize enum {LATENCY, THROUGHPUT, ADAPTIVE} default=THROUGHPUT restar ## Maximum number of pending operations for each of the internal ## indexing threads. Only used when visibility delay is zero. -indexing.tasklimit int default=1000 +indexing.tasklimit int default=-1000 ## Deprecated and ignored, will soon go away indexing.semiunboundtasklimit int default = 1000 @@ -514,14 +514,14 @@ feeding.concurrency double default = 0.2 restart ## DOCUMENT_DB: Use a shared executor for index field inverter, index field writer, and attribute field writer among all document dbs. ## ## TODO: Remove this when a shared executor is the default. -feeding.shared_field_writer_executor enum {NONE, INDEX, INDEX_AND_ATTRIBUTE, DOCUMENT_DB} default = NONE restart +feeding.shared_field_writer_executor enum {NONE, INDEX, INDEX_AND_ATTRIBUTE, DOCUMENT_DB} default = DOCUMENT_DB restart ## Maximum number of pending tasks for the master thread in each document db. ## ## This limit is only considered when executing tasks for handling external feed operations. ## In that case the calling thread (persistence thread) is blocked until the master thread has capacity to handle more tasks. ## When this limit is set to 0 it is ignored. -feeding.master_task_limit int default = 1000 +feeding.master_task_limit int default = 0 ## Adjustment to resource limit when determining if maintenance jobs can run. ## @@ -550,7 +550,7 @@ forward_issues bool default = true ## Chooses the throttling policy used to control the window size ## of the SharedOperationThrottler component used by the transaction log replay feed state. -replay_throttling_policy.type enum { UNLIMITED, DYNAMIC } default=UNLIMITED +replay_throttling_policy.type enum { UNLIMITED, DYNAMIC } default=DYNAMIC ## Only used if replay_throttling_policy.type == DYNAMIC: replay_throttling_policy.min_window_size int default=100 replay_throttling_policy.max_window_size int default=10000 diff --git a/searchcore/src/vespa/searchcore/proton/test/mock_shared_threading_service.cpp b/searchcore/src/vespa/searchcore/proton/test/mock_shared_threading_service.cpp index e5d42b34370..e25c1459300 100644 --- a/searchcore/src/vespa/searchcore/proton/test/mock_shared_threading_service.cpp +++ b/searchcore/src/vespa/searchcore/proton/test/mock_shared_threading_service.cpp @@ -1,6 +1,9 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. #include "mock_shared_threading_service.h" +#include <vespa/vespalib/util/sequencedtaskexecutor.h> + +VESPA_THREAD_STACK_TAG(mock_field_writer_executor) namespace proton { @@ -9,6 +12,7 @@ MockSharedThreadingService::MockSharedThreadingService(ThreadExecutor& warmup_in size_t num_bucket_executors) : _warmup(warmup_in), _shared(shared_in), + _field_writer(vespalib::SequencedTaskExecutor::create(mock_field_writer_executor, 1)), _invokeService(10ms), _transport(), _bucket_executor(num_bucket_executors), diff --git a/searchcore/src/vespa/searchcore/proton/test/mock_shared_threading_service.h b/searchcore/src/vespa/searchcore/proton/test/mock_shared_threading_service.h index 167d15d70eb..00ffdc92020 100644 --- a/searchcore/src/vespa/searchcore/proton/test/mock_shared_threading_service.h +++ b/searchcore/src/vespa/searchcore/proton/test/mock_shared_threading_service.h @@ -14,6 +14,7 @@ private: using ThreadExecutor = vespalib::ThreadExecutor; ThreadExecutor & _warmup; ThreadExecutor & _shared; + std::unique_ptr<vespalib::ISequencedTaskExecutor> _field_writer; vespalib::InvokeServiceImpl _invokeService; Transport _transport; storage::spi::dummy::DummyBucketExecutor _bucket_executor; @@ -25,7 +26,7 @@ public: ~MockSharedThreadingService() override; ThreadExecutor& warmup() override { return _warmup; } ThreadExecutor& shared() override { return _shared; } - vespalib::ISequencedTaskExecutor* field_writer() override { return nullptr; } + vespalib::ISequencedTaskExecutor* field_writer() override { return _field_writer.get(); } vespalib::InvokeService & invokeService() override { return _invokeService; } FNET_Transport & transport() override { return _transport.transport(); } storage::spi::BucketExecutor& bucket_executor() override { return _bucket_executor; } diff --git a/storage/src/vespa/storage/config/stor-distributormanager.def b/storage/src/vespa/storage/config/stor-distributormanager.def index 1d2d4babf74..0a858ba37c3 100644 --- a/storage/src/vespa/storage/config/stor-distributormanager.def +++ b/storage/src/vespa/storage/config/stor-distributormanager.def @@ -298,4 +298,4 @@ use_unordered_merge_chaining bool default=true ## cluster state bundle indicates that global merges are pending in the cluster, i.e. ## one or more nodes is in maintenance mode in the default bucket space but marked up in ## the global bucket space. -inhibit_default_merges_when_global_merges_pending bool default=false +inhibit_default_merges_when_global_merges_pending bool default=true |