@@ -88,6 +88,37 @@ example query, but you can also specify your preferred method explicitly.
88
88
89
89
See the [ ` COLLECT ` options] ( aql/operations-collect.html#method ) for details.
90
90
91
+ ### Parallel gather
92
+
93
+ On Coordinators in cluster deployments, results from different DB-Servers are
94
+ combined into a stream of results. This process is called gathering. It shows as
95
+ ` GatherNode ` nodes in the execution plan of AQL queries.
96
+
97
+ Previously, a cluster AQL query could only parallelize a ` GatherNode ` if the
98
+ DB-Server query part above it (in terms of query execution plan layout) was a
99
+ terminal part of the query. That means that it was not allowed for other nodes of
100
+ type ` ScatterNode ` , ` GatherNode ` , or ` DistributeNode ` to be present in the query.
101
+
102
+ Modification queries were also not allowed to use parallel gather unless the
103
+ ` --query.parallelize-gather-writes ` startup option was enabled, which defaulted
104
+ to ` false ` .
105
+
106
+ From v3.11.0 onward, these limitations are removed so that parallel gather can be
107
+ used in almost all queries. As a result, the feature is enabled by default and
108
+ the ` --query.parallelize-gather-writes ` startup option is now obsolete. You can
109
+ still disable the optimization by disabling the ` parallelize-gather ` AQL
110
+ optimizer rule.
111
+
112
+ The only case where parallel gather is not supported is when using traversals,
113
+ although there are some exceptions for Disjoint SmartGraphs where the traversal
114
+ can run completely on the local DB-Server (only available in the Enterprise Edition).
115
+
116
+ The parallel gather optimization can not only speed up queries quite significantly,
117
+ but also overcome issues with the previous serial processing within ` GatherNode `
118
+ nodes, which could lead to high memory usage on Coordinators caused by buffering
119
+ of documents for other shards, and timeouts on some DB-Servers because query parts
120
+ were idle for too long.
121
+
91
122
### Extended peak memory usage reporting
92
123
93
124
The peak memory usage of AQL queries is now also reported for running queries
0 commit comments