Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

services/horizon: change default for --captive-core-use-db to true #4856

Closed
3 tasks done
mollykarcher opened this issue Apr 26, 2023 · 1 comment · Fixed by stellar/stellar-docs#163
Closed
3 tasks done

Comments

@mollykarcher
Copy link
Contributor

mollykarcher commented Apr 26, 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 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)
@Shaptic
Copy link
Contributor

Shaptic commented May 16, 2023

We also want this to be the new default in the stub configuration provided when you install the .deb package. I think it's here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

3 participants