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

core/filtermaps: allow log search while head indexing #31429

Merged
merged 2 commits into from
Mar 20, 2025

Conversation

zsfelfoldi
Copy link
Contributor

@zsfelfoldi zsfelfoldi commented Mar 18, 2025

This PR changes the matcher syncing conditions so that it is possible to run a search while head indexing is in progress. Previously it was a requirement to have the head indexed in order to perform matcher sync before and after a search. This was unnecessarily strict as the purpose was just to avoid syncing the valid range with the temporary shortened indexed range applied while updating existing head maps. Now the sync condition explicitly checks whether the indexer has a temporary indexed range with some head maps being partially updated.
It also fixes a deadlock that happened when matcher synchronization was attempted in the event handler called from the writeFinishedMaps periodical callback.

@zsfelfoldi
Copy link
Contributor Author

I tested this PR with the workload tester both during a long chain syncing and log reindexing for several hours and everything went as expected (some timeouts when the relevant part of the index was missing, no errors at all when a new section of the chain was being synced while the workload test range was already indexed).

@fjl fjl added this to the 1.15.6 milestone Mar 20, 2025
@fjl fjl merged commit 9fc2bbe into ethereum:master Mar 20, 2025
4 checks passed
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.

2 participants