diff options
author | Tor Egge <Tor.Egge@online.no> | 2021-10-07 12:44:31 +0200 |
---|---|---|
committer | Tor Egge <Tor.Egge@online.no> | 2021-10-07 12:44:31 +0200 |
commit | 3f8890e0ef52436ebced41d8fa8721d6938e07cc (patch) | |
tree | 6a2bfc7de84ea92590e81dd7c2531dac60be938a /searchcore | |
parent | 4b837462afa5ae9adbebc10c226637ae04e05007 (diff) |
Add --ignore-merge-queue-limit option to vespa-redistribute-bm.
Diffstat (limited to 'searchcore')
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(); |