Change default memory allocation for consuming segments from on-heap to off-heap#8380
Change default memory allocation for consuming segments from on-heap to off-heap#8380mayankshriv merged 1 commit intoapache:masterfrom
Conversation
…to off-heap. It has been observed as well as established across several production deployments that allocating consuming segments off-heap is better than allocating on-heap. - Modifying the default value of `pinot.server.instance.realtime.alloc.offheap` to true. - Note, that the default off-heap setting implies MMAP, and we still require setting `pinot.server.instance.realtime.alloc.offheap.direct` to true if using DirectMemory is preferred over MMAP.
Jackie-Jiang
left a comment
There was a problem hiding this comment.
LGTM. We should also change some integration tests to turn it off so that both off-heap and on-heap is covered.
We can probably enable on-heap for RealtimeClusterIntegrationTest
Codecov Report
@@ Coverage Diff @@
## master #8380 +/- ##
============================================
- Coverage 69.75% 69.74% -0.02%
- Complexity 4212 4274 +62
============================================
Files 1653 1653
Lines 86615 86615
Branches 13080 13080
============================================
- Hits 60420 60407 -13
- Misses 21966 21981 +15
+ Partials 4229 4227 -2
Flags with carried forward coverage won't be shown. Click here to find out more.
Continue to review full report at Codecov.
|
|
Can you mark |
Filed #8385 to add test coverage for on-heap. |
With PR apache#8380, we modified the default value for `pinot.server.instance.realtime.alloc.offheap` to use off-heap. Explicitly setting it to use on-heap in some of the integration tests for coverage.
Description
It has been observed as well as established across several production deployments
that allocating consuming segments off-heap is better than allocating on-heap.
pinot.server.instance.realtime.alloc.offheapto true.pinot.server.instance.realtime.alloc.offheap.directto true if using DirectMemoryis preferred over MMAP.
Upgrade Notes
Does this PR prevent a zero down-time upgrade? (Assume upgrade order: Controller, Broker, Server, Minion)
backward-incompat, and complete the section below on Release Notes)Does this PR fix a zero-downtime upgrade introduced earlier?
backward-incompat, and complete the section below on Release Notes)Does this PR otherwise need attention when creating release notes? Things to consider:
release-notesand complete the section on Release Notes)Release Notes
The default behavior of
pinot.server.instance.realtime.alloc.offheaphas been changed to true.This implies that memory for consuming segments will be allocated off-heap. Off-heap here defaults
to MMAP, and can be changed to DirectMemory by setting the confing
pinot.server.instance.realtime.alloc.offheap.directto true.Documentation