Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Not A Problem
-
None
-
None
-
None
-
None
Description
Using Flight Recorder to look at the object allocation profiles of regionservers processing the various YCSB workloads when block encoding is enabled (specifically, FAST_DIFF, but this applies to any), we can see:
- Allocations of byte[] for block encoding contribute 40-70% of all allocation pressure in TLABs.
- Of that subset of allocation pressure, ~50-70% is byte[] for SeekerState
- Greater than 99% of allocation of byte[] outside of TLABs are for read buffers for HFileBlock#readBlockDataInternal.
This issue is for investigation of strategy for and impact of reducing that allocation pressure. Reducing allocation pressure reduces demand for GC, which reduces GC activity overall, which reduces a source of system latency.