Upgrading to this version from <= v2.1.1 will trigger a state rebuild. During this process (which can take up to 20 minutes), Horizon will not ingest new ledgers.
- Add new command
horizon db detect-gaps, which detects ingestion gaps in the database. The command prints out thedb reingestcommands to run in order to fill the gaps found (3672). - Performance improvement: Captive Core now reuses bucket files whenever it finds existing ones in the corresponding
--captive-core-storage-path(introduced in v2.1.0 rather than generating a one-time temporary sub-directory (3670). This feature requires Stellar-Core version 17.1 or later. - Horizon now monitors the Stellar Core binary on disk (pointed to by
--stellar-core-binary-path/STELLAR_CORE_BINARY_PATH) and restarts its Captive Core subprocess if it detects changes (i.e a more recent file timestamp for the Stellar Core binary) (3687). POST /transactionsreturn503 Service Unavailableinstead of504 Gateway Timeoutif connected Stellar-Core is out of sync (3653).- Add protocol version metrics:
horizon_ingest_max_supported_protocol_version,horizon_ingest_captive_stellar_core_supported_protocol_version,horizon_stellar_core_supported_protocol_version(3634). - Fixed crash in
horizon ingest verify-rangecommand (3682). - Handle replica conflict errors gracefully (3674).
- Fix data race in request parameters handling (3690).
- Fix bug where the configuration for
CAPTIVE_CORE_LOG_PATH,CAPTIVE_CORE_PEER_PORT, andCAPTIVE_CORE_HTTP_PORTwere ignored if they were configured via environment variables instead of command line arguments. (3702). - Error when setting
BUCKET_DIR_PATHthrough--captive-core-config-path(3707).