Skip to content

Commit 57056a0

Browse files
authored
DOC-805 | Extended memory accounting: COLLECT and MERGE() (#808)
* Release notes for improved memory accounting: MERGE(), RETURN DISTINCT, and certain COLLECT operations * Mention already merged tracking features of internal buffers * Mention execution block tracking
1 parent 7efadc3 commit 57056a0

File tree

4 files changed

+54
-0
lines changed

4 files changed

+54
-0
lines changed

site/content/3.12/release-notes/version-3.12/incompatible-changes-in-3-12.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -320,6 +320,15 @@ per-query limit with the [`memoryLimit` query option](../../aql/how-to-invoke-aq
320320
or its default using the `--query.memory-limit` startup option. You can adjust
321321
the global limit with the `--query.global-memory-limit` startup option.
322322

323+
---
324+
325+
<small>Introduced in: v3.12.6</small>
326+
327+
The memory accounting for AQL queries has been extended to track the memory usage
328+
of the `MERGE()` function, `RETURN DISTINCT`, and certain uses of the `COLLECT`
329+
operation. More queries compared to previous 3.12 versions may get killed due to
330+
exceeding the memory limit as a result of the improved tracking.
331+
323332
## Adjustable Stream Transaction size
324333

325334
[Stream Transactions](../../develop/transactions/stream-transactions.md) may

site/content/3.12/release-notes/version-3.12/whats-new-in-3-12.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,24 @@ The following new metrics have been added for memory observability:
180180
| `arangodb_transactions_internal_memory_usage` | Total memory usage of internal transactions. |
181181
| `arangodb_transactions_rest_memory_usage` | Total memory usage of user transactions (excluding top-level AQL queries). |
182182

183+
---
184+
185+
<small>Introduced in: v3.12.6</small>
186+
187+
The memory accounting for AQL queries has been extended to track the memory usage
188+
of the following:
189+
190+
- Grouping with the `COLLECT` operation if the `sorted` method is used.
191+
- Aggregating with `COLLECT ... AGGREGATE`.
192+
- Deduplicating results with `RETURN DISTINCT`.
193+
- Using the `MERGE()` function to combine objects.
194+
- Internal buffers for execution blocks, late materialization, building results,
195+
and distributing AQL queries in cluster deployments.
196+
- Internal buffers for decay, distance, and replace functions.
197+
- Internal buffers used by the query parser and optimizer.
198+
199+
It is expected that the reported memory consumption is now higher.
200+
183201
## Web interface
184202

185203
### Shard rebalancing

site/content/3.13/release-notes/version-3.12/incompatible-changes-in-3-12.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -320,6 +320,15 @@ per-query limit with the [`memoryLimit` query option](../../aql/how-to-invoke-aq
320320
or its default using the `--query.memory-limit` startup option. You can adjust
321321
the global limit with the `--query.global-memory-limit` startup option.
322322

323+
---
324+
325+
<small>Introduced in: v3.12.6</small>
326+
327+
The memory accounting for AQL queries has been extended to track the memory usage
328+
of the `MERGE()` function, `RETURN DISTINCT`, and certain uses of the `COLLECT`
329+
operation. More queries compared to previous 3.12 versions may get killed due to
330+
exceeding the memory limit as a result of the improved tracking.
331+
323332
## Adjustable Stream Transaction size
324333

325334
[Stream Transactions](../../develop/transactions/stream-transactions.md) may

site/content/3.13/release-notes/version-3.12/whats-new-in-3-12.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,24 @@ The following new metrics have been added for memory observability:
180180
| `arangodb_transactions_internal_memory_usage` | Total memory usage of internal transactions. |
181181
| `arangodb_transactions_rest_memory_usage` | Total memory usage of user transactions (excluding top-level AQL queries). |
182182

183+
---
184+
185+
<small>Introduced in: v3.12.6</small>
186+
187+
The memory accounting for AQL queries has been extended to track the memory usage
188+
of the following:
189+
190+
- Grouping with the `COLLECT` operation if the `sorted` method is used.
191+
- Aggregating with `COLLECT ... AGGREGATE`.
192+
- Deduplicating results with `RETURN DISTINCT`.
193+
- Using the `MERGE()` function to combine objects.
194+
- Internal buffers for execution blocks, late materialization, building results,
195+
and distributing AQL queries in cluster deployments.
196+
- Internal buffers for decay, distance, and replace functions.
197+
- Internal buffers used by the query parser and optimizer.
198+
199+
It is expected that the reported memory consumption is now higher.
200+
183201
## Web interface
184202

185203
### Shard rebalancing

0 commit comments

Comments
 (0)