druid/processing
Kashif Faraz 4a8008aebb
Use the whole frame when writing rows. (#17094) (#17195)
This patch makes the following adjustments to enable writing larger
single rows to frames:
1) RowBasedFrameWriter: Max out allocation size on the final doubling.
   i.e., if the final allocation "naturally" would be 1 MiB but the
   max frame size is 900 KiB, use 900 KiB rather than failing the 1 MiB
   allocation.
2) AppendableMemory: In reserveAdditional, release the last block if it
   is empty. This eliminates waste when a frame writer uses a
   successive-doubling approach to find the right allocation size.
3) ArenaMemoryAllocator: Reclaim memory from the last allocation when
   the last allocation is closed.

Prior to these changes, a single row could be much smaller than the
frame size and still fail to be added to the frame.

Co-authored-by: Gian Merlino <gianmerlino@gmail.com>
2024-10-02 07:44:33 +05:30
..
src Use the whole frame when writing rows. (#17094) (#17195) 2024-10-02 07:44:33 +05:30
pom.xml Fix the maven warning during build (#16746) 2024-07-18 14:56:15 +08:00