Conversation
Creates design/concurrency.md documenting: - Single query atomicity guarantees - Compound clause atomicity (WITH, UNION) - Write ordering within queries - Reader-writer concurrency model - Practical implications and MULTI/EXEC guidance Closes FalkorDB/FalkorDB#227 Co-authored-by: gkorland <753206+gkorland@users.noreply.github.com> Agent-Logs-Url: https://github.com/FalkorDB/docs/sessions/53719584-9498-4812-96c5-24d121fc708e
There was a problem hiding this comment.
Pull request overview
Adds a new design document describing FalkorDB’s atomicity and concurrency guarantees so users can understand query-level isolation and writer serialization without reading source code.
Changes:
- Introduces
design/concurrency.mddocumenting single-query atomicity, clause ordering, and concurrent read/write behavior. - Adds redirects for the new page and extends spellcheck allowlist with new terminology.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| design/concurrency.md | New design doc explaining atomicity/concurrency model, with redirects and configuration links. |
| .wordlist.txt | Adds atomicity and bottlenecked to satisfy spellcheck CI. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| redirect_from: | ||
| - /design/atomicity.html | ||
| - /design/atomicity | ||
| - /design/concurrency.html |
There was a problem hiding this comment.
redirect_from includes /design/concurrency.html but not the extensionless /design/concurrency. Other docs pages consistently include both forms (e.g., /design/result_structure + /design/result_structure.html), so /design/concurrency should be added to avoid a 404 for that common URL pattern.
| - /design/concurrency.html | |
| - /design/concurrency.html | |
| - /design/concurrency |
|
|
||
| Multiple read-only queries can execute in parallel against the same graph. Read queries do not block each other, enabling high throughput for analytics and traversal workloads. | ||
|
|
||
| The number of concurrent queries is governed by the [`THREAD_COUNT`](/getting-started/configuration#thread_count) configuration parameter, which sets the size of the thread pool. |
There was a problem hiding this comment.
The docs typically link to the configuration page via /configuration#... (the canonical/redirected path used throughout commands/*). Here the link uses /getting-started/configuration#thread_count, which is inconsistent and makes link maintenance harder. Consider switching this to /configuration#thread_count to match existing docs conventions.
|
|
||
| - **Read-heavy workloads** scale well because multiple read queries execute concurrently. | ||
| - **Write-heavy workloads** are bottlenecked by write serialization. Consider batching multiple changes into a single query where possible. | ||
| - Tune [`THREAD_COUNT`](/getting-started/configuration#thread_count) to match the parallelism your hardware supports and your workload requires. |
There was a problem hiding this comment.
Same as above: this second THREAD_COUNT link uses /getting-started/configuration#thread_count while the rest of the docs generally use /configuration#.... Aligning to the canonical /configuration#thread_count helps keep internal links consistent.
| - Tune [`THREAD_COUNT`](/getting-started/configuration#thread_count) to match the parallelism your hardware supports and your workload requires. | |
| - Tune [`THREAD_COUNT`](/configuration#thread_count) to match the parallelism your hardware supports and your workload requires. |
No documentation exists explaining FalkorDB's atomicity and concurrency model — critical for users building production applications who need to understand isolation guarantees without reading source code.
Adds
design/concurrency.mdcovering:Also adds
atomicityandbottleneckedto.wordlist.txtfor spellcheck CI.Original prompt
📱 Kick off Copilot coding agent tasks wherever you are with GitHub Mobile, available on iOS and Android.