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
Test: Randomize netty worker and connection parameters #6635
Conversation
Try and push our system to a state where there is only a single worker, trying to expose potential deadlocks when we by mistake execute blocking operations on the worker thread closes elastic#6635
LGTM FWIW 😋 |
|
||
// randomize netty settings | ||
if (random.nextBoolean()) { | ||
builder.put(NettyTransport.WORKER_COUNT, random.nextInt(3) + 1); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can we go higher here? I mean if folks can set this they might go and use a large number? If that is dangerous we might need to validate the input and throw an exception?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we could, the default is num_processors * 2, which happens when nextBoolean is false. I wanted to try and be more aggressive when it is enabled. I think this values are good.
regarding the default, I am not sure what a good protection here is. We could protect from someone setting it to 500, or 10 times the number of processors, but I don't think it will be that effective (besides the fact that its a pretty internal and advance setting).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok fair enough...
LGTM |
Try and push our system to a state where there is only a single worker, trying to expose potential deadlocks when we by mistake execute blocking operations on the worker thread closes #6635
Try and push our system to a state where there is only a single worker, trying to expose potential deadlocks when we by mistake execute blocking operations on the worker thread