Skip to content
Original file line number Diff line number Diff line change
Expand Up @@ -897,6 +897,25 @@ 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 2MB to 8MB.
- `--rocksdb.max-subcompactions` has been changed from 2 to 4.
- `--rocksdb.max-total-wal-size` has been changed from 80MB to 256MB.
- `--rocksdb.throttle-slots` has been changed from 120 to 128.
- `--rocksdb.throttle-scaling-factor` has been changed from 17 to 192.
- `--rocksdb.pending-compactions-slowdown-trigger` has been changed from 128KB to 1GB.
- `--rocksdb.pending-compactions-stop-trigger` has been changed from 16GB to 32GB.
- `--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