Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
119 changes: 92 additions & 27 deletions getting-started/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -363,46 +363,52 @@ This configuration can be set when the module loads or at runtime.

`VKEY_MAX_ENTITY_COUNT` is 100,000.

#### 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
```
Comment on lines +366 to 412
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 -->


---
Expand Down Expand Up @@ -462,6 +468,21 @@ FalkorDB is allowed to load CSV files.

`IMPORT_FOLDER` defaults to `/var/lib/FalkorDB/import/`

> **Docker note:** When running FalkorDB in Docker, you must mount a host directory into the container at this path for `LOAD CSV` to access your CSV files. For example:
> ```sh
> docker run -p 6379:6379 -it \
> -v /host/path/to/csvs:/var/lib/FalkorDB/import \
> -e FALKORDB_ARGS="IMPORT_FOLDER /var/lib/FalkorDB/import" \
> --rm falkordb/falkordb:latest
> ```
> Without this volume mount, `LOAD CSV` will fail silently or return a "failed to open CSV file" error.

#### Example

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

---

### TEMP_FOLDER
Expand All @@ -470,8 +491,14 @@ Path to the directory FalkorDB uses for temporary files (currently used by opera
It must be an existing, writable directory.

#### Default

`TEMP_FOLDER` defaults to `/tmp`

`TEMP_FOLDER` defaults to `/tmp`

#### Example

```sh
$ redis-server --loadmodule ./falkordb.so TEMP_FOLDER /var/lib/falkordb/tmp
```

---

Expand Down Expand Up @@ -502,25 +529,63 @@ Helps prevent unbounded JS memory growth.

#### Default

`JS_HEAP_SIZE` defaults to 268435456 (256 MB)
`JS_HEAP_SIZE` defaults to 268435456 (256 MB)

#### Minimum

1048576 (1 MB)
1048576 (1 MB)

#### Example

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

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

---

### JS_STACK_SIZE
### JS_STACK_SIZE

Maximum QuickJS stack size (in bytes) for JavaScript UDF runtime (affects recursion/call depth limits).
Helps prevent excessive JS stack usage.
Maximum QuickJS stack size (in bytes) for JavaScript UDF runtime (affects recursion/call depth limits).
Helps prevent excessive JS stack usage.

#### Default

`JS_STACK_SIZE` defaults to 1048576 (1 MB)
`JS_STACK_SIZE` defaults to 1048576 (1 MB)

#### Minimum

1048576 (1 MB)
1048576 (1 MB)

#### Example

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

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

---

## Query Configurations

### Query Timeout

- Before v2.10, or if `TIMEOUT_DEFAULT` and `TIMEOUT_MAX` are not specified:

`TIMEOUT` allows overriding the `TIMEOUT` configuration parameter for a single read query. Write queries do not timeout.

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

`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).

#### Example

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

```sh
GRAPH.QUERY wikipedia "MATCH p=()-[*]->() RETURN p" TIMEOUT 500
```

---
Loading