This repository has been archived by the owner on Jan 22, 2020. It is now read-only.
v0.6.0 - Abridged history and more
This release contains the initial implementation of the "Abridged History System". It allows a horizon system to be operated without complete knowledge of the ledger's history. With this release, horizon will start ingesting data from the earliest point known to the connected stellar-core instance, rather than ledger 1 as it behaved previously. See the admin guide section titled "Ingesting stellar-core data" for more details.
Added
- Elder ledgers have been introduced: An elder ledger is the oldest ledger known to a db. For example, the
core_elder_ledger
attribute on the root endpoint refers to the oldest known ledger stored in the connected stellar-core database. - Added the
history-retention-count
command line flag, used to specify the amount of historical data to keep in the history db. This is expressed as a number of ledgers, for example a value of362880
would retain roughly 6 weeks of data given an average of 10 seconds per ledger. - Added the
history-stale-threshold
command line flag to enable stale history protection. See the admin guide for more info. - Horizon now reports the last ledger ingested to stellar-core using the
setcursor
command. - Requests for data that precede the recorded window of history stored by horizon will receive a
410 Gone
http response to allow software to differentiate from other "not found" situations. - The new
db reap
command will manually trigger the deletion of unretained historical data - A background process on the server now deletes unretained historical once per hour.
Changed
- BREAKING: When making a streaming request, a normal error response will be returned if an error occurs prior to sending the first event. Additionally, the initial http response and streaming preamble will not be sent until the first event is available.
- BREAKING:
horizon_latest_ledger
has renamed tohistory_latest_ledger
- Horizon no longer needs to begin the ingestion of historical data from ledger sequence 1.
- Rows in the
history_accounts
table are no longer identified using the "Total Order ID" that other historical records use, but are rather using a simple auto-incremented id.
Removed
- The
/accounts
endpoint, which lets a consumer page through the entire set of accounts in the ledger, has been removed. The change from complete to an abridged history in horizon makes the endpoint mostly useless, and after consulting with the community we have decided to remove the endpoint.