Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve threadpools at networknode #6458

Merged

Conversation

HenrikJannsen
Copy link
Collaborator

@HenrikJannsen HenrikJannsen commented Dec 13, 2022

Based on #6457

…call on connection is blocking.

This was likely a major bug for seed nodes that at sending hash responses the main thread got blocked.

Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
… of the executor in NetworkNode.

We use double the maxConnection size for the core size and 4x for the max pool size.

Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
…ire a jvm option to allow it.

Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
It is more convenient to handle the RejectedExecutionException in the calling code to get more context for error logging.

Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
…kingQueue.

When ArrayBlockingQueue is used (as in case of using Utilities.getListeningExecutorService) the maxPoolSize
has no effect. The pool creates never more threads than the core pool size.
Thus we have been limited to 15 threads for message sending and connection creation.
This was likely a reason why seed nodes are not accepting new connections if the pool is exhausted.
Slow message send can block a thread for 1-3 minutes.

Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
@ripcurlx ripcurlx added this to the v1.9.7 milestone Dec 14, 2022
@ripcurlx ripcurlx merged commit f90c4b8 into bisq-network:master Dec 14, 2022
@HenrikJannsen HenrikJannsen deleted the improve-threadpools-at-networknode branch December 14, 2022 20:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants