You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@tez.apache.org by "Jaume M (JIRA)" <ji...@apache.org> on 2018/12/05 00:45:00 UTC

[jira] [Commented] (TEZ-3831) Reduce Unordered memory needed for storing empty completed events

    [ https://issues.apache.org/jira/browse/TEZ-3831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16709449#comment-16709449 ] 

Jaume M commented on TEZ-3831:
------------------------------

{code}
2018-08-24T06:53:46,757 WARN  [pool-156-thread-4 ()] org.apache.tez.runtime.library.common.readers.UnorderedKVReader: Interrupted while waiting for next available input
java.lang.InterruptedException: null
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.reportInterruptAfterWait(AbstractQueuedSynchronizer.java:2014) ~[?:1.8.0_152]
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2048) ~[?:1.8.0_152]
    at java.util.concurrent.LinkedBlockingDeque.takeFirst(LinkedBlockingDeque.java:492) ~[?:1.8.0_152]
    at java.util.concurrent.LinkedBlockingDeque.take(LinkedBlockingDeque.java:680) ~[?:1.8.0_152]
    at org.apache.tez.runtime.library.common.shuffle.impl.ShuffleManager.getNextInput(ShuffleManager.java:883) ~[tez-runtime-library-0.9.1.3.0.1.0-121.jar:0.9.1.3.0.1.0-121]
    at org.apache.tez.runtime.library.common.readers.UnorderedKVReader.moveToNextInput(UnorderedKVReader.java:202) ~[tez-runtime-library-0.9.1.3.0.1.0-121.jar:0.9.1.3.0.1.0-121]
    at org.apache.tez.runtime.library.common.readers.UnorderedKVReader.next(UnorderedKVReader.java:125) ~[tez-runtime-library-0.9.1.3.0.1.0-121.jar:0.9.1.3.0.1.0-121]
    at org.apache.hadoop.hive.ql.exec.vector.mapjoin.fast.VectorMapJoinFastHashTableLoader.load(VectorMapJoinFastHashTableLoader.java:129) ~[hive-exec-3.1.0.3.0.1.0-121.jar:3.1.0.3.0.1.0-121]
    at org.apache.hadoop.hive.ql.exec.MapJoinOperator.loadHashTableInternal(MapJoinOperator.java:335) ~[hive-exec-3.1.0.3.0.1.0-121.jar:3.1.0.3.0.1.0-121]
    at org.apache.hadoop.hive.ql.exec.MapJoinOperator.loadHashTable(MapJoinOperator.java:404) ~[hive-exec-3.1.0.3.0.1.0-121.jar:3.1.0.3.0.1.0-121]
    at org.apache.hadoop.hive.ql.exec.MapJoinOperator.lambda$initializeOp$0(MapJoinOperator.java:206) ~[hive-exec-3.1.0.3.0.1.0-121.jar:3.1.0.3.0.1.0-121]
    at org.apache.hadoop.hive.ql.exec.tez.LlapObjectCache.retrieve(LlapObjectCache.java:120) ~[hive-exec-3.1.0.3.0.1.0-121.jar:3.1.0.3.0.1.0-121]
    at org.apache.hadoop.hive.ql.exec.tez.LlapObjectCache$1.call(LlapObjectCache.java:147) ~[hive-exec-3.1.0.3.0.1.0-121.jar:3.1.0.3.0.1.0-121]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_152]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_152]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_152]
    at java.lang.Thread.run(Thread.java:748) [?:1.8.0_152]
{code}

cc [~jeagles]

> Reduce Unordered memory needed for storing empty completed events
> -----------------------------------------------------------------
>
>                 Key: TEZ-3831
>                 URL: https://issues.apache.org/jira/browse/TEZ-3831
>             Project: Apache Tez
>          Issue Type: Bug
>            Reporter: Jonathan Eagles
>            Assignee: Jonathan Eagles
>            Priority: Major
>             Fix For: 0.9.1
>
>         Attachments: Screen Shot 2017-09-13 at 4.55.11 PM.png, TEZ-3831.001-addendum.patch, TEZ-3831.001.patch
>
>
> the completedInputs blocking queue is used to store inputs for the UnorderedKVReader to consume. With Auto-reduce parallelism enabled and nearly all empty inputs, the reader can't prune the empty events from the blocking queue fast enough to keep up. In my scenario, an OOM occurred. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)