Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -627,6 +627,43 @@ DB-Servers in a cluster has been added:

- `arangodb_vocbase_transactions_lost_subordinates_total`

---

<small>Introduced in: v3.12.5</small>

A metric has been added for the time spent on API call recording:

- `arangodb_api_recording_call_time`

---

<small>Introduced in: v3.12.6</small>

A metric has been added for the time spent on AQL query recording, along with
multiple RocksDB metrics:

- `arangodb_aql_recording_call_time`
- `rocksdb_block_cache_charge_per_entry`
- `rocksdb_block_cache_entries`
- `rocksdb_live_blob_file_garbage_size`
- `rocksdb_live_blob_file_size`
- `rocksdb_num_blob_files`

---

<small>Introduced in: v3.12.7</small>

The following new metrics have been added to track the global number of databases,
collections, and shards, as well as the CGroup version and effective CPU cores
and physical memory:

- `arangodb_metadata_number_of_databases`
- `arangodb_metadata_number_of_collections`
- `arangodb_metadata_number_of_shards`
- `arangodb_server_statistics_cpu_cgroup_version`
- `arangodb_server_statistics_effective_cpu_cores`
- `arangodb_server_statistics_effective_physical_memory`

#### Stream Transactions API

<small>Introduced in: v3.12.1</small>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,4 +51,4 @@ Note that this page does not list all open issues.
| **Date Added:** 2024-07-03 <br> **Component:** arangod <br> **Deployment Mode:** All <br> **Description:** ArangoDB can crash if run on bare metal and the Linux distribution uses a different glibc version, the `libnss-*` libraries are installed, and the `/etc/nsswitch.conf` configuration file contains settings other than for `files` and `dns` in the `hosts:` line, or the `passwd:` and `group:` lines contain something other than `files`. If you use a fixed version, it can still crash under these circumstances if you enable the `--honor-nsswitch` startup option. <br> **Affected Versions:** 3.11.10 (non-hotfix), 3.12.0 <br> **Fixed in Versions:** 3.11.10-1, 3.12.1 <br> **Reference:** [Incompatibility due to switch to glibc](incompatible-changes-in-3-12.md#incompatibilities-due-to-switch-to-glibc) |
| **Date Added:** 2025-01-30 <br> **Component:** arangod <br> **Deployment Mode:** Cluster <br> **Description:** If the invariant is violated that ArangoDB's data is not modified while a server is down, manually as well as automatically triggered operations such as moving shards can make a DB-Server the leader (again) even though it may not have the correct data. ArangoDB does currently not protect against certain cases like bringing a DB-Server back without data (by accident or on purpose), which can lead to this empty state getting replicated across the cluster and thus causing data loss. <br> **Affected Versions:** 3.11.x, 3.12.x <br> **Fixed in Versions:** - <br> **Reference:** N/A |
| **Date Added:** 2025-06-25 <br> **Component:** Web interface <br> **Deployment Mode:** All <br> **Description:** Specifying an `X-Script-Name` HTTP header in requests to the web interface (`/_admin/aardvark`) to add a path prefix is non-functional. The feature was originally added in version 3.0 for basic proxy setups but doesn't adequately handle the requests of certain internal services. <br> **Affected Versions:** 3.11.x, 3.12.x <br> **Fixed in Versions:** - <br> **Reference:** N/A |
| **Date Added:** 2025-12-09 <br> **Component:** arangod <br> **Deployment Mode:** Cluster <br> **Description:** When rapidly changing the `replicationFactor` of a collection, the server may unexpectedly reply a `Precondition Failed` error with code `412`. <br> **Affected Versions:** 3.12.x <br> **Fixed in Versions:** - <br> **Reference:** [BTS-2279](https://arangodb.atlassian.net/browse/BTS-2279) (internal) |
| **Date Added:** 2025-12-09 <br> **Component:** arangod <br> **Deployment Mode:** Cluster <br> **Description:** When rapidly changing the `replicationFactor` of a collection, the server may unexpectedly reply a `Precondition Failed` error with code `412`. <br> **Affected Versions:** 3.12.x <br> **Fixed in Versions:** - <br> **Reference:** [BTS-2279](https://arangodb.atlassian.net/browse/BTS-2279) (internal) |
Original file line number Diff line number Diff line change
Expand Up @@ -2376,39 +2376,19 @@ DB-Servers in a cluster has been added:
|:------|:------------|
| `arangodb_vocbase_transactions_lost_subordinates_total` | Counts the number of lost subordinate transactions on database servers. |

### RocksDB upgrade

<small>Introduced in: v3.12.6</small>

The RocksDB library has been upgraded from version 7.2.0 to 9.5.0.

As a result, you may see performance improvements while using slightly less
resources especially for mixed workloads.
### Access tokens

The following new RocksDB functionality is exposed in ArangoDB:
<small>Introduced in: v3.12.5</small>

- Different types of block caches, LRU and HyperClockCache (HCC), selectable via
the new `--rocksdb.block-cache-type` startup option
- A `--rocksdb.block-cache-estimated-entry-charge` startup option to configure the HCC.
- RocksDB table format version 6 (not downwards-compatible to older versions of RocksDB).
- RocksDB blob caching (if blobs are enabled for the documents column family),
which you can enable via `--rocksdb.enable-blob-cache`.
- Using blob files only from a certain level onwards (if blobs are enabled for
the documents column family), which you can enable via
`--rocksdb.blob-file-starting-level`.
- Blob cache prepopulation, which you can enable via `--rocksdb.prepopulate-blob-cache`.
- An option to generate Bloom/Ribbon filters that minimize memory internal
fragmentation, which you can enable with `--rocksdb.optimize-filters-for-memory`.
A new authentication feature has been added that lets you use access tokens
for either creating JWT session tokens or directly authenticate with an
access token instead of a password.

The following RocksDB metrics have been added:
You can create multiple access tokens for a single user account, set expiration
dates, and individually revoke tokens.

| Label | Description |
|:------|:------------|
| `rocksdb_block_cache_charge_per_entry` | Average size of entries in RocksDB block cache.
| `rocksdb_block_cache_entries` | Number of entries in the RocksDB block cache.
| `rocksdb_live_blob_file_garbage_size` | Size of garbage in live RocksDB .blob files.
| `rocksdb_live_blob_file_size` | Size of live RocksDB .blob files.
| `rocksdb_num_blob_files` | Number of live RocksDB .blob files.
See the [HTTP API](../../develop/http-api/authentication.md#access-tokens)
documentation.

### API call recording

Expand Down Expand Up @@ -2477,19 +2457,39 @@ impact of this feature:
See [HTTP interface for server logs](../../develop/http-api/monitoring/logs.md#get-recent-aql-queries)
for details.

### Access tokens
### RocksDB upgrade

<small>Introduced in: v3.12.5</small>
<small>Introduced in: v3.12.6</small>

A new authentication feature has been added that lets you use access tokens
for either creating JWT session tokens or directly authenticate with an
access token instead of a password.
The RocksDB library has been upgraded from version 7.2.0 to 9.5.0.

You can create multiple access tokens for a single user account, set expiration
dates, and individually revoke tokens.
As a result, you may see performance improvements while using slightly less
resources especially for mixed workloads.

See the [HTTP API](../../develop/http-api/authentication.md#access-tokens)
documentation.
The following new RocksDB functionality is exposed in ArangoDB:

- Different types of block caches, LRU and HyperClockCache (HCC), selectable via
the new `--rocksdb.block-cache-type` startup option
- A `--rocksdb.block-cache-estimated-entry-charge` startup option to configure the HCC.
- RocksDB table format version 6 (not downwards-compatible to older versions of RocksDB).
- RocksDB blob caching (if blobs are enabled for the documents column family),
which you can enable via `--rocksdb.enable-blob-cache`.
- Using blob files only from a certain level onwards (if blobs are enabled for
the documents column family), which you can enable via
`--rocksdb.blob-file-starting-level`.
- Blob cache prepopulation, which you can enable via `--rocksdb.prepopulate-blob-cache`.
- An option to generate Bloom/Ribbon filters that minimize memory internal
fragmentation, which you can enable with `--rocksdb.optimize-filters-for-memory`.

The following RocksDB metrics have been added:

| Label | Description |
|:------|:------------|
| `rocksdb_block_cache_charge_per_entry` | Average size of entries in RocksDB block cache.
| `rocksdb_block_cache_entries` | Number of entries in the RocksDB block cache.
| `rocksdb_live_blob_file_garbage_size` | Size of garbage in live RocksDB .blob files.
| `rocksdb_live_blob_file_size` | Size of live RocksDB .blob files.
| `rocksdb_num_blob_files` | Number of live RocksDB .blob files.

### `@PID@` and `@TEMP_BASE_DIR@` placeholders for startup options

Expand Down Expand Up @@ -2526,6 +2526,23 @@ These metrics are exposed on Coordinators (in cluster mode) and single
servers, providing visibility into the overall size and scale of the
deployment.

### Resource metrics

<small>Introduced in: v3.12.7</small>

The following new metrics have been added for the CGroup version and the
effective CPU cores and physical memory, taking limitations set on the
_arangod_ process into account:

| Label | Description |
|:------|:------------|
| `arangodb_server_statistics_cpu_cgroup_version` | CGroup version detected on the system (0=none, 1=v1, 2=v2). |
| `arangodb_server_statistics_effective_cpu_cores` | Number of effective CPU cores available to the arangod process. |
| `arangodb_server_statistics_effective_physical_memory` | Effective physical memory available to the arangod process in bytes. |

The size of the currently mounted disk is already exposed by the
`rocksdb_total_disk_space` metric.

## Client tools

### Protocol aliases for endpoints
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -627,6 +627,43 @@ DB-Servers in a cluster has been added:

- `arangodb_vocbase_transactions_lost_subordinates_total`

---

<small>Introduced in: v3.12.5</small>

A metric has been added for the time spent on API call recording:

- `arangodb_api_recording_call_time`

---

<small>Introduced in: v3.12.6</small>

A metric has been added for the time spent on AQL query recording, along with
multiple RocksDB metrics:

- `arangodb_aql_recording_call_time`
- `rocksdb_block_cache_charge_per_entry`
- `rocksdb_block_cache_entries`
- `rocksdb_live_blob_file_garbage_size`
- `rocksdb_live_blob_file_size`
- `rocksdb_num_blob_files`

---

<small>Introduced in: v3.12.7</small>

The following new metrics have been added to track the global number of databases,
collections, and shards, as well as the CGroup version and effective CPU cores
and physical memory:

- `arangodb_metadata_number_of_databases`
- `arangodb_metadata_number_of_collections`
- `arangodb_metadata_number_of_shards`
- `arangodb_server_statistics_cpu_cgroup_version`
- `arangodb_server_statistics_effective_cpu_cores`
- `arangodb_server_statistics_effective_physical_memory`

#### Stream Transactions API

<small>Introduced in: v3.12.1</small>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2376,39 +2376,19 @@ DB-Servers in a cluster has been added:
|:------|:------------|
| `arangodb_vocbase_transactions_lost_subordinates_total` | Counts the number of lost subordinate transactions on database servers. |

### RocksDB upgrade

<small>Introduced in: v3.12.6</small>

The RocksDB library has been upgraded from version 7.2.0 to 9.5.0.

As a result, you may see performance improvements while using slightly less
resources especially for mixed workloads.
### Access tokens

The following new RocksDB functionality is exposed in ArangoDB:
<small>Introduced in: v3.12.5</small>

- Different types of block caches, LRU and HyperClockCache (HCC), selectable via
the new `--rocksdb.block-cache-type` startup option
- A `--rocksdb.block-cache-estimated-entry-charge` startup option to configure the HCC.
- RocksDB table format version 6 (not downwards-compatible to older versions of RocksDB).
- RocksDB blob caching (if blobs are enabled for the documents column family),
which you can enable via `--rocksdb.enable-blob-cache`.
- Using blob files only from a certain level onwards (if blobs are enabled for
the documents column family), which you can enable via
`--rocksdb.blob-file-starting-level`.
- Blob cache prepopulation, which you can enable via `--rocksdb.prepopulate-blob-cache`.
- An option to generate Bloom/Ribbon filters that minimize memory internal
fragmentation, which you can enable with `--rocksdb.optimize-filters-for-memory`.
A new authentication feature has been added that lets you use access tokens
for either creating JWT session tokens or directly authenticate with an
access token instead of a password.

The following RocksDB metrics have been added:
You can create multiple access tokens for a single user account, set expiration
dates, and individually revoke tokens.

| Label | Description |
|:------|:------------|
| `rocksdb_block_cache_charge_per_entry` | Average size of entries in RocksDB block cache.
| `rocksdb_block_cache_entries` | Number of entries in the RocksDB block cache.
| `rocksdb_live_blob_file_garbage_size` | Size of garbage in live RocksDB .blob files.
| `rocksdb_live_blob_file_size` | Size of live RocksDB .blob files.
| `rocksdb_num_blob_files` | Number of live RocksDB .blob files.
See the [HTTP API](../../develop/http-api/authentication.md#access-tokens)
documentation.

### API call recording

Expand Down Expand Up @@ -2477,19 +2457,39 @@ impact of this feature:
See [HTTP interface for server logs](../../develop/http-api/monitoring/logs.md#get-recent-aql-queries)
for details.

### Access tokens
### RocksDB upgrade

<small>Introduced in: v3.12.5</small>
<small>Introduced in: v3.12.6</small>

A new authentication feature has been added that lets you use access tokens
for either creating JWT session tokens or directly authenticate with an
access token instead of a password.
The RocksDB library has been upgraded from version 7.2.0 to 9.5.0.

You can create multiple access tokens for a single user account, set expiration
dates, and individually revoke tokens.
As a result, you may see performance improvements while using slightly less
resources especially for mixed workloads.

See the [HTTP API](../../develop/http-api/authentication.md#access-tokens)
documentation.
The following new RocksDB functionality is exposed in ArangoDB:

- Different types of block caches, LRU and HyperClockCache (HCC), selectable via
the new `--rocksdb.block-cache-type` startup option
- A `--rocksdb.block-cache-estimated-entry-charge` startup option to configure the HCC.
- RocksDB table format version 6 (not downwards-compatible to older versions of RocksDB).
- RocksDB blob caching (if blobs are enabled for the documents column family),
which you can enable via `--rocksdb.enable-blob-cache`.
- Using blob files only from a certain level onwards (if blobs are enabled for
the documents column family), which you can enable via
`--rocksdb.blob-file-starting-level`.
- Blob cache prepopulation, which you can enable via `--rocksdb.prepopulate-blob-cache`.
- An option to generate Bloom/Ribbon filters that minimize memory internal
fragmentation, which you can enable with `--rocksdb.optimize-filters-for-memory`.

The following RocksDB metrics have been added:

| Label | Description |
|:------|:------------|
| `rocksdb_block_cache_charge_per_entry` | Average size of entries in RocksDB block cache.
| `rocksdb_block_cache_entries` | Number of entries in the RocksDB block cache.
| `rocksdb_live_blob_file_garbage_size` | Size of garbage in live RocksDB .blob files.
| `rocksdb_live_blob_file_size` | Size of live RocksDB .blob files.
| `rocksdb_num_blob_files` | Number of live RocksDB .blob files.

### `@PID@` and `@TEMP_BASE_DIR@` placeholders for startup options

Expand Down Expand Up @@ -2526,6 +2526,23 @@ These metrics are exposed on Coordinators (in cluster mode) and single
servers, providing visibility into the overall size and scale of the
deployment.

### Resource metrics

<small>Introduced in: v3.12.7</small>

The following new metrics have been added for the CGroup version and the
effective CPU cores and physical memory, taking limitations set on the
_arangod_ process into account:

| Label | Description |
|:------|:------------|
| `arangodb_server_statistics_cpu_cgroup_version` | CGroup version detected on the system (0=none, 1=v1, 2=v2). |
| `arangodb_server_statistics_effective_cpu_cores` | Number of effective CPU cores available to the arangod process. |
| `arangodb_server_statistics_effective_physical_memory` | Effective physical memory available to the arangod process in bytes. |

The size of the currently mounted disk is already exposed by the
`rocksdb_total_disk_space` metric.

## Client tools

### Protocol aliases for endpoints
Expand Down