You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, there's a lot of inconsistency in what configuration we recommend for horizon, which leads to confusion both internally and externally. At present, the default value for CAPTIVE_CORE_USE_DB is false, however our recommendations to external partners (and what we've chosen to do in our deployment) is true. The size of the ledger grows unbounded over time, so with an in-memory configuration, the RAM required of horizon/captive-core will eventually become unreasonably large and/or prohibitively expensive.
What would you like to see?
Update the default of CAPTIVE_CORE_USE_DB to true
Update quickstart to use new default (this may happen automatically, not sure if quickstart is explicitly setting this flag)
Update external documentation to reflect new default
Updating the default is a breaking change, as any customers not explicitly setting this flag will experience a behavior flip. However, it's unlikely that anyone using in-memory is doing it explicitly/intentionally and in a worse-case scenario where it causes an issue for them, the revert is quite simple (ie. explicitly set the flag to false)
What alternatives are there?
Another option would be to remove in-memory option altogether. We've chosen this route for soroban-rpc; being a new product offering, we don't want to muddy the waters with this option when our recommendation is to always use on-disk mode. We could go the same route here (and maybe we'll want to eventually), but it's probably best to at least give users the option to explicitly now set/choose this option for now, since it's a quick and easy back-stop if they do notice or complain when the default changes.
We could consider deprecating the in-memory option (for removal in a later release)
The text was updated successfully, but these errors were encountered:
mollykarcher
changed the title
services/horizon: change default for --captive-core-use-db to true
services/horizon: change default for --captive-core-use-db to true
May 18, 2023
What problem does your feature solve?
Currently, there's a lot of inconsistency in what configuration we recommend for horizon, which leads to confusion both internally and externally. At present, the default value for
CAPTIVE_CORE_USE_DB
isfalse
, however our recommendations to external partners (and what we've chosen to do in our deployment) istrue
. The size of the ledger grows unbounded over time, so with an in-memory configuration, the RAM required of horizon/captive-core will eventually become unreasonably large and/or prohibitively expensive.What would you like to see?
CAPTIVE_CORE_USE_DB
totrue
Updating the default is a breaking change, as any customers not explicitly setting this flag will experience a behavior flip. However, it's unlikely that anyone using in-memory is doing it explicitly/intentionally and in a worse-case scenario where it causes an issue for them, the revert is quite simple (ie. explicitly set the flag to
false
)What alternatives are there?
The text was updated successfully, but these errors were encountered: