v1.7.0
Changed
- the indexer database is renamed from
flare_ftso_indexertofsp_indexer.
Every service in the stack takes the name fromdocker-compose.yaml, so the
stack needs no changes from you — but anything of your own that reads the
indexer database directly must be repointed: backups, dashboards, reward
calculation, ad-hoc queries. - bumped c-chain-indexer image to v2.0.0 and switched it to
mode = "fsp"with
history_epochs = 0. The indexer now only collects what the FSP stack needs
and resolves the contracts by name itself, so the config template no longer
lists anycollect_transactions/collect_logsentries and no longer sets
db.history_drop, which fsp mode ignores. A fresh sync takes well under a
minute instead of hours: it fully indexes only the last hour or so of blocks,
and backfills the FSP events behind that. Retention is no longer a fixed
42-day window either — history drop now deletes below two reward epochs before
the current epoch's start, so the indexed range grows as the indexer runs and
settles at roughly 7 to 10 days on Flare and Songbird, sliding forward with
each epoch. - the indexer database moved to a new
indexer_data_v2volume. The old
indexer_datavolume is left untouched as a rollback point. - the services that read the indexer database — system-client, ftso-client,
fdc-client and tee-relay-client — now wait for the indexer's/healthto report
200 before they start, via a compose healthcheck. Previously they came up
against an empty database and worked through their own retry and backoff paths
until data appeared. If you raiseindexer.history_epochs, raise the
healthcheck'sstart_periodto match: the first backfill then takes
proportionally longer, and compose will not start the dependent services once
it marks the indexer unhealthy. populate_config.shno longer appends aFlareTeeManagerlog filter to the
indexer config. v2 collects theTeeInstructionsSentevents tee-relay-client
reads on every network where the contract is deployed, so the generated filter
only duplicated a built-in one.FlareTeeManageris still resolved for the
tee-relay-client config.
Upgrading
docker compose down
git fetch --tags
git checkout v1.7.0
./populate_config.sh
docker compose pull
docker compose up -d./populate_config.shis required: the indexer config template changed.- the indexer starts from an empty database and resyncs in under a minute.
/healthreports 503 until it has, and the services that read the database wait
for it, so expect them to start a minute or so afterdocker compose up -d. - do not run
docker compose down -v,docker volume prune -aor
docker system prune --volumesduring the upgrade: all three delete the old
indexer_datavolume you are keeping in order to roll back. - once v2 runs fine, reclaim the space with
docker volume rm <project>_indexer_data, where<project>is this
directory's name. List the volumes first withdocker volume ls.
Rolling back
docker compose down
git checkout v1.6.1
./populate_config.sh
docker compose pull
docker compose up -d- the v1 indexer picks up the old
indexer_datavolume and resumes from where
it stopped, then re-indexes the blocks produced while v2 was running. Allow
catchup time in proportion to how long v2 ran.
Full Changelog: https://github.com/flare-foundation/flare-systems-deployment/blob/v1.7.0/CHANGELOG.md