0xMiden / 0xMiden/node

Rate limiting on client sync state

未关闭
#1,805 6 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Rust
星标
104
派生
138
平均合并
1 天 13 小时
30 天内合并 PR
56

描述

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
```

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。