Horizon v2.18.0
Upgrading to this version from <= v2.8.3 will trigger a state rebuild. During this process (which will take at least 10 minutes), Horizon will not ingest new ledgers.
New features
-
New Experimental Ingestion Filters Feature: Provide the ability to select which ledger transactions are accepted at ingestion time to be stored on horizon's historical databse.
Define filter rules through Admin API and the historical ingestion process will check the rules and only persist the ledger transactions that pass the filter rules. Initially, two filters and corresponding rules are possible:
The filters and their configuration are optional features and must be enabled with horizon command line parameters
admin-port=4200
andenable-ingestion-filtering=true
Once set, filter configurations and their rules are initially empty and the filters are disabled by default. To enable filters, update the configuration settings, refer to the Admin API Docs which are published on the Admin Port at http://localhost:<admin_port>/, follow details and examples for endpoints:
/ingestion/filters/account
/ingestion/filters/asset.
- Added
disable-path-finding
Horizon flag to disable the path finding endpoints. This flag should be enabled on ingesting Horizon instances which do not serve HTTP traffic (4399).
Performance improvements
- Querying claimable balances has been optimized (4385).
- Querying trade aggregations has been optimized (4389).
Fixes
- Postgres connections for non ingesting Horizon instances are now configured to timeout on long running queries / transactions (4390).
DB Schema Migration
The migration makes the following schema changes:
- adds new tables:
account_filter_rules
,asset_filter_rules
andtxsub_results
This migration will execute quickly.