Skip to content

[r3.5] docs: fix stale --db.read.concurrency default in configuring-erigon - #21904

Merged
bloxster merged 2 commits into
release/3.5from
docs/db-read-concurrency-default-r35
Jun 19, 2026
Merged

[r3.5] docs: fix stale --db.read.concurrency default in configuring-erigon#21904
bloxster merged 2 commits into
release/3.5from
docs/db-read-concurrency-default-r35

Conversation

@bloxster

Copy link
Copy Markdown
Collaborator

Problem

The flag reference in configuring-erigon.mdx documented --db.read.concurrency as:

Limits the number of parallel database reads. Default: equal to GOMAXPROCS (or number of CPU)

  • Default: 1408

Both parts are stale. The actual default is min(max(10, GOMAXPROCS*64), 9000) — well above the CPU count. The 1408 sub-bullet was a host-specific snapshot and reads as a fixed default, which is misleading.

Change

Rewrite the entry to match the real default formula and explain what the flag controls (the MDBX read-transaction semaphore).

Verification

  • Default formula confirmed against cmd/utils/flags.go on origin/release/3.5 (DBReadConcurrencyFlag.Value = min(max(10, runtime.GOMAXPROCS(-1)*64), 9_000)).
  • python3 docs/site/scripts/generate-llms.py --check → OK (74 pages).
  • cd docs/site && pnpm build → green.

Companion PRs apply the same fix to main (#21903) and release/3.4.

The flag reference claimed the default was "equal to GOMAXPROCS (or
number of CPU)" with a machine-specific "1408" sub-bullet. The actual
default is min(max(10, GOMAXPROCS*64), 9000). Bring the docs prose in
line with the real formula and explain what the flag controls.
The --db.read.concurrency entry said extra readers "wait for a slot
rather than error". That's the default, but RPC paths tagged with
kv.WithNonBlockingAcquire (HTTP when a limit is set, WebSocket, MCP)
use TryAcquire and fail fast with ErrReadTxLimitExceeded (HTTP 503 /
JSON-RPC -32005) when the semaphore is full. Reword to reflect both
behaviors so operators aren't misled. Regenerated llms artifacts.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@yperbasis yperbasis changed the title docs: fix stale --db.read.concurrency default in configuring-erigon [r3.5] docs: fix stale --db.read.concurrency default in configuring-erigon Jun 19, 2026
bloxster added a commit that referenced this pull request Jun 19, 2026
…rigon (#21906)

## Problem

The flag reference in `configuring-erigon/index.mdx` documented
`--db.read.concurrency` as:

> Limits the number of parallel database reads. Default: equal to
GOMAXPROCS (or number of CPU)
> * Default: `1408`

Both parts are stale. The actual default is `min(max(10, GOMAXPROCS*64),
9000)` — well above the CPU count. The `1408` sub-bullet was a
host-specific snapshot and reads as a fixed default, which is
misleading.

## Change

Rewrite the entry to match the real default formula and explain what the
flag controls (the MDBX read-transaction semaphore).

## Verification

- Default formula confirmed against `cmd/utils/flags.go` on
`origin/release/3.4` (`DBReadConcurrencyFlag.Value = min(max(10,
runtime.GOMAXPROCS(-1)*64), 9_000)`).
- `python3 docs/site/scripts/generate-llms.py --check` → OK (71 pages).
- `cd docs/site && pnpm build` → green.

Companion PRs apply the same fix to `main` (#21903) and `release/3.5`
(#21904).

---------

Co-authored-by: bloxster <bloxster@users.noreply.github.com>
Co-authored-by: Bloxster <gianni.morselli@erigon.tech>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@bloxster
bloxster merged commit 6ece8fa into release/3.5 Jun 19, 2026
20 checks passed
@bloxster
bloxster deleted the docs/db-read-concurrency-default-r35 branch June 19, 2026 14:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants