diff --git a/site/content/arangodb/3.12/release-notes/version-3.12/api-changes-in-3-12.md b/site/content/arangodb/3.12/release-notes/version-3.12/api-changes-in-3-12.md index 57518506c5..c00008ab07 100644 --- a/site/content/arangodb/3.12/release-notes/version-3.12/api-changes-in-3-12.md +++ b/site/content/arangodb/3.12/release-notes/version-3.12/api-changes-in-3-12.md @@ -627,6 +627,43 @@ DB-Servers in a cluster has been added: - `arangodb_vocbase_transactions_lost_subordinates_total` +--- + +Introduced in: v3.12.5 + +A metric has been added for the time spent on API call recording: + +- `arangodb_api_recording_call_time` + +--- + +Introduced in: v3.12.6 + +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` + +--- + +Introduced in: v3.12.7 + +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 Introduced in: v3.12.1 diff --git a/site/content/arangodb/3.12/release-notes/version-3.12/known-issues-in-3-12.md b/site/content/arangodb/3.12/release-notes/version-3.12/known-issues-in-3-12.md index f86219464c..f9967f61fb 100644 --- a/site/content/arangodb/3.12/release-notes/version-3.12/known-issues-in-3-12.md +++ b/site/content/arangodb/3.12/release-notes/version-3.12/known-issues-in-3-12.md @@ -51,4 +51,4 @@ Note that this page does not list all open issues. | **Date Added:** 2024-07-03
**Component:** arangod
**Deployment Mode:** All
**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.
**Affected Versions:** 3.11.10 (non-hotfix), 3.12.0
**Fixed in Versions:** 3.11.10-1, 3.12.1
**Reference:** [Incompatibility due to switch to glibc](incompatible-changes-in-3-12.md#incompatibilities-due-to-switch-to-glibc) | | **Date Added:** 2025-01-30
**Component:** arangod
**Deployment Mode:** Cluster
**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.
**Affected Versions:** 3.11.x, 3.12.x
**Fixed in Versions:** -
**Reference:** N/A | | **Date Added:** 2025-06-25
**Component:** Web interface
**Deployment Mode:** All
**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.
**Affected Versions:** 3.11.x, 3.12.x
**Fixed in Versions:** -
**Reference:** N/A | -| **Date Added:** 2025-12-09
**Component:** arangod
**Deployment Mode:** Cluster
**Description:** When rapidly changing the `replicationFactor` of a collection, the server may unexpectedly reply a `Precondition Failed` error with code `412`.
**Affected Versions:** 3.12.x
**Fixed in Versions:** -
**Reference:** [BTS-2279](https://arangodb.atlassian.net/browse/BTS-2279) (internal) | \ No newline at end of file +| **Date Added:** 2025-12-09
**Component:** arangod
**Deployment Mode:** Cluster
**Description:** When rapidly changing the `replicationFactor` of a collection, the server may unexpectedly reply a `Precondition Failed` error with code `412`.
**Affected Versions:** 3.12.x
**Fixed in Versions:** -
**Reference:** [BTS-2279](https://arangodb.atlassian.net/browse/BTS-2279) (internal) | diff --git a/site/content/arangodb/3.12/release-notes/version-3.12/whats-new-in-3-12.md b/site/content/arangodb/3.12/release-notes/version-3.12/whats-new-in-3-12.md index fda2e5783d..e1e7bced88 100644 --- a/site/content/arangodb/3.12/release-notes/version-3.12/whats-new-in-3-12.md +++ b/site/content/arangodb/3.12/release-notes/version-3.12/whats-new-in-3-12.md @@ -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 - -Introduced in: v3.12.6 - -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: +Introduced in: v3.12.5 -- 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 @@ -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 -Introduced in: v3.12.5 +Introduced in: v3.12.6 -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 @@ -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 + +Introduced in: v3.12.7 + +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 diff --git a/site/content/arangodb/4.0/release-notes/version-3.12/api-changes-in-3-12.md b/site/content/arangodb/4.0/release-notes/version-3.12/api-changes-in-3-12.md index 57518506c5..c00008ab07 100644 --- a/site/content/arangodb/4.0/release-notes/version-3.12/api-changes-in-3-12.md +++ b/site/content/arangodb/4.0/release-notes/version-3.12/api-changes-in-3-12.md @@ -627,6 +627,43 @@ DB-Servers in a cluster has been added: - `arangodb_vocbase_transactions_lost_subordinates_total` +--- + +Introduced in: v3.12.5 + +A metric has been added for the time spent on API call recording: + +- `arangodb_api_recording_call_time` + +--- + +Introduced in: v3.12.6 + +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` + +--- + +Introduced in: v3.12.7 + +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 Introduced in: v3.12.1 diff --git a/site/content/arangodb/4.0/release-notes/version-3.12/whats-new-in-3-12.md b/site/content/arangodb/4.0/release-notes/version-3.12/whats-new-in-3-12.md index fda2e5783d..e1e7bced88 100644 --- a/site/content/arangodb/4.0/release-notes/version-3.12/whats-new-in-3-12.md +++ b/site/content/arangodb/4.0/release-notes/version-3.12/whats-new-in-3-12.md @@ -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 - -Introduced in: v3.12.6 - -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: +Introduced in: v3.12.5 -- 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 @@ -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 -Introduced in: v3.12.5 +Introduced in: v3.12.6 -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 @@ -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 + +Introduced in: v3.12.7 + +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