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

Implement filtering and testing for Filecoin.EthGetLogs #4851

Open
6 tasks
elmattic opened this issue Oct 7, 2024 · 1 comment
Open
6 tasks

Implement filtering and testing for Filecoin.EthGetLogs #4851

elmattic opened this issue Oct 7, 2024 · 1 comment

Comments

@elmattic
Copy link
Contributor

elmattic commented Oct 7, 2024

Summary

This is a follow-up issue for #4780.

The Filecoin.EthGetLogs was not implemented fully, as we're blocked by a few number of issues:

  • Some bugs while parsing EthFilterSpec (Error while deserializing EthFilterSpec #4826)
  • Lotus events implementation is known to have limitations, and their team is working on a revamped implementation (feat: a new ChainIndexer to index tipsets, messages and events filecoin-project/lotus#12421)
    In our case, this manifests by Lotus returning empty lists in many forest-tool api compare tests while we're not.
  • We do not fully support the filtering feature or test it.
    This needs to be done in a follow-up task. We also would like to introduce a proper test setup for assessing performance in general of those kinds of methods (EthGetFilterChanges, EthGetFilterLogs, etc.)
    (how far are we from Lotus, which uses a SQL DB to build indices and fasten those types of queries)
  • Ultimately, we need to support correctly FOREST_MAX_FILTER_RESULTS and FOREST_MAX_FILTER_HEIGHT_RANGE environment variables.
  • In case --store-events false, we only display some warning in the forest daemon and return an empty list. We should turn this into an error so that the client knows that the RPC call couldn't be fulfilled and take some action.
  • Expose DEFAULT_TIPSET_CACHE_SIZE setting in configuration file, as it can have a great impact on performances.

Once those tasks are completed, we should be able to remove the method from the API compare filter list.

@elmattic elmattic added Type: Epic A feature or collection of issues that achieve a greater goal Status: BLOCKED labels Oct 7, 2024
@elmattic
Copy link
Contributor Author

Blocked by #4780

@elmattic elmattic removed the Type: Epic A feature or collection of issues that achieve a greater goal label Oct 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Ready
Development

No branches or pull requests

1 participant