summaryrefslogtreecommitdiffstats
path: root/searchcore
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@online.no>2021-10-07 12:44:31 +0200
committerTor Egge <Tor.Egge@online.no>2021-10-07 12:44:31 +0200
commit3f8890e0ef52436ebced41d8fa8721d6938e07cc (patch)
tree6a2bfc7de84ea92590e81dd7c2531dac60be938a /searchcore
parent4b837462afa5ae9adbebc10c226637ae04e05007 (diff)
Add --ignore-merge-queue-limit option to vespa-redistribute-bm.
Diffstat (limited to 'searchcore')
-rw-r--r--searchcore/src/apps/vespa-redistribute-bm/vespa_redistribute_bm.cpp6
-rw-r--r--searchcore/src/vespa/searchcore/bmcluster/bm_cluster_params.cpp1
-rw-r--r--searchcore/src/vespa/searchcore/bmcluster/bm_cluster_params.h3
-rw-r--r--searchcore/src/vespa/searchcore/bmcluster/bm_node.cpp1
4 files changed, 11 insertions, 0 deletions
diff --git a/searchcore/src/apps/vespa-redistribute-bm/vespa_redistribute_bm.cpp b/searchcore/src/apps/vespa-redistribute-bm/vespa_redistribute_bm.cpp
index 1272521ff54..e1cb6df1252 100644
--- a/searchcore/src/apps/vespa-redistribute-bm/vespa_redistribute_bm.cpp
+++ b/searchcore/src/apps/vespa-redistribute-bm/vespa_redistribute_bm.cpp
@@ -475,6 +475,7 @@ App::usage()
"[--documents documents]\n"
"[--flip-nodes flip-nodes]\n"
"[--groups groups]\n"
+ "[--ignore-merge-queue-limit]\n"
"[--indexing-sequencer [latency,throughput,adaptive]]\n"
"[--max-merges-per-node max-merges-per-node]\n"
"[--max-merge-queue-size max-merge-queue-size]\n"
@@ -509,6 +510,7 @@ App::get_options()
{ "documents", 1, nullptr, 0 },
{ "flip-nodes", 1, nullptr, 0 },
{ "groups", 1, nullptr, 0 },
+ { "ignore-merge-queue-limit", 0, nullptr, 0 },
{ "indexing-sequencer", 1, nullptr, 0 },
{ "max-merges-per-node", 1, nullptr, 0 },
{ "max-merge-queue-size", 1, nullptr, 0 },
@@ -537,6 +539,7 @@ App::get_options()
LONGOPT_DOCUMENTS,
LONGOPT_FLIP_NODES,
LONGOPT_GROUPS,
+ LONGOPT_IGNORE_MERGE_QUEUE_LIMIT,
LONGOPT_INDEXING_SEQUENCER,
LONGOPT_MAX_MERGES_PER_NODE,
LONGOPT_MAX_MERGE_QUEUE_SIZE,
@@ -587,6 +590,9 @@ App::get_options()
case LONGOPT_GROUPS:
_bm_params.set_groups(atoi(opt_argument));
break;
+ case LONGOPT_IGNORE_MERGE_QUEUE_LIMIT:
+ _bm_params.set_disable_queue_limits_for_chained_merges(true);
+ break;
case LONGOPT_INDEXING_SEQUENCER:
_bm_params.set_indexing_sequencer(opt_argument);
break;
diff --git a/searchcore/src/vespa/searchcore/bmcluster/bm_cluster_params.cpp b/searchcore/src/vespa/searchcore/bmcluster/bm_cluster_params.cpp
index 84dc19e388f..b75541d0e0d 100644
--- a/searchcore/src/vespa/searchcore/bmcluster/bm_cluster_params.cpp
+++ b/searchcore/src/vespa/searchcore/bmcluster/bm_cluster_params.cpp
@@ -7,6 +7,7 @@ namespace search::bmcluster {
BmClusterParams::BmClusterParams()
: _bucket_db_stripe_bits(4),
+ _disable_queue_limits_for_chained_merges(false), // Same default as in stor-server.def
_distributor_merge_busy_wait(10), // Same default as stor_distributormanager.def
_distributor_stripes(0),
_doc_store_chunk_compression_level(9), // Same default as in proton.def
diff --git a/searchcore/src/vespa/searchcore/bmcluster/bm_cluster_params.h b/searchcore/src/vespa/searchcore/bmcluster/bm_cluster_params.h
index 19dac66978d..0918ce41478 100644
--- a/searchcore/src/vespa/searchcore/bmcluster/bm_cluster_params.h
+++ b/searchcore/src/vespa/searchcore/bmcluster/bm_cluster_params.h
@@ -13,6 +13,7 @@ namespace search::bmcluster {
class BmClusterParams
{
uint32_t _bucket_db_stripe_bits;
+ bool _disable_queue_limits_for_chained_merges;
uint32_t _distributor_merge_busy_wait;
uint32_t _distributor_stripes;
uint32_t _doc_store_chunk_compression_level;
@@ -42,6 +43,7 @@ public:
BmClusterParams();
~BmClusterParams();
uint32_t get_bucket_db_stripe_bits() const { return _bucket_db_stripe_bits; }
+ bool get_disable_queue_limits_for_chained_merges() const noexcept { return _disable_queue_limits_for_chained_merges; }
uint32_t get_distributor_merge_busy_wait() const { return _distributor_merge_busy_wait; }
uint32_t get_distributor_stripes() const { return _distributor_stripes; }
uint32_t get_doc_store_chunk_compression_level() const noexcept { return _doc_store_chunk_compression_level; }
@@ -69,6 +71,7 @@ public:
bool needs_message_bus() const { return _use_message_bus || _use_document_api; }
bool needs_service_layer() const { return _enable_service_layer || _enable_distributor || _use_storage_chain || _use_message_bus || _use_document_api; }
void set_bucket_db_stripe_bits(uint32_t value) { _bucket_db_stripe_bits = value; }
+ void set_disable_queue_limits_for_chained_merges(bool value) { _disable_queue_limits_for_chained_merges = value; }
void set_distributor_merge_busy_wait(uint32_t value) { _distributor_merge_busy_wait = value; }
void set_distributor_stripes(uint32_t value) { _distributor_stripes = value; }
void set_doc_store_chunk_compression_level(uint32_t value) { _doc_store_chunk_compression_level = value; }
diff --git a/searchcore/src/vespa/searchcore/bmcluster/bm_node.cpp b/searchcore/src/vespa/searchcore/bmcluster/bm_node.cpp
index 571ec592201..be56ff91719 100644
--- a/searchcore/src/vespa/searchcore/bmcluster/bm_node.cpp
+++ b/searchcore/src/vespa/searchcore/bmcluster/bm_node.cpp
@@ -320,6 +320,7 @@ struct StorageConfigSet
messagebus()
{
stor_distribution = distribution.get_distribution_config();
+ stor_server.disableQueueLimitsForChainedMerges = params.get_disable_queue_limits_for_chained_merges();
stor_server.nodeIndex = node_idx;
stor_server.isDistributor = distributor;
stor_server.contentNodeBucketDbStripeBits = params.get_bucket_db_stripe_bits();