-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Node stops responding to RPC calls #8480
Comments
Small update, I am unable to replicate the issue using parity v1.9.5 & the script posted above. |
@ppratscher With 1.9.5 do you see some of the requests fail? |
No, not a single request failed during the 3+ hours the test script was running with v1.9.5 |
Edit: With a more aggressive version of the test script I was able to get the request to fail also with v1.9.5 after a few minutes: const Web3 = require("web3");
let web3 = new Web3("http://localhost:8545");
let i = 0;
function stress() {
web3.eth.isSyncing((err, result) => {
if (err) {
console.log(err);
}
i++
if (i % 1000 === 0) {
console.log(i);
}
});
}
setInterval(stress, 1);
setInterval(stress, 1); |
I'm trying to reproduce it now. Would you mind testing if it also happens for you with |
Yes, it also happens when running the node with mode=offline |
@ppratscher It's mostly
So the issue is that the benchmark you provided pretty much uses up all possible TCP connections that you can make, since we are trying to process them as fast possible, but they still queue up. Check your
Client queue can be increased using:
and server's queue with:
Another (more long term solutions would be):
|
Closing this issue since it is becoming stale and @tomusdrw has answered to the best of our abilities right now. @ppratscher if the answer isn't satisfactory please reopen. @tomusdrw Please open a separate issue for |
@tomusdrw Can you confirm that this ticket explains what is still the behavior of Parity 2.0.6? Specifically does Parity now limit TCP connections to :8545 to 1024? I am having the same problem that @ppratscher reported and The output of If you can confirm that Parity does not impose a limit on RCP connections then I will look elsewhere for my error. |
@stone212 no such limitation in Parity HTTP RPC as of version 1.8+ I believe. As far as I can tell the issue described here was only caused by system configuration. Can you post more detailed logs of what errors you are running into? Also maybe check |
@tomusdrw Thank you for confirming. It is looking like our problem is completely unrelated. This was just a symptom. The problem is that Parity stops listening on RPC and there are many possible reasons, starting with systemd, bad toml options, etc. If I find an actual Parity issue I'll open a ticket and post details. Thanks again. |
+1 for implementing |
Since upgrading our parity nodes to 1.9.6 / 1.10.1 / 1.10.2 we see cases where the nodes stop responding to any kind of RPC call. When querying such a node in this state via curl we just get a connection refused error back.
It happens more frequently on nodes that have a high volume of RPC calls. We were able to somewhat reliable reproduce the issue using the following stress test script (the RPC errors usually start to occur after ~1-2 hours):
I suspect that the issue might be related to upgrading the jsonrpc module in #8181
The text was updated successfully, but these errors were encountered: