Skip to content

RocksDB upgrade to 9.5.0 release notes #710

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 5 commits into
base: main
Choose a base branch
from
Open
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 @@ -897,6 +897,23 @@ the following steps.
4. Restore the dump to the new deployment. You can directly move from any
3.11 or 3.12 version to 3.12.4 (or later) this way.

## 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 part of this storage engine upgrade, the default values of the following
RocksDB-related startup options have been changed:

- `--rocksdb.compaction-read-ahead-size` has been changed from 2 MiB to 8 MiB.
- `--rocksdb.max-subcompactions` has been changed from 2 to 4.
- `--rocksdb.max-total-wal-size` has been changed from 80 MiB to 256 MiB.
- `--rocksdb.pending-compactions-slowdown-trigger` has been changed from 128 KiB to 1 GiB.
- `--rocksdb.pending-compactions-stop-trigger` has been changed from 16 GiB to 32 GiB.
- `--rocksdb.partition-files-for-documents` has been changed from false to true.
- `--rocksdb.throttle-slow-down-writes-trigger` has been obsoleted.

## HTTP RESTful API

### JavaScript-based traversal using `/_api/traversal` removed
Expand Down
34 changes: 34 additions & 0 deletions site/content/3.12/release-notes/version-3.12/whats-new-in-3-12.md
Original file line number Diff line number Diff line change
Expand Up @@ -2085,6 +2085,40 @@ 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.

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.

## Client tools

### Protocol aliases for endpoints
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -897,6 +897,23 @@ the following steps.
4. Restore the dump to the new deployment. You can directly move from any
3.11 or 3.12 version to 3.12.4 (or later) this way.

## 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 part of this storage engine upgrade, the default values of the following
RocksDB-related startup options have been changed:

- `--rocksdb.compaction-read-ahead-size` has been changed from 2 MiB to 8 MiB.
- `--rocksdb.max-subcompactions` has been changed from 2 to 4.
- `--rocksdb.max-total-wal-size` has been changed from 80 MiB to 256 MiB.
- `--rocksdb.pending-compactions-slowdown-trigger` has been changed from 128 KiB to 1 GiB.
- `--rocksdb.pending-compactions-stop-trigger` has been changed from 16 GiB to 32 GiB.
- `--rocksdb.partition-files-for-documents` has been changed from false to true.
- `--rocksdb.throttle-slow-down-writes-trigger` has been obsoleted.

## HTTP RESTful API

### JavaScript-based traversal using `/_api/traversal` removed
Expand Down
34 changes: 34 additions & 0 deletions site/content/3.13/release-notes/version-3.12/whats-new-in-3-12.md
Original file line number Diff line number Diff line change
Expand Up @@ -2085,6 +2085,40 @@ 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.

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.

## Client tools

### Protocol aliases for endpoints
Expand Down