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

horizon: Merge master into horizon-protocol-19 branch #4299

Merged
merged 9 commits into from
Mar 21, 2022

Conversation

2opremio
Copy link
Contributor

No description provided.

leighmcculloch and others added 9 commits March 14, 2022 17:00
Add a readme for the xdr package describing how to generate xdr.

I frequently forget and have to figure it out each time. This might help someone else too.

The examples use docker so that it is a quick copy/paste for most people. We use docker frequently so most of us have docker. There's a good chance that less of us have ruby setup in a good state locally.

I also added the ref to the Rakefile because I also forget how to specify a different source location for downloading XDR and if the ref was always specified it would be easier to just edit it.
Cache TOMLs to during scraping to some degree. Caching is local to each routine that is scraping and not shared across those routines, so it is possible to still get duplicate requests. Cache usage is logged.

The asset scraper may end up repeatedly scraping the same issuer's TOML many times if the issuer has issued many assets. This is not great since any scraper should attempt to respect the resources of hosts as much as possible.

The cache is in-memory and per routine because the cache is only required temporarily, and to introduce an external cache, such as redis, would be overkill.

Cache usage is logged so that it can be inspected and understood.
Use log fields in logs in the asset ingestion job of Ticker and include TOML url in logs.

To make filtering and analyzing logs easier.
Change the maximum size of the toml cache used during asset ingestion in Ticker to a single toml, and sort the assets by their TOML URLs when loading.

If we sort assets by their TOML URLs we only need to store one toml in the cache, the last one. This reduces the amount of memory required.
It's the first time I get into this code and the naming has made it
hard to understand. So, I decided to make the naming more
understandable.
@2opremio 2opremio requested a review from a team March 21, 2022 18:02
Copy link
Contributor

@Shaptic Shaptic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like a straightforward upstream merge to me! 👍

@2opremio 2opremio merged commit 5580e6e into horizon-protocol-19 Mar 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants