Nandini Singhal
Nandini Singhal
This change addresses high GC pressure by allocating tiered storage fetch buffers in direct (off-heap) memory instead of the JVM heap. When direct memory is exhausted, the system gracefully falls...
When the index cache is full and evicts entries, there's a race: 1. Entry marked for cleanup (markedForCleanup=true) 2. Index files renamed to .deleted 3. Entry may still be in...
###Problem: 1. Race condition and quota leaks: Multiple threads could check quota before any recorded usage, allowing all to bypass limits simultaneously. Additionally, in multi-partition fetches, quota was reserved per-partition...
Remote fetch quota enforcement lacks per-topic visibility, making it difficult to identify which topics consume the most quota or experience throttling. Add 4 new per-topic metrics: - RemoteFetchQuotaBytesPerSec: quota bytes...
Caffeine cache currently only uses size-based eviction with frequency buckets. Within same frequency bucket, larger entries are always evicted. This causes old (smaller) index files to stay in cache indefinitely...