Skip to content

docs(adr): concurrency-core decisions 0002-0005 (closes #24, #31, #33, #36)#169

Merged
ELares merged 2 commits into
mainfrom
feat/m0-concurrency-adrs
Jun 13, 2026
Merged

docs(adr): concurrency-core decisions 0002-0005 (closes #24, #31, #33, #36)#169
ELares merged 2 commits into
mainfrom
feat/m0-concurrency-adrs

Conversation

@ELares

@ELares ELares commented Jun 13, 2026

Copy link
Copy Markdown
Owner

The architectural root: four ADRs that everything else inherits.

What

Review focus

  • Each ADR's Decision matches its issue's chosen option; Rejected Alternatives name the right tenet + claim id.
  • ADR-0004's 'defer custom drain-list to [DESIGN]: HybridLog storage engine with in-place hot-set updates #64' is consistent with ADR-0005 (owned map needs no SMR).
  • All cited claim ids exist (check-adr-index enforces); no em/en dashes; INDEX lists all five records.

Closes #24. Closes #31. Closes #33. Closes #36. Part of M0: Vision and Scope.

ELares added 2 commits June 13, 2026 11:33
ADR-0002 shared-nothing thread-per-core (#24): shard k=HASH(KEY)%N, one
owner per shard, no hot-path shared state; rejects KeyDB shared-dict
spinlock, Redis single command thread, and tokio work-stealing.
ADR-0003 design for determinism (#31): single-thread-per-shard + a
controllable Env seam so seeded replay is byte-identical.
ADR-0004 reclamation backbone (#33): none on the owned hot path,
crossbeam-epoch for the rare shared structure, custom drain-list deferred
to #64.
ADR-0005 per-shard unsynchronized hashbrown map (#36); concurrent map only
a documented fallback. Updates INDEX/OPEN/QUESTIONS.

Closes #24
Closes #31
Closes #33
Closes #36

Signed-off-by: Zeke <ezequiel.lares@outlook.com>
- ADR-0004: document that this overrides issue #33's drain-list
  recommendation (its concurrent-reader premise collapses under
  single-owner shared-nothing); state the epoch-vs-custom contest is
  deferred to #64, not resolved here; fix citation
  [faster-hash-bucket-layout] -> [faster-epoch-protection].
- QUESTIONS.md: the #32 skew benchmark is filed as #170 (was wrongly
  marked already-filed).
- ADR-0002/0005: add [valkey-io-threads-offload-scope],
  [keydb-spinlock-low-contention-claim]; precise dashmap/papaya wording.

refs #33, refs #170

Signed-off-by: Zeke <ezequiel.lares@outlook.com>
@ELares ELares merged commit 0e18657 into main Jun 13, 2026
1 check passed
@ELares ELares deleted the feat/m0-concurrency-adrs branch June 13, 2026 18:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant