-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
[Improvement] Recycler should use io.netty.recycler.maxCapacityPerThread instead of io.netty.recycler.maxCapacity.default as maxCapacityPerThread configuration in Netty 4.1.x #13563
Conversation
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.
This is interesting.
Do you have some numbers about the impact of this change?
As this is broken and current property is not taking effect...
Why not removing the property at all and let users configure it?
I am not sure about the actual benefit or the impact of restoring that option
Hi Enrico, I did not see any performance impact. I agree with you. And we can use the default value ( |
/pulsarbot run-failure-checks |
Hi @eolivelli @merlimat @MMirelli @dave2wave , what are your thoughts ? Looking forward your response. |
@codelipenghui @hangc0276 @Jason918 @Shoothzj PTAL |
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.
LGTM
@eolivelli Hi Enrico, Please take a look the PR, thanks in advance. |
I will check whether this may cause evident perf degradation within this week, hopefully. Thank you for pointing this out. |
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.
Hi Enrico, I did not see any performance impact. I agree with you. And we can use the default value (io.netty.recycler.maxCapacityPerThread=4096) explicitly in that it keeps the same configuration as before in Pulsar. How about it?
@HQebupt - can you explain why 4096 is the same configuration as before? It seems like 1000 was the configuration before.
|
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.
LGTM.
@HQebupt - thanks for the reference. Do you know which versions of Pulsar need this patch?
The next version, maybe 2.11.0 :) |
@codelipenghui Hi penghui, could you please merge this pr since three committers approved it already ? thanks in advance. |
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.
Please replace all occurences of -Dio.netty.recycler.maxCapacity.default=1000
with -Dio.netty.recycler.maxCapacityPerThread=4096
in all source files (including documentation).
@lhotari @hangc0276 @eolivelli @315157973 PTAL again. Thanks |
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.
The io.netty.recycler.linkCapacity
system property was removed in Netty 4.1.71.Final
by commit netty/netty@40196a63 . Please also remove all references to io.netty.recycler.linkCapacity
.
@lhotari Apology for delay fix. PTAL. Thanks |
@lhotari PTAL. Thank you. |
1 similar comment
@lhotari PTAL. Thank you. |
/pulsarbot run-failure-checks |
/pulsarbot run-failure-checks |
…4.1.x (apache#13563) (cherry picked from commit 4721ce1) (cherry picked from commit 5206262)
This PR is tagged with 2.8.5, when we cherry-pick this PR into branch-2.8, we also need to cherry-pick #19441, otherwise, the bookie couldn't apply the memory and GC configurations. |
Fixed #13757
Motivation
The configuration
io.netty.recycler.maxCapacity.default
does not work in Netty 4.1.x. And TheRecycler
class should useio.netty.recycler.maxCapacityPerThread
orio.netty.recycler.maxCapacity
as maxCapacityPerThread configuration in Netty 4.1.x.Modifications
Change
io.netty.recycler.maxCapacity.default
toio.netty.recycler.maxCapacityPerThread
in start up script.Verifying this change
This change is a trivial rework / code cleanup without any test coverage.
Does this pull request potentially affect one of the following parts:
If
yes
was chosen, please highlight the changesDocumentation
Check the box below and label this PR (if you have committer privilege).
Need to update docs?
no-need-doc