-
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
[Bug] A large backlog of Key_Shared subscription messages will result in fullgc and OOM #21045
Comments
So when this Key_Shared subscription has a lot of consumers, and some consumers are slow consumers, and some consumers start messaging and find out that stickyKeyHash is for slow consumers, Then these messages will add MessagetoReplay, and a large backlog will cause this problem |
Add parameters to the use of boot "-XX:+HeapDumpBeforeFullGC" |
The Therefore, It's expected behaviour. You can check why some of your consumers can't catch up or consider If you can try to use another subscription mode like But anyway. You are right. We should have a limit on this container's memory usage to avoid one topic affecting the whole broker. |
I verified and tested the set-max-unacked-messages-per-subscription as small as 1000 to avoid fullgc. |
Hi, @jdfrozen |
The issue had no activity for 30 days, mark with Stale label. |
Search before asking
Version
2.7.x
Minimal reproduce step
1、A large backlog of Key_Shared subscription messages
2、The subscription has multiple consumers
What did you expect to see?
broker functioning
What did you see instead?
1、broker frequent gc
2、broker fullgc
3、broker OOM
This is broker gc monitoring
Add parameters to the use of boot “-XX:+HeapDumpOnOutOfMemoryError”, When fullgc is sent, the analysis is done through mat
Anything else?
Root cause: redeliveryMessages contains a large number of messages
PersistentStickyKeyDispatcherMultipleConsumers.java
Are you willing to submit a PR?
The text was updated successfully, but these errors were encountered: