- Add
--parallel-workersand--parallel-job-sizetohorizon db reingest range.--parallel-workerswill parallelize reingestion using the supplied number of workers. (#2724) - Remove Stellar Core's database dependency for non-ingesting instances of Horizon. (#2759)
Horizon doesn't require access to a Stellar Core database if it is only serving HTTP request, this allows the separation of front-end and ingesting instances.
The following config parameters were removed:core-db-max-open-connectionscore-db-max-idle-connections
- HAL response population is implemented using Go
stringspackage instead ofregexp, improving its performance. (#2806) - Fix a bug in
POST /transactionsthat could causetx_bad_seqerrors instead of processing a valid transaction. (#2805) - The
--connection-timeoutparam is ignored inPOST /transactions. The requests sent to that endpoint will always timeout after 30 seconds. (#2818)
Experimental
-
Add experimental support for live ingestion using a Stellar Core subprocess instead of a persistent Stellar Core database.
Stellar-core now contains an experimental feature which allows replaying ledger's metadata in-memory. This feature starts paving the way to remove the dependency between Stellar Core's database and Horizon. Requires Stellar Core v13.2.0.
To try out this new experimental feature, you need to specify the following parameters when starting ingesting Horizon instance:
--enable-captive-core-ingestionorENABLE_CAPTIVE_CORE_INGESTION=true.--stellar-core-binary-pathorSTELLAR_CORE_BINARY_PATH.