- Add
--parallel-workers
and--parallel-job-size
tohorizon db reingest range
.--parallel-workers
will 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-connections
core-db-max-idle-connections
- HAL response population is implemented using Go
strings
package instead ofregexp
, improving its performance. (#2806) - Fix a bug in
POST /transactions
that could causetx_bad_seq
errors instead of processing a valid transaction. (#2805) - The
--connection-timeout
param 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-ingestion
orENABLE_CAPTIVE_CORE_INGESTION=true
.--stellar-core-binary-path
orSTELLAR_CORE_BINARY_PATH
.