Closed FurkanKarakas closed 4 years ago
As a suggestion, let's try to access the service via WS.
I’m fairly sure that Tendermint by default exposes multiple protocols (not only HTTP). See, for instance, here: github.com/tendermint/tendermint/blob/bc572217c07b90ad9cee851f193aaa8e9557cbc7/rpc/core/doc.go
Are you accessing via port 26657 ? This is the parameter “rpc.laddr” in the config file. This function starts the listener on the respective port: github.com/tendermint/tendermint/blob/18d44a01863faf427e420ed9c61669a982bee0fc/node/node.go#L898
I have just realized that this is not actually a bug, this is an intended feature in Tendermint. This is how I figured it out:
$HOME/.tendermint/config
.config.toml
with any text editor.max_subscription_clients
which is set to 100 by default.That was probably the reason why I could not send more than 100 concurrent transactions at the same time.
I am closing this issue accordingly.
Tendermint version (use
tendermint version
orgit rev-parse --verify HEAD
if installed from source): 0.33.1-30e5619aABCI app (name for built-in, URL for self-written if it's publicly available):
Environment:
What happened: When I send multiple transactions in Golang concurrently via HTTP request, I receive client max subscription reached error.
What you expected to happen: I expected that much more transactions could be sent to the Tendermint client, also not receiving "max client received" error.
Have you tried the latest version: no
How to reproduce it (as minimally and precisely as possible): On local branch release/v0.33.1, run the Go program in my repository
./Furkan/SendRepetitiveTX/SendRepetitiveTX -TXNr 200 -TXTime 1
while the local cluster is up and running.Logs (paste a small part showing an error (< 10 lines) or link a pastebin, gist, etc. containing more of the log file):
{ "jsonrpc": "2.0", "id": -1, "error": { "code": -32603, "message": "Internal error", "data": "max_subscription_clients 100 reached" } }
Config (you can paste only the changes you've made):
node command runtime flags:
make localnet-start
/dump_consensus_state
output for consensus bugsAnything else we need to know: I think I should be able to send thousands of transactions in a second. Not reaching to 100 doesn't seem to be good. Do you think I am doing something wrong?