hubcio opened a new pull request, #4761: URL: https://github.com/apache/iggy/pull/4761
Three allocation sites cost each partition about 330 KB of heap at 32 CPUs, even when it never takes a write, and nothing bounded the sum of the repair rings, so node memory grew with the partition count. Segment Vecs start empty instead of reserving 1024 slots, and pipeline queues allocate on the first write. The offset maps move from per-CPU papaya maps to RefCell<BTreeMap> in the partitions crate, because only the owner shard reads them. partition.evicted_ring_node_bytes_max (4 GiB) splits evenly across shards, because a shard can shed only its own rings. Past its share, the shard tick releases the oldest ring bodies to their segments, then drops the oldest entries. Each ring keeps its newest entry, so the commit point stays servable for a view change. A counting allocator test fails if an idle partition grows past 16 KiB. It measures 12.7 KB. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
