Skip to content

fix: FalkorDB data not persisting across restarts#99

Merged
jack-arturo merged 1 commit intoverygoodplugins:mainfrom
jescalan:fix/falkordb-persistence
Mar 2, 2026
Merged

fix: FalkorDB data not persisting across restarts#99
jack-arturo merged 1 commit intoverygoodplugins:mainfrom
jescalan:fix/falkordb-persistence

Conversation

@jescalan
Copy link
Copy Markdown
Contributor

Problem

FalkorDB's entrypoint script (run.sh) always appends --dir $FALKORDB_DATA_PATH after $REDIS_ARGS, so the --dir /data in REDIS_ARGS is silently overridden by the default FALKORDB_DATA_PATH=/var/lib/falkordb/data.

This means Redis writes its RDB dumps and AOF files to /var/lib/falkordb/data (ephemeral container filesystem) instead of /data (the Docker volume). On any container restart or recreate, all FalkorDB graph data is lost.

The failure is silent — FalkorDB comes back healthy with memory_count=0 while Qdrant still has all vectors, making it look like a FalkorDB bug rather than a persistence misconfiguration.

Fix

  • Remove --dir /data from REDIS_ARGS (it was being ignored anyway)
  • Set FALKORDB_DATA_PATH=/data so the entrypoint's own --dir flag points to the volume mount

Verification

After this change:

  • redis-cli CONFIG GET dir returns /data (the volume) instead of /var/lib/falkordb/data
  • BGSAVE writes to the volume-mounted path
  • Data survives container restarts

FalkorDB's entrypoint (run.sh) always appends --dir $FALKORDB_DATA_PATH
after $REDIS_ARGS, so the --dir /data in REDIS_ARGS was silently
overridden. Redis was writing to /var/lib/falkordb/data (ephemeral
container storage) instead of /data (the Docker volume).

This caused silent data loss on every container restart — FalkorDB would
come back with memory_count=0 while Qdrant (which persists correctly)
still had all vectors, requiring a manual recovery step each time.

Fix: Remove --dir from REDIS_ARGS and set FALKORDB_DATA_PATH=/data so
the entrypoint uses the volume-mounted path.
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Feb 27, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 958da72 and 3bbc834.

📒 Files selected for processing (1)
  • docker-compose.yml

📝 Walkthrough

Summary by CodeRabbit

Release Notes

  • Chores
    • Updated data persistence configuration to improve flexibility in how database paths are handled during startup.

Walkthrough

A configuration change to docker-compose.yml that separates Redis persistence path configuration by removing --dir /data from REDIS_ARGS and introducing a distinct FALKORDB_DATA_PATH=/data variable, with explanatory comments about FalkorDB's run script behavior.

Changes

Cohort / File(s) Summary
Docker Configuration
docker-compose.yml
Removed --dir /data from REDIS_ARGS environment variable and added separate FALKORDB_DATA_PATH=/data variable. Added explanatory comments noting that FalkorDB's run.sh script appends the directory path independently.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main fix: resolving FalkorDB data persistence across container restarts by correcting Redis configuration.
Description check ✅ Passed The description clearly explains the problem, the root cause, the implemented fix, and verification steps—all directly related to the changeset in docker-compose.yml.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@jack-arturo jack-arturo merged commit 8490d36 into verygoodplugins:main Mar 2, 2026
7 checks passed
jack-arturo added a commit that referenced this pull request Mar 2, 2026
🤖 I have created a release *beep* *boop*
---


##
[0.13.0](v0.12.0...v0.13.0)
(2026-03-02)


### Features

* **bench:** benchmark testing infrastructure for rapid iteration
([#97](#97))
([80a6f93](80a6f93))
* **recall:** add min_score threshold and adaptive floor filtering
([#73](#73))
([#101](#101))
([8df3c08](8df3c08))
* **viewer:** add standalone graph-viewer runtime files
([5bcb6db](5bcb6db))
* **viewer:** consolidate stable core and split-ready compatibility
([#94](#94))
([958da72](958da72))
* **viewer:** externalize visualizer with /viewer compatibility routes
([29bafcf](29bafcf))
* **viewer:** merge visualizer stable core branch
([96b27bf](96b27bf))


### Bug Fixes

* FalkorDB data not persisting across restarts
([3bbc834](3bbc834))
* FalkorDB data not persisting across restarts
([#99](#99))
([8490d36](8490d36))
* **mcp-sse:** sync tool schemas for SSE/MCP parity
([#104](#104))
([d99b86d](d99b86d))


### Documentation

* **bench:** add PR
[#73](#73),
[#80](#80), and
[#87](#87) experiment
results ([#103](#103))
([8533fac](8533fac))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants