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
8 changes: 8 additions & 0 deletions docs/data/apis/rpc/admin-guide/configuring.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -286,6 +286,8 @@ Your running container would mount that volume at the path `/opt/stellar`

Set `BACKFILL = true` to populate the database with a trailing window of history synchronously on startup, before live ingestion begins. This option was added in RPC v25.1.0 and defaults to `false`.

Without `BACKFILL`, a node with an empty database starts ingesting at the latest ledger in the history archive and builds history forward from there. A larger `HISTORY_RETENTION_WINDOW` on its own does not add older ledgers. It only sets how much history the node keeps as it ingests.

`HISTORY_RETENTION_WINDOW` sets the target size of that window. The default is `120960` ledgers, which is about 7 days.

RPC treats this value as a target, not an exact count. Datastore coverage, ledgers already in the local database, and checkpoint boundaries can each reduce what the node fetches.
Expand All @@ -296,6 +298,12 @@ RPC treats this value as a target, not an exact count. Datastore coverage, ledge
backfill requires serving ledgers from datastore to be enabled. See the `--serve-ledgers-from-datastore` flag
```

`BACKFILL` also requires a local database with no gaps in its ledger sequence. RPC checks this before it backfills. If it finds a gap, startup stops with this error:

```text
db verify: gap detected in local DB: expected <N> ledgers, got <M> ledgers
```

To set up the datastore, see [Data Lake Integration](./data-lake-integration.mdx). That page also explains which requests the datastore serves directly.

## Next Step
Expand Down
Loading