Skip to content

docs(config): add missing examples, fix structure and typos in configuration.md#440

Open
gkorland wants to merge 3 commits intomainfrom
docs/config-missing-defaults-and-examples
Open

docs(config): add missing examples, fix structure and typos in configuration.md#440
gkorland wants to merge 3 commits intomainfrom
docs/config-missing-defaults-and-examples

Conversation

@gkorland
Copy link
Copy Markdown
Contributor

@gkorland gkorland commented Apr 25, 2026

Summary

Addresses issue 1.3 from the docs audit: several configuration parameters listed in the summary table lacked #### Example sections, had inconsistent separators, a typo, and an incorrect section grouping that made non-query params appear under ## Query Configurations.

Changes

Missing #### Example sections added for:

  • VKEY_MAX_ENTITY_COUNT
  • CMD_INFO
  • MAX_INFO_QUERIES
  • IMPORT_FOLDER
  • TEMP_FOLDER
  • JS_HEAP_SIZE
  • JS_STACK_SIZE

IMPORT_FOLDER — Docker note added:
LOAD CSV silently fails in Docker containers when the CSV directory isn't volume-mounted. Added a prominent callout explaining the required -v flag and the error users will see (EMSG_FAILED_TO_LOAD_CSV from src/errors/error_msgs.h).

Structure fix:
Relocated ## Query Configurations / ### Query Timeout to the end of the page. Previously, EFFECTS_THRESHOLD, DELTA_MAX_PENDING_CHANGES, IMPORT_FOLDER, TEMP_FOLDER, DELAY_INDEXING, JS_HEAP_SIZE, and JS_STACK_SIZE were incorrectly nested under a "Query Configurations" heading — they are module-level config parameters, not per-query settings.

Other fixes:

  • Added missing --- separators after VKEY_MAX_ENTITY_COUNT and CMD_INFO (consistent with every other param on the page)
  • Fixed typo: It'sIts in CMD_INFO description
  • Fixed missing trailing period in MAX_INFO_QUERIES range description
  • Stripped trailing whitespace from JS_HEAP_SIZE and JS_STACK_SIZE sections

Testing

Documentation-only change. Verified heading structure with grep -n "^##\|^###\|^####".

Memory / Performance Impact

N/A

Related Issues

Audit finding 1.3 — Configuration table omits defaults and examples for ~9 fields.

Summary by CodeRabbit

  • Documentation
    • Expanded configuration documentation with practical examples for multiple parameters related to performance tuning and memory management
    • Introduced Docker-specific guidance and important warnings for proper import folder volume mounting and CSV data loading requirements
    • Reorganized and improved query configuration section with comprehensive version-specific behavior details and usage examples for better clarity

- Add `#### Example` sections to VKEY_MAX_ENTITY_COUNT, CMD_INFO,
  MAX_INFO_QUERIES, IMPORT_FOLDER, TEMP_FOLDER, JS_HEAP_SIZE,
  JS_STACK_SIZE (were previously undocumented)
- Add `---` horizontal-rule separators after VKEY_MAX_ENTITY_COUNT
  and CMD_INFO for consistency with the rest of the page
- Fix typo: "It's" → "Its" in CMD_INFO description
- Fix missing trailing period in MAX_INFO_QUERIES range description
- Add Docker volume-mount note to IMPORT_FOLDER explaining that
  LOAD CSV silently fails without the mount (src: EMSG_FAILED_TO_LOAD_CSV)
- Relocate `## Query Configurations` / `### Query Timeout` section to
  the end of the page so EFFECTS_THRESHOLD, DELTA_MAX_PENDING_CHANGES,
  IMPORT_FOLDER, TEMP_FOLDER, DELAY_INDEXING, JS_HEAP_SIZE, JS_STACK_SIZE
  are no longer incorrectly nested under a "Query Configurations" heading
- Strip trailing whitespace from JS_HEAP_SIZE and JS_STACK_SIZE sections

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 25, 2026

📝 Walkthrough

Walkthrough

Documentation update to the configuration guide adding examples for multiple configuration parameters (VKEY_MAX_ENTITY_COUNT, CMD_INFO, MAX_INFO_QUERIES, IMPORT_FOLDER, TEMP_FOLDER, JS_HEAP_SIZE, JS_STACK_SIZE), introducing Docker-specific volume mounting notes for LOAD CSV, and reorganizing the Query Timeout section.

Changes

Cohort / File(s) Summary
Configuration Documentation
getting-started/configuration.md
Added GRAPH.CONFIG SET/--loadmodule examples for seven configuration parameters, introduced Docker-specific warning for IMPORT_FOLDER volume mounting requirements, relocated and reorganized the Query Timeout section with complete semantics and examples, and removed fragmented prior placements.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Poem

🐰 A config guide now shines so bright,
With examples set just right,
Docker warnings clear the way,
And sections dance to their rightful place today,
Configuration wisdom hopped and rearranged! 📚✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main changes: adding missing configuration examples, fixing document structure (moving Query Timeout section), and correcting typos in configuration.md.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/config-missing-defaults-and-examples

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
Review rate limit: 0/1 reviews remaining, refill in 60 minutes.

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

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a 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

