-
Notifications
You must be signed in to change notification settings - Fork 357
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
Hermes caching layer MVP #1908
Comments
Great work in a short time! Just one observation, maybe you have discussed this already. I think we also need to maintain/ update the cache via the IBC events. I see that the TTL for client state and latest height is relatively small and probably the stale cache is less noticeable. But we should consider fixing this also. |
We were debating this yesterday, but the architectural implications for making the cache accessible from the websocket (supervisor code) was not clear. It may actually be easy to pass the cache (after it is created, somewhere here) to the supervisor, but we haven't tried. The idea we toyed with was to automatically update the
Is this a problem that was introduced with PR #1932? I think we only cache channels and connections once they are in
We debated the implications of this problem, and reduce the TTL from 10min to 1min for channel ends. Decided that the cost for Hermes to retry submitting packets on that (closed) channel for up to a minute before it finally detects the channel closure is a decent tradeoff for the moment. |
Yes, I think we can get the chain latest_height from
You are right. Just tested now with an older gaia version and it's fine. I was hitting cosmos/ibc-go#601 not being included in gaia v6.0.3.
Agreed for the short term it's ok. My question was for long term. We get the IBC events anyway and may as well use them for cache updates. We could reduce the queries to proofs only. The drawback is that we need to deal with the websocket reconnects. |
Yeah maybe we can invalidate the cache when we get disconnected. |
Crate
ibc-relayer
Summary
Add general support for a caching layer in Hermes.
Problem Definition
The motivation for the caching layer is to reduce pressure on full nodes.
Proposal & Acceptance Criteria
For Admin Use
The text was updated successfully, but these errors were encountered: