Describe the issue
Requests are kept waiting even after clients disconnect. The queue can go full, blocking further json-rpc calls. Usually not a problem, except when long polling. Long polling getblocktemplate will hold a slot until another block has been received.
Can you reliably reproduce the issue?
If so, please list the steps to reproduce below:
- Long poll getblocktemplate
- Disconnect
- Repeat 1+2 until requests fail
Expected behaviour
Working json-rpc.
Suggestion: throw away requests from disconnected clients. Maybe reserve some slots for quick (non long polling) requests so long polling requests can't as easily lock up json-rpc.
Actual behaviour
After the long polling client reconnects a few times, there is the following error:
WARNING: request rejected because http work queue depth exceeded, it can be increased with the -rpcworkqueue= setting
What version of bitcoin-core are you using?
0.14.1