🧹 Nitpick comments (1)
getting-started/configuration.md (1)

462-479: ⚡ Quick win

Tighten the IMPORT_FOLDER Docker note wording for clarity.

Current text: “Without this volume mount, LOAD CSV will fail silently or return a "failed to open CSV file" error.”

That reads slightly contradictory (“silently” vs “return an error”). Consider rephrasing to “may fail silently or may return …” so it accurately reflects multiple outcomes.

Suggested wording
-> Without this volume mount, `LOAD CSV` will fail silently or return a "failed to open CSV file" error.
+> Without this volume mount, `LOAD CSV` may fail silently or return a "failed to open CSV file" error.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@getting-started/configuration.md` around lines 462 - 479, The Docker note for
IMPORT_FOLDER is ambiguous about failure behavior; update the sentence that
currently reads “Without this volume mount, `LOAD CSV` will fail silently or
return a "failed to open CSV file" error.” to clearly indicate both possible
outcomes by rephrasing it (e.g., “Without this volume mount, `LOAD CSV` may fail
silently or may return a 'failed to open CSV file' error.”), keeping the context
around IMPORT_FOLDER and `LOAD CSV` intact and preserving the example docker run
block.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@getting-started/configuration.md`:
- Around line 366-412: Remove the leading "$" shell prompt from all example code
blocks (e.g., the VKEY_MAX_ENTITY_COUNT, CMD_INFO, MAX_INFO_QUERIES,
JS_HEAP_SIZE, JS_STACK_SIZE examples) so markdownlint MD014 no longer treats
them as shell-session output, and normalize the TEMP_FOLDER path capitalization
to match IMPORT_FOLDER by changing "/var/lib/falkordb/tmp" to
"/var/lib/FalkorDB/tmp" (update the example under TEMP_FOLDER and any other
occurrences mentioned in the comment ranges).

---

Nitpick comments:
In `@getting-started/configuration.md`:
- Around line 462-479: The Docker note for IMPORT_FOLDER is ambiguous about
failure behavior; update the sentence that currently reads “Without this volume
mount, `LOAD CSV` will fail silently or return a "failed to open CSV file"
error.” to clearly indicate both possible outcomes by rephrasing it (e.g.,
“Without this volume mount, `LOAD CSV` may fail silently or may return a 'failed
to open CSV file' error.”), keeping the context around IMPORT_FOLDER and `LOAD
CSV` intact and preserving the example docker run block.
🪄 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: a5656d9a-021f-4f42-96b2-9332d46e51a3

📥 Commits

Reviewing files that changed from the base of the PR and between 88109a7 and 9d6f04c.

📒 Files selected for processing (1)
  • getting-started/configuration.md

Comment on lines +366 to 412
#### Example

```sh
$ redis-server --loadmodule ./falkordb.so VKEY_MAX_ENTITY_COUNT 50000

$ redis-cli GRAPH.CONFIG SET VKEY_MAX_ENTITY_COUNT 50000
```

---

### CMD_INFO

An on/off toggle for the `GRAPH.INFO` command. Disabling this command may increase performance and lower the memory usage and these are the main reasons for it to be disabled.

It's valid values are 'yes' and 'no' (i.e., on and off).
Its valid values are `yes` and `no` (i.e., on and off).

#### Default

`CMD_INFO` is `yes`.

### MAX_INFO_QUERIES

A limit for the number of previously executed queries stored in the telemetry stream.

A number within the range [0, 1000]
#### Example

#### Default
```sh
$ redis-server --loadmodule ./falkordb.so CMD_INFO no

`MAX_INFO_QUERIES` is 1000.
$ redis-cli GRAPH.CONFIG SET CMD_INFO no
```

---

## Query Configurations

### Query Timeout
### MAX_INFO_QUERIES

- Before v2.10, or if `TIMEOUT_DEFAULT` and `TIMEOUT_MAX` are not specified:
A limit for the number of previously executed queries stored in the telemetry stream.

`TIMEOUT` allows overriding the `TIMEOUT` configuration parameter for a single read query. Write queries do not timeout.
A number within the range [0, 1000].

- Since v2.10, if either `TIMEOUT_DEFAULT` or `TIMEOUT_MAX` are specified:
#### Default

`TIMEOUT` allows overriding the `TIMEOUT_DEFAULT` configuration parameter value for a single `GRAPH.QUERY`, `GRAPH.RO_QUERY`, or `GRAPH.PROFILE` command. The `TIMEOUT` value cannot exceed the `TIMEOUT_MAX` value (the command would abort with a `(error) The query TIMEOUT parameter value cannot exceed the TIMEOUT_MAX configuration parameter value` reply).
`MAX_INFO_QUERIES` is 1000.

#### Example

Retrieve all paths in a graph with a timeout of 500 milliseconds.

```sh
GRAPH.QUERY wikipedia "MATCH p=()-[*]->() RETURN p" TIMEOUT 500
$ redis-server --loadmodule ./falkordb.so MAX_INFO_QUERIES 500

$ redis-cli GRAPH.CONFIG SET MAX_INFO_QUERIES 500
```
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix markdownlint MD014 by removing $ prompts from new command examples.

$ redis-server ... / $ redis-cli ... inside the new #### Example code blocks is triggering commands-show-output (MD014) warnings. The simplest docs-safe fix is to drop the leading $ prompt so markdownlint no longer treats them as shell-session “commands”.

Also, the TEMP_FOLDER example path uses a different capitalization (/var/lib/falkordb/tmp) than the IMPORT_FOLDER default (/var/lib/FalkorDB/import/), which is likely just a typo and can mislead users.

✅ Proposed changes (examples)
### VKEY_MAX_ENTITY_COUNT
 ```sh
-$ redis-server --loadmodule ./falkordb.so VKEY_MAX_ENTITY_COUNT 50000
- 
-$ redis-cli GRAPH.CONFIG SET VKEY_MAX_ENTITY_COUNT 50000
+redis-server --loadmodule ./falkordb.so VKEY_MAX_ENTITY_COUNT 50000
+
+redis-cli GRAPH.CONFIG SET VKEY_MAX_ENTITY_COUNT 50000

CMD_INFO

-$ redis-server --loadmodule ./falkordb.so CMD_INFO no
+redis-server --loadmodule ./falkordb.so CMD_INFO no

-$ redis-cli GRAPH.CONFIG SET CMD_INFO no
+redis-cli GRAPH.CONFIG SET CMD_INFO no

MAX_INFO_QUERIES

-$ redis-server --loadmodule ./falkordb.so MAX_INFO_QUERIES 500
+redis-server --loadmodule ./falkordb.so MAX_INFO_QUERIES 500

-$ redis-cli GRAPH.CONFIG SET MAX_INFO_QUERIES 500
+redis-cli GRAPH.CONFIG SET MAX_INFO_QUERIES 500

IMPORT_FOLDER

-$ redis-server --loadmodule ./falkordb.so IMPORT_FOLDER /data/csv
+redis-server --loadmodule ./falkordb.so IMPORT_FOLDER /data/csv

TEMP_FOLDER

-$ redis-server --loadmodule ./falkordb.so TEMP_FOLDER /var/lib/falkordb/tmp
+redis-server --loadmodule ./falkordb.so TEMP_FOLDER /var/lib/FalkorDB/tmp

JS_HEAP_SIZE

-$ redis-server --loadmodule ./falkordb.so JS_HEAP_SIZE 134217728  # 128 MB
+redis-server --loadmodule ./falkordb.so JS_HEAP_SIZE 134217728  # 128 MB

-$ redis-cli GRAPH.CONFIG SET JS_HEAP_SIZE 134217728
+redis-cli GRAPH.CONFIG SET JS_HEAP_SIZE 134217728

JS_STACK_SIZE

-$ redis-server --loadmodule ./falkordb.so JS_STACK_SIZE 2097152  # 2 MB
+redis-server --loadmodule ./falkordb.so JS_STACK_SIZE 2097152  # 2 MB

-$ redis-cli GRAPH.CONFIG SET JS_STACK_SIZE 2097152
+redis-cli GRAPH.CONFIG SET JS_STACK_SIZE 2097152

</details>






Also applies to: 480-503, 540-568

<details>
<summary>🧰 Tools</summary>

<details>
<summary>🪛 markdownlint-cli2 (0.22.1)</summary>

[warning] 369-369: Dollar signs used before commands without showing output

(MD014, commands-show-output)

---

[warning] 371-371: Dollar signs used before commands without showing output

(MD014, commands-show-output)

---

[warning] 389-389: Dollar signs used before commands without showing output

(MD014, commands-show-output)

---

[warning] 391-391: Dollar signs used before commands without showing output

(MD014, commands-show-output)

---

[warning] 409-409: Dollar signs used before commands without showing output

(MD014, commands-show-output)

---

[warning] 411-411: Dollar signs used before commands without showing output

(MD014, commands-show-output)

</details>

</details>

<details>
<summary>🤖 Prompt for AI Agents</summary>

Verify each finding against the current code and only fix it if needed.

In @getting-started/configuration.md around lines 366 - 412, Remove the leading
"$" shell prompt from all example code blocks (e.g., the VKEY_MAX_ENTITY_COUNT,
CMD_INFO, MAX_INFO_QUERIES, JS_HEAP_SIZE, JS_STACK_SIZE examples) so
markdownlint MD014 no longer treats them as shell-session output, and normalize
the TEMP_FOLDER path capitalization to match IMPORT_FOLDER by changing
"/var/lib/falkordb/tmp" to "/var/lib/FalkorDB/tmp" (update the example under
TEMP_FOLDER and any other occurrences mentioned in the comment ranges).


</details>

<!-- fingerprinting:phantom:triton:hawk:9fb9610a-6565-4a43-88ee-9955fd3343ee -->

<!-- d98c2f50 -->

<!-- This is an auto-generated comment by CodeRabbit -->

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.

1 participant