summaryrefslogtreecommitdiffstats
path: root/configdefinitions
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2021-01-27 09:05:04 +0100
committerJon Marius Venstad <venstad@gmail.com>2021-01-27 09:05:04 +0100
commit9c25a72c7f18808d8a1e0efdc96916ad9c598fe0 (patch)
tree7f64b3acaf5ae13d7853904524195f1f282b3b70 /configdefinitions
parent9c33b487fb942394ad945e854a877a9de0b7aff4 (diff)
Revert "Revert "Jonmv/document protocol super config""
This reverts commit d7359f7c72ff06889af594431baf4075e2b4da78.
Diffstat (limited to 'configdefinitions')
-rw-r--r--configdefinitions/src/vespa/distribution.def46
-rw-r--r--configdefinitions/src/vespa/document-protocol-policies.def25
2 files changed, 71 insertions, 0 deletions
diff --git a/configdefinitions/src/vespa/distribution.def b/configdefinitions/src/vespa/distribution.def
new file mode 100644
index 00000000000..d0cb4165ac9
--- /dev/null
+++ b/configdefinitions/src/vespa/distribution.def
@@ -0,0 +1,46 @@
+# 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.
+##
+
+# If this is set to true, the distributor will try to enforce one active copy of
+# buckets per hierarchical leaf group. This lets the top level dispatcher send
+# queries only to the nodes of one group, saving computational effort.
+# If used, hierarchical grouping can not be used for other purposes.
+# Using this option implies that:
+# - ready_copies == redundancy
+# - Only one level of hierarchical grouping may be defined.
+# - That level distributes copies to all defined groups.
+cluster{}.active_per_leaf_group bool default=false
+
+# The number of copies that should be "ready" to be active. Maximum is redundancy.
+cluster{}.ready_copies int default=0
+
+# How many copies of a document are stored, across nodes.
+cluster{}.redundancy int default=3
+
+# Initial redundancy allows put-operations to return as completed after
+# a subset of all copies have been stored.
+# A value of 0 disable this, and causes normal redundancy behavior instead.
+cluster{}.initial_redundancy int default=0
+
+# 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