aboutsummaryrefslogtreecommitdiffstats
path: root/configdefinitions
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2021-01-15 14:02:26 +0100
committerJon Marius Venstad <venstad@gmail.com>2021-01-18 12:17:46 +0100
commit3a08e84b7e8a94b4514a852314eece3ef596c552 (patch)
tree8a2163f5f1a36392726b7ffba396606c3f63dfb4 /configdefinitions
parent005f28550f9dc461bbf528b6e661600691037d3f (diff)
Add config for distribution and doc-protoc policies across _all_ content clusters
Diffstat (limited to 'configdefinitions')
-rw-r--r--configdefinitions/src/vespa/distribution.def28
-rw-r--r--configdefinitions/src/vespa/document-protocol-policies.def25
-rw-r--r--configdefinitions/src/vespa/stor-distribution.def6
3 files changed, 59 insertions, 0 deletions
diff --git a/configdefinitions/src/vespa/distribution.def b/configdefinitions/src/vespa/distribution.def
new file mode 100644
index 00000000000..f2027fa4eb7
--- /dev/null
+++ b/configdefinitions/src/vespa/distribution.def
@@ -0,0 +1,28 @@
+# Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+namespace=vespa.config.content
+
+##
+## Super config for distribution in each content cluster, keyed by cluster id.
+##
+
+# How many copies of a document are stored, across nodes.
+cluster{}.redundancy int default=3
+
+# Hierarchical grouping divides the nodes into a tree of groups. The index is the
+# string representation of a path from the root node in this tree, e.g., "1.2.1".
+cluster{}.group[].index string
+
+# Each group needs to have a name. Obviously. Duh.
+cluster{}.group[].name string
+
+# Capacity of the given group.
+cluster{}.group[].capacity double default=1
+
+# Partitions define how copies are divided among child groups/nodes.
+cluster{}.group[].partitions string default=""
+
+# Leaf groups will have a set of nodes within them. Branch groups will have none.
+cluster{}.group[].nodes[].index int
+
+# Whether this node is retired, and data should migrate out of it.
+cluster{}.group[].nodes[].retired bool default=false \ No newline at end of file
diff --git a/configdefinitions/src/vespa/document-protocol-policies.def b/configdefinitions/src/vespa/document-protocol-policies.def
new file mode 100644
index 00000000000..e752a542cbd
--- /dev/null
+++ b/configdefinitions/src/vespa/document-protocol-policies.def
@@ -0,0 +1,25 @@
+# Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+namespace=messagebus.documentapi
+
+##
+## Super config for all policies in the document protocol, keyed by content cluster ids.
+## Note: ContentPolicy also uses the "distribution" config.
+##
+
+#
+# Config used by MessageTypeRouteSelectorPolicy
+#
+# Default route if no override is set for a type.
+cluster{}.defaultRoute string
+
+# The name of the route.
+cluster{}.route[].name string
+
+# The document protocol message type triggering this route.
+cluster{}.route[].messageType int
+
+#
+# Config used by DocumentRouteSelectorPolicy
+#
+# The document selector for this cluster route.
+cluster{}.selector string
diff --git a/configdefinitions/src/vespa/stor-distribution.def b/configdefinitions/src/vespa/stor-distribution.def
index 518626228c1..c8a9f30be91 100644
--- a/configdefinitions/src/vespa/stor-distribution.def
+++ b/configdefinitions/src/vespa/stor-distribution.def
@@ -10,14 +10,17 @@ redundancy int default=3
## a subset of all copies have been persisted (known as initial persistence
## in BCP terms).
## Set to 0 to disable and use normal redundancy behavior instead.
+## TODO: seems unused
initial_redundancy int default=0
## If set, requires that the primary nodes copy should always be persisted
## before an n-of-m initial persistence operation can complete.
+## TODO: seems unused
ensure_primary_persisted bool default=true
## The number of copies that should be "ready" to be active.
## Maximum is redundancy.
+## TODO: seems unused
ready_copies int default=0
## If this option is set true, the distributor will try to enforce one active copy
@@ -29,6 +32,7 @@ ready_copies int default=0
## - ready_copies == redundancy
## - Only one level of hierarchical grouping defined.
## - That level distributes copies to all defined groups.
+## TODO: seems unused
active_per_leaf_group bool default=false
## Search have some unfortunate properties with some queries, adding a static
@@ -36,6 +40,7 @@ active_per_leaf_group bool default=false
## these cases they use many small groups to be able to scale. In such cases,
## where groups are small, having distributors able to take over when none are
## available in a group is useful.
+## TODO: seems unused, i.e., always true
distributor_auto_ownership_transfer_on_whole_group_down bool default=true
## Hierarchical grouping divides the nodes into a tree of groups. Due to config
@@ -67,4 +72,5 @@ group[].nodes[].retired bool default=false
## MODULO_INDEX with node index in seed
## MODULO_KNUTH with random(node index) in seed
## MODULO_BID using all used bits, except count bits, and random(node index)
+## TODO: seems unused
disk_distribution enum { MODULO, MODULO_INDEX, MODULO_KNUTH, MODULO_BID } default=MODULO_BID