Open bxfjb opened 1 month ago
It looks like your cache is holding SelectBufferResult, which wraps a ByteBuffer. From your description, it sounds like it’s non-direct (on-heap). Since they are long lived you might allocate them off heap as the cache itself being on heap shouldn’t be an issue. There’s quirks with direct byte buffers so they’re avoided until appropriate.
It looks like your cache is holding SelectBufferResult, which wraps a ByteBuffer. From your description, it sounds like it’s non-direct (on-heap). Since they are long lived you might allocate them off heap as the cache itself being on heap shouldn’t be an issue. There’s quirks with direct byte buffers so they’re avoided until appropriate.
You're right, the key is where the ByteBuffer is. The point is data source is object storage SDK which means placing data in the heap seems inevitable. Perhaps the data still needs to be copied off the heap?
Before Creating the Enhancement Request
Summary
When tiered storage enabled, high GC pressure was shown under tens of thousands pub/sub TPS, which may cause full GC occasionally.
Motivation
Uncontrollable and unpredictable full GC may cause STW and disable the service.
Describe the Solution You'd Like
Describe Alternatives You've Considered
In fact, the situation of the old generation during the normal upload process is also not very good. It can be seen that the size of the old generation fluctuates frequently, which is presumably caused by mixed GC. So there might be sth to do with the producing process.
Additional Context
No response