Horizon v2.28.0
Changelog
Fixed
- Ingestion performance improvements (4909)
- Trade aggregation rebuild errors reported on
db reingest range
with parallel workers (5168) - Limited global flags displayed on cli help output (5077)
- History archive network usage has been significantly reduced with caching. Warning: To support the cache, disk requirements may increase by up to 15GB (5171).
Added
- We now include metrics for history archive requests (5166)
- Http history archive requests now include a unique user agent (5166)
- Added a deprecation warning for using command-line flags when running Horizon (5051)
- New optional config
DISABLE_SOROBAN_INGEST
(5175). Defaults toFALSE
, whenTRUE
and a soroban transaction is ingested, the following will occur:- no effects will be generated for contract invocations.
- history_transactions.tx_meta column will have serialized xdr that equates to an empty
xdr.TransactionMeta.V3
,Operations
,TxChangesAfter
,TxChangesBefore
will empty arrays andSorobanMeta
will be nil. - API transaction model for
result_meta_xdr
will have same empty serialized xdr forxdr.TransactionMeta.V3
,Operations
,TxChangesAfter
,TxChangesBefore
will empty arrays andSorobanMeta
will be nil. - API
Operation
model forInvokeHostFunctionOp
type, will have emptyasset_balance_changes
Breaking Changes
- Deprecation of legacy, non-captive core ingestion(5158):
-
removed configuration flags
--stellar-core-url-db
,--cursor-name
--skip-cursor-update
, they are no longer usable. -
removed automatic updating of core cursor from ingestion background processing.
Note for upgrading on existing horizon deployments - Since horizon will no longer maintain advancement of this cursor on core, it may require manual removal of the cursor from the core process that your horizon was using for captive core, otherwise that core process may un-necessarily retain older data in buckets on disk up to the last cursor ledger sequence set by prior horizon release.The captive core process to check and verify presence of cursor usage is determined by the horizon deployment, if
NETWORK
is present, orSTELLAR_CORE_URL
is present orCAPTIVE-CORE-HTTP-PORT
is present and set to non-zero value, orCAPTIVE-CORE_CONFIG_PATH
is used and the toml hasHTTP_PORT
set to non-zero andPUBLIC_HTTP_PORT
is not set to false, then it is recommended to perform the following preventative measure on the machine hosting horizon after upgraded to 2.28.0 and process restarted:$ curl http://<captive_core_process_url:captive_core_process_port>/getcursor # If there are no cursors reported, done, no need for any action # If any horizon cursors exist they need to be dropped by id. # By default horizon sets cursor id to "HORIZON" but if it was customized # using the --cursor-name flag the id might be different $ curl http://<captive_core_process_url:captive_core_process_port>/dropcursor?id=<reported_id_from_getcursor>
-