Conversation
Create a troubleshooting hub at operations/troubleshooting.md aggregating common issues: - Connection issues (refused, NOAUTH, MOVED redirect) - Query issues (timeout, graph not found, slow queries) - Memory issues (OOM, QUERY_MEM_CAPACITY) - Docker issues (container exits, data loss, Browser access) - Replication issues (replica not syncing) - Kubernetes issues (CrashLoopBackOff) Also adds Troubleshooting to the Operations index page. Addresses audit item P2.2. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Warning Rate limit exceeded
To keep reviews running without waiting, you can enable usage-based add-on for your organization. This allows additional reviews beyond the hourly cap. Account admins can enable it under billing. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📝 WalkthroughWalkthroughA troubleshooting section is added to the operations documentation. The index is updated to reference the new guide, and a comprehensive troubleshooting page is created covering connection errors, query issues, memory problems, Docker concerns, replication failures, and Kubernetes deployment issues. ChangesOperations Troubleshooting Documentation
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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. Review rate limit: 0/1 reviews remaining, refill in 53 minutes and 14 seconds.Comment |
There was a problem hiding this comment.
Pull request overview
This PR adds a new Operations troubleshooting hub that consolidates common FalkorDB runtime and deployment problems into a single documentation page, and links that page from the Operations index so users can discover it from the existing ops navigation.
Changes:
- Added
operations/troubleshooting.mdwith troubleshooting guidance for connection, query, memory, Docker, replication, and Kubernetes issues. - Added an Operations index entry linking to the new troubleshooting page.
- Reused existing site-wide internal-link patterns to connect readers to command, configuration, and deployment docs for deeper follow-up.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
operations/troubleshooting.md |
New troubleshooting guide aggregating common operational issues and linking to deeper docs. |
operations/index.md |
Adds the new Troubleshooting page to the Operations landing page list. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| 1. **Check memory usage:** | ||
|
|
||
| ``` | ||
| GRAPH.MEMORY myGraph |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@operations/troubleshooting.md`:
- Around line 82-189: The markdown file has multiple fenced code blocks without
a language tag (e.g., the blocks containing commands like "GRAPH.CONFIG GET
TIMEOUT_DEFAULT", "GRAPH.CONFIG SET TIMEOUT_DEFAULT 10000", "GRAPH.EXPLAIN
myGraph ...", "GRAPH.QUERY myGraph ...", "GRAPH.LIST", "GRAPH.SLOWLOG myGraph",
"GRAPH.PROFILE myGraph ...", "GRAPH.QUERY myGraph \"CREATE INDEX ...\"",
"GRAPH.MEMORY myGraph", and "CONFIG SET maxmemory 8gb"); fix MD040 by adding a
language identifier (preferably bash or text) to each opening fence (change ```
to ```bash) for all fenced blocks flagged in this diff so the linter stops
reporting MD040 and the code blocks are properly highlighted.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: ee877d72-3ada-4bfd-b1be-b09da6e944c8
📒 Files selected for processing (2)
operations/index.mdoperations/troubleshooting.md
| 1. **Check the current timeout settings:** | ||
|
|
||
| ``` | ||
| GRAPH.CONFIG GET TIMEOUT_DEFAULT | ||
| GRAPH.CONFIG GET TIMEOUT_MAX | ||
| ``` | ||
|
|
||
| 2. **Increase the timeout** (if the query legitimately needs more time): | ||
|
|
||
| ``` | ||
| GRAPH.CONFIG SET TIMEOUT_DEFAULT 10000 | ||
| ``` | ||
|
|
||
| 3. **Optimize the query** — use [GRAPH.EXPLAIN](/commands/graph.explain) to inspect the query plan and add indexes where needed: | ||
|
|
||
| ``` | ||
| GRAPH.EXPLAIN myGraph "MATCH (n:Person {name: 'Alice'}) RETURN n" | ||
| ``` | ||
|
|
||
| 4. **Override timeout per-query:** | ||
|
|
||
| ``` | ||
| GRAPH.QUERY myGraph "MATCH (n) RETURN n LIMIT 100" TIMEOUT 30000 | ||
| ``` | ||
|
|
||
| See [Configuration — Timeouts](/getting-started/configuration#timeout_default) for more details. | ||
|
|
||
| ### Graph Not Found | ||
|
|
||
| **Symptom:** `ERR Invalid graph operation on empty key` or similar. | ||
|
|
||
| **Cause:** The graph key does not exist — it may not have been created yet, or the name is misspelled. | ||
|
|
||
| **Solution:** | ||
|
|
||
| ``` | ||
| # List all graphs | ||
| GRAPH.LIST | ||
| ``` | ||
|
|
||
| Verify the graph name matches exactly (graph names are case-sensitive). | ||
|
|
||
| ### Slow Queries | ||
|
|
||
| **Symptom:** Queries take longer than expected. | ||
|
|
||
| **Diagnostic Steps:** | ||
|
|
||
| 1. **Check the slow log:** | ||
|
|
||
| ``` | ||
| GRAPH.SLOWLOG myGraph | ||
| ``` | ||
|
|
||
| This shows queries that took ≥ 10 ms. | ||
|
|
||
| 2. **Profile the query:** | ||
|
|
||
| ``` | ||
| GRAPH.PROFILE myGraph "MATCH (n:Person)-[:KNOWS]->(m) WHERE n.name = 'Alice' RETURN m" | ||
| ``` | ||
|
|
||
| Look for full graph scans — these indicate a missing index. | ||
|
|
||
| 3. **Add an index** if the query filters on a property: | ||
|
|
||
| ``` | ||
| GRAPH.QUERY myGraph "CREATE INDEX FOR (n:Person) ON (n.name)" | ||
| ``` | ||
|
|
||
| See [Range Indexes](/cypher/indexing/range-index) and [GRAPH.PROFILE](/commands/graph.profile) for more details. | ||
|
|
||
| --- | ||
|
|
||
| ## Memory Issues | ||
|
|
||
| ### Out of Memory | ||
|
|
||
| **Symptom:** `OOM command not allowed when used memory > maxmemory` or query fails with memory allocation error. | ||
|
|
||
| **Possible Causes:** | ||
| 1. The graph exceeds available memory | ||
| 2. A single query allocates too much memory | ||
|
|
||
| **Solutions:** | ||
|
|
||
| 1. **Check memory usage:** | ||
|
|
||
| ``` | ||
| GRAPH.MEMORY myGraph | ||
| INFO memory | ||
| ``` | ||
|
|
||
| 2. **Limit per-query memory:** | ||
|
|
||
| ``` | ||
| GRAPH.CONFIG SET QUERY_MEM_CAPACITY 1073741824 # 1 GB | ||
| ``` | ||
|
|
||
| 3. **Increase the server memory limit** (if resources are available): | ||
|
|
||
| ``` | ||
| CONFIG SET maxmemory 8gb | ||
| ``` | ||
|
|
||
| 4. **Optimize your data model** — remove unnecessary properties, use shorter string values, or split into multiple graphs. | ||
|
|
||
| See [GRAPH.MEMORY](/commands/graph.memory) and [Configuration — QUERY_MEM_CAPACITY](/getting-started/configuration#query_mem_capacity) for details. |
There was a problem hiding this comment.
Fix markdownlint MD040: add a language to fenced code blocks.
Several command fences start with ``` (no language), triggering markdownlint-cli2 (MD040) at lines 84, 91, 97, 103, 117, 132, 140, 148, 170, 177, and 183. Add a language tag to each (e.g., `bash` or `text`) to keep CI/lint clean.
🛠️ Proposed fix (representative change)
1. **Check the current timeout settings:**
- ```
+ ```bash
GRAPH.CONFIG GET TIMEOUT_DEFAULT
GRAPH.CONFIG GET TIMEOUT_MAX
```
...
2. **Increase the timeout** (if the query legitimately needs more time):
- ```
+ ```bash
GRAPH.CONFIG SET TIMEOUT_DEFAULT 10000
```
...
# List all graphs
- GRAPH.LIST
+ ```bash
+ GRAPH.LIST
+ ```Apply the same ```bash (or ```text) change to every fenced block flagged by MD040 in this file.
🧰 Tools
🪛 markdownlint-cli2 (0.22.1)
[warning] 84-84: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
[warning] 91-91: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
[warning] 97-97: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
[warning] 103-103: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
[warning] 117-117: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
[warning] 132-132: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
[warning] 140-140: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
[warning] 148-148: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
[warning] 170-170: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
[warning] 177-177: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
[warning] 183-183: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@operations/troubleshooting.md` around lines 82 - 189, The markdown file has
multiple fenced code blocks without a language tag (e.g., the blocks containing
commands like "GRAPH.CONFIG GET TIMEOUT_DEFAULT", "GRAPH.CONFIG SET
TIMEOUT_DEFAULT 10000", "GRAPH.EXPLAIN myGraph ...", "GRAPH.QUERY myGraph ...",
"GRAPH.LIST", "GRAPH.SLOWLOG myGraph", "GRAPH.PROFILE myGraph ...", "GRAPH.QUERY
myGraph \"CREATE INDEX ...\"", "GRAPH.MEMORY myGraph", and "CONFIG SET maxmemory
8gb"); fix MD040 by adding a language identifier (preferably bash or text) to
each opening fence (change ``` to ```bash) for all fenced blocks flagged in this
diff so the linter stops reporting MD040 and the code blocks are properly
highlighted.
Add NOAUTH, redirections, CrashLoopBackOff, PersistentVolumeClaim to .wordlist.txt to fix check-spelling CI failure on operations/troubleshooting.md. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Summary
Create a site-wide troubleshooting hub aggregating common issues from Docker, queries, memory, replication, and Kubernetes.
Changes
operations/troubleshooting.mdcovering:operations/index.md: Added Troubleshooting link (section 13)Testing
/commands/graph.explain,/operations/durability, etc.)Memory / Performance Impact
N/A — documentation only
Related Issues
Addresses audit item P2.2 (Audit-Report.md)
Summary by CodeRabbit