Skip to content

Conversation

hero5512
Copy link
Contributor

This pr try to fix #32552.
Root Cause Analysis:

This gets stuck because of a performance bottleneck between block generation speed and log indexing speed. Here's what happens:

  1. Block Generation Rate: Blocks are committed every 2ms
  2. Log Query Rate: FilterLogs() runs every second
  3. Indexing Bottleneck: The log indexing system cannot keep up with this rapid block generation

The Deadlock Scenario:

When FilterLogs() is called, it tries to use the log index for efficient searching. However, if the index is still being built for recent blocks, the query hangs waiting for indexing to complete. This creates a deadlock-like
situation:

  • New blocks generate faster than they can be indexed
  • Log queries wait indefinitely for the index to catch up
  • The indexing process gets blocked by pending queries

To fix this issue, we should disable the log index by default.

@hero5512 hero5512 requested a review from fjl as a code owner September 12, 2025 01:44
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.

Simulated backend get_Logs stalls
1 participant