You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Sungwoo (Jira)" <ji...@apache.org> on 2021/08/24 15:42:00 UTC
[jira] [Commented] (HIVE-24316) Upgrade ORC from 1.5.6 to 1.5.8 in
branch-3.1
[ https://issues.apache.org/jira/browse/HIVE-24316?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17403893#comment-17403893 ]
Sungwoo commented on HIVE-24316:
--------------------------------
Hello,
It seems that with ORC-361, the use of MemoryManagerImpl in LlapAwareMemoryManager is inconsistent.
Before merging ORC-361, LlapAwareMemoryManager sets its own totalMemoryPool and MemoryManagerImpl accesses totalMemoryPool via getTotalMemoryPool(), so everything is fine.
With ORC-361 merged, we have the following:
1. LlapAwareMemoryManager sets its own totalMemoryPool as a private field.
2. MemoryManagerImpl sets its own totalMemoryPool as a private field.
3. LlapAwareMemoryManager overrides getTotalMemoryPool() using its own totalMemoryPool.
Now it is unclear whether or not getTotalMemoryPool() should be overridden.
Here are my thoughts on ORC-361:
1. Is MemoryManagerImpl intended to coordinate all threads writing to ORC files inside a process (like LLAP Daemon)? Then is it necessary to create LlapAwareMemoryManager as a ThreadLocal object? Why not just call OrcFile.getStaticMemoryManager() to obtain the shared MemoryManagerImpl?
3. LlapAwareMemoryManager sets its own totalMemoryPool:
{code:java}
long memPerExecutor = LlapDaemonInfo.INSTANCE.getMemoryPerExecutor();
totalMemoryPool = (long) (memPerExecutor * maxLoad);
{code}
From my understanding, this has no effect because MemoryManagerImpl sets its own totalMemoryPool.
Any comment would be appreciated.
> Upgrade ORC from 1.5.6 to 1.5.8 in branch-3.1
> ---------------------------------------------
>
> Key: HIVE-24316
> URL: https://issues.apache.org/jira/browse/HIVE-24316
> Project: Hive
> Issue Type: Bug
> Components: ORC
> Affects Versions: 3.1.3
> Reporter: Dongjoon Hyun
> Assignee: Dongjoon Hyun
> Priority: Major
> Labels: pull-request-available
> Fix For: 3.1.3
>
> Time Spent: 4h 50m
> Remaining Estimate: 0h
>
> This will bring eleven bug fixes.
> * ORC 1.5.7: [https://issues.apache.org/jira/projects/ORC/versions/12345702]
> * ORC 1.5.8: [https://issues.apache.org/jira/projects/ORC/versions/12346462]
--
This message was sent by Atlassian Jira
(v8.3.4#803005)