Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
3.0.0
Description
DirectByteBuffler are only cleaned up when there is Full GC or manually invoked cleaner method of DirectByteBuffer, Since full GC may take some time to kick in, In the meanwhile the native memory usage of LLAP daemon process might shoot up and this will force the YARN pmem monitor to kill the container running the daemon.
HIVE-16180 tried to solve this problem, but the code structure got messed up after HIVE-15665
The IdentityHashMap (toRelease) is initialized in https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/io/orc/encoded/EncodedReaderImpl.java#L409 , but it is getting re-initialized inside the method getDataFromCacheAndDisk() https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/io/orc/encoded/EncodedReaderImpl.java#L633 which makes it local to that method hence the original toRelease IdentityHashMap remains empty.
Attachments
Attachments
Issue Links
- links to