0xMiden / 0xMiden/node

Rate limiting on client sync state

Ouverte
#1,805 6 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
Rust
Étoiles
104
Forks
138
Merge moyen
1 j 13 h
PR mergées (30 j)
56

Description

While benchmarking the web client's sync state against a local node with a seeded store, the rate limiting default values cause the sync to fail:
```
Caused by:
0: grpc request failed for get_notes_by_id: request was rate-limited or the node's resources are exhausted; retry after a delay
1: code: 'Some resource has been exhausted', message: "Too Many Requests! Wait for 0s"
```

Setting the node with more relaxed rate limiting allows the sync to complete successfully.

This might differ on testnet due to the network latency on each request. Anyway, we might want to check these values considering the normal client behaviour, or perhaps we should introduce a backoff on the client side to avoid being rate limited, thus making the sync slower.

----
To reproduce it:

On the node side (use branch `tomasarrachea-seed-store-consume-notes`):
1. Start the seeded node:
```bash
cargo run --release --bin miden-node-stress-test -- seed-collector --data-directory ./data --num-blocks 200

cargo run --release --bin miden-node -- bundled start --data-directory ./data --rpc.url http://localhost:57291
```
2. Check the seeded account id:
```sh
cat data/accounts.txt
```

On the client side (branch `tomasarrachea-sync-benchmark`):
1. Run the client benchmark against that account:
```sh
cargo run --release -p miden-client-bench -- sync --account-id
```

Guide de contribution

Ouvrir le guide de contribution

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.