AstarNetwork / Astar

The dApp hub for blockchains of the future
https://astar.network/
GNU General Public License v3.0
735 stars 337 forks source link

"query timeout of 10 seconds exceeded" for log backfill to retrieve historical data #1357

Open roblinkriver opened 1 week ago

roblinkriver commented 1 week ago

Description

We need to log backfill via websocket of historical data. Our Astar node with which we are testing this is an archive node. We have tried various configs and the only one that seems to be related in the help section is --max-past-logs but changing it does not solve the problem.

There seems to be a 10sec timeout and this appears to us as an error:

error="query timeout of 10 seconds exceeded"

This timeout occurs when we exceed a certain number of blocks during the backfill with ~80k

Steps to Reproduce

We are running the node with: staketechnologies/astar-collator:v5.44.0

This is our redacted config:

        - astar-collator
        - --name=$redacted
        - --base-path=/data
        - --chain=astar
        - --rpc-external
        - --rpc-methods=Safe
        - --rpc-max-request-size=1000
        - --rpc-max-response-size=1000
        - --rpc-cors=all
        - --rpc-port=$redacted
        - --no-telemetry
        - --enable-evm-rpc
        - --pruning=archive
        # Metrics
        - --prometheus-port=$redacted
        # P2P
        - --listen-addr=/ip4/$redacted/tcp/$redacted/ws
        - --no-private-ip
        - --
        - --rpc-port=$redacted
        - --state-pruning=100
        - --blocks-pruning=100
        - --sync=warp 
        - --no-telemetry
        - --prometheus-port=6061
        - --listen-addr=/ip4/$redacted/tcp/$redacted/ws
        - --no-private-ip

Expected vs. Actual Behavior Is there any configuration or way to enable longer block backfill and thus somehow increase the timeout?

Dinonard commented 1 week ago

I assume your question is related to EVM tracing? It would be helpful if you post the exact query used when fetching the data.

There's a timeout field in the TraceParams struct, did you try to use that?