-Re: Review Request 17165: Extend netty memory manager (jira DRILL-336)
John Morris 2014-02-24, 23:46
This is an automatically generated e-mail. To reply, visit:
(Updated Feb. 24, 2014, 11:46 p.m.)
Review request for drill.
Removed the "feature" of throwing an exception for large memory copy on resize. While we would like to avoid large copies in Drill, internal Netty routines were unwittingly raising the exception.
Modified the netty direct memory manager to:
1) Efficiently reduce ("trim") the size of a memory buffer, releasing the extra memory back to the memory manager.
2) Opportunistically allocate larger buffers if it can be done efficiently.
3) Raise a warning exception if resizing a buffer copies more than 1 page of data.
4) Added Javadocs and some in-code comments.
5) Created a Junit test to verify basic functionality.
The "trim" and allocation changes are primarily in PoolChunkL,
which breaks a "chunk" into runs of pages using a buddy system.
Created a basic Junit test to verify the functionality as well as some of the boundary conditions.