Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
0.11.0
-
None
Description
The OutStream class used by the ORC file format seems to aggressively allocate memory for ByteBuffers and doesn't seem too eager to give it back.
This causes issues with heap space, particularly when a wide tables/dynamic partitions are involved.
As a first step to resolving this problem, the OutStream class can be modified to lazily allocate memory, and more actively make it available for garbage collection.
Follow ups could include checking the amount of free memory as part of determining if a spill is needed.