You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ipfs: Remove concurrency limit, rely on rate limit (#4570)
* ipfs: Remove concurrency limit, rely on rate limit
The concurrency limit, because it uses a semaphore, had unfortunate
interactions with the use of `call_all` in the polling monitor.
`CallAll` can internally have requests which are holding the semaphore,
so it must be polled regularly to check on those requests.
If the task holding the `CallAll` hangs on some other future, that
can lead to a deadlock.
In our case, it can hang in the `response_sender.send((id, response)).await`,
if the channel is full and the subgraph runner takes a long time to check it.
This could be fixed, but the footgun would remain so it seemed best to
rely only on the rate limit which can't deadlock.
* polling monitor: Log when not found
0 commit comments