-
Notifications
You must be signed in to change notification settings - Fork 8
Add comprehensive durability documentation #328
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
Conversation
Co-Authored-By: Warp <agent@warp.dev>
Co-Authored-By: Warp <agent@warp.dev>
- Add durability.md covering RDB snapshots, AOF persistence, and DUMP/RESTORE operations - Reorganize navigation: persistence.md is now a child of durability.md - Update index.md to reflect new documentation structure - Add cross-references between persistence and durability guides Co-Authored-By: Warp <agent@warp.dev>
📝 WalkthroughWalkthroughA new Data Durability guide was added to operations, the operations index was updated to link to it, and the existing Persistence doc was refocused on Docker persistence with cross-references to the new durability documentation. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Co-Authored-By: Warp <agent@warp.dev>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🤖 Fix all issues with AI agents
In `@operations/durability.md`:
- Around line 96-106: Add the technical tokens that the spellchecker is flagging
to the project's spellcheck allowlist: include "everysec", "cron" and any HTML
tag-like tokens such as "html>body>h3" (or add a rule to ignore tokens
containing ">" or HTML tag patterns). Update the CI spellcheck dictionary/config
used by the repo so these terms are whitelisted, and ensure the change covers
the occurrences in the durability documentation (the `appendfsync everysec`
section and the other flagged lines). Run the spellcheck locally or in CI to
verify the job no longer fails.
| #### 2. `appendfsync everysec` (Recommended) | ||
| - **Durability:** High - fsync performed asynchronously every second | ||
| - **Performance:** High - background thread handles disk writes | ||
| - **Data Loss Risk:** Up to 1 second of writes | ||
| - **Best for:** Most production use cases balancing performance and durability | ||
|
|
||
| #### 3. `appendfsync no` | ||
| - **Durability:** Depends on OS (typically 30 seconds on Linux) | ||
| - **Performance:** Highest - OS decides when to flush | ||
| - **Data Loss Risk:** Several seconds of data in case of crashes | ||
| - **Best for:** High-performance scenarios where some data loss is acceptable |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix spellcheck pipeline failures by whitelisting technical terms.
everysec and cron are legitimate terms (and appear in config/examples), but the spellcheck job is flagging them. Add them to the project’s spellcheck allowlist (and consider ignoring HTML tag tokens like html>body>h3 that the tool is surfacing). This will unblock CI while keeping the wording intact.
Also applies to: 247-251
🤖 Prompt for AI Agents
In `@operations/durability.md` around lines 96 - 106, Add the technical tokens
that the spellchecker is flagging to the project's spellcheck allowlist: include
"everysec", "cron" and any HTML tag-like tokens such as "html>body>h3" (or add a
rule to ignore tokens containing ">" or HTML tag patterns). Update the CI
spellcheck dictionary/config used by the repo so these terms are whitelisted,
and ensure the change covers the occurrences in the durability documentation
(the `appendfsync everysec` section and the other flagged lines). Run the
spellcheck locally or in CI to verify the job no longer fails.
🤖 Augment PR SummarySummary: Adds a new Operations “Durability” guide to explain how FalkorDB data survives restarts/failures, and reorganizes the Operations navigation accordingly. Changes:
Technical Notes: Uses Just-the-Docs front matter ( 🤖 Was this summary useful? React with 👍 or 👎 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Serialize a graph to a portable format: | ||
|
|
||
| ```bash | ||
| redis-cli DUMP mygraph > mygraph.dump |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
redis-cli DUMP returns an opaque binary payload, and redis-cli’s default output formatting/quoting isn’t generally safe to redirect into a file and replay later; as written, the DUMP/RESTORE examples here are likely to fail or produce corrupted dumps. Consider clarifying the binary-safety/encoding requirements for a reliable graph export/import flow.
Other Locations
operations/durability.md:163operations/durability.md:165
🤖 Was this useful? React with 👍 or 👎
| #### 1. `appendfsync always` | ||
| - **Durability:** Maximum - virtually no data loss | ||
| - **Performance:** Lowest - synchronous disk writes | ||
| - **Data Loss Risk:** Only the latest command in case of disaster |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For appendfsync always, Redis typically only acknowledges the write after it has been fsync’d, so describing the risk as “Only the latest command” may be misleading (it should be ~0 for acknowledged writes, barring hardware/FS failures). Consider tightening this wording so readers don’t overestimate expected data loss for this mode.
🤖 Was this useful? React with 👍 or 👎
|
Static Code Review 📊 ✅ All quality checks passed! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
AI Code Review 🤖
Files Reviewed: 4
Comments Added: 0
Lines of Code Analyzed: 285
Critical Issues: 0
PR Health: Excellent 🔥
Give 👍 or 👎 on each review comment to help us improve.
Summary
This PR adds comprehensive durability documentation for FalkorDB and reorganizes the navigation structure.
Changes
New file:
durability.md- Comprehensive guide covering:Navigation reorganization:
persistence.mdis now a child page ofdurability.mdindex.mdto reflect the new structureDocumentation Structure
References
Co-Authored-By: Warp agent@warp.dev
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.
PR Summary by Typo
Overview
This pull request introduces comprehensive documentation on data durability for FalkorDB, explaining various persistence mechanisms and best practices for ensuring data safety.
Key Changes
A new
durability.mddocument details RDB snapshots, AOF logging (includingfsyncpolicies), combining persistence methods, and graph-specific DUMP/RESTORE commands. Theoperations/index.mdwas updated to reflect the new documentation structure, andoperations/persistence.mdwas refined to focus on Docker persistence and cross-reference the new durability guide. New terms likefsync,cron, andeverysecwere added to the wordlist.Work Breakdown
To turn off PR summary, please visit Notification settings.