[
https://issues.apache.org/jira/browse/TEZ-2237?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14395285#comment-14395285
]
Siddharth Seth commented on TEZ-2237:
-------------------------------------
I've attached two more patches - noopexample_2237 - which essentially
reproduces this hang.
Run with hadoop tez-examples.jar noop 3 3 ScatterGather 1 false | Doesn't start
one of the outputs
Run with hadoop tez-examples.jar noop 3 3 ScatterGather 1 true | Starts all
outputs.
The updated patch (TEZ-2237.test*) is just a minor modification of the original
patch - with some additional logging, which fixes the issue at least for the
example.
[~cwensel] - From looking at the logs, both outputs are not being started by
Cascading.
As an example - look for "syslog_attempt_1427324000018_1908_1_51_000033_0" in
the logs posted by Cyrille.
This has two outputs, but only one instance of an output being started (as
logged by Cascading. I believe cascading always logs when it starts an output)
{code}
2015-03-31 12:27:37,730 INFO [TezChild] element.TezGroupGate: calling
OrderedPartitionedKVOutput#start() on:
GroupBy(_pipe_332+_pipe_333)[by:[{1}:'key']] DEF94DA9BECF4A5BA6C85388B1EAAD41
{code}
This is vertex AF538C3C515642AD98D7283120D61548 - which has two
OrderedParitionedKVOutputs, two UnorderedKVInputs. Not starting one of them and
Tez generating an empty event list causes the next vertex to hang (which reads
the Output via OrderedGroupedKVInput - assuming a ScatterGather edge).
Note: this is all from application_1427324000018_1908.red.txt.
> Complex DAG freezes and fails (was BufferTooSmallException raised in
> UnorderedPartitionedKVWriter then DAG lingers)
> -------------------------------------------------------------------------------------------------------------------
>
> Key: TEZ-2237
> URL: https://issues.apache.org/jira/browse/TEZ-2237
> Project: Apache Tez
> Issue Type: Bug
> Affects Versions: 0.6.0
> Environment: Debian Linux "jessie"
> OpenJDK Runtime Environment (build 1.8.0_40-internal-b27)
> OpenJDK 64-Bit Server VM (build 25.40-b25, mixed mode)
> 7 * Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz, 16/24 GB RAM per node, 1*system
> disk + 4*1 or 2 TiB HDD for HDFS & local (on-prem, dedicated hardware)
> Scalding 0.13.1 modified with https://github.com/twitter/scalding/pull/1220
> to run Cascading 3.0.0-wip-90 with TEZ 0.6.0
> Reporter: Cyrille Chépélov
> Attachments: TEZ-2237-hack.branch6.txt, TEZ-2237-hack.master.txt,
> TEZ-2237.test.2_branch0.6.txt, all_stacks.lst, alloc_mem.png,
> alloc_vcores.png, application_1427324000018_1444.yarn-logs.red.txt.gz,
> application_1427324000018_1908.red.txt.bz2,
> appmaster____syslog_dag_1427282048097_0215_1.red.txt.gz,
> appmaster____syslog_dag_1427282048097_0237_1.red.txt.gz,
> gc_count_MRAppMaster.png, mem_free.png, noopexample_2237.txt,
> ordered-grouped-kv-input-traces.diff, start_containers.png,
> stop_containers.png,
> syslog_attempt_1427282048097_0215_1_21_000014_0.red.txt.gz,
> syslog_attempt_1427282048097_0237_1_70_000028_0.red.txt.gz, yarn_rm_flips.png
>
>
> On a specific DAG with many vertices (actually part of a larger meta-DAG),
> after about a hour of processing, several BufferTooSmallException are raised
> in UnorderedPartitionedKVWriter (about one every two or three spills).
> Once these exceptions are raised, the DAG remains indefinitely "active",
> tying up memory and CPU resources as far as YARN is concerned, while little
> if any actual processing takes place.
> It seems two separate issues are at hand:
> 1. BufferTooSmallException are raised even though, small as the actually
> allocated buffers seem to be (around a couple megabytes were allotted whereas
> 100MiB were requested), the actual keys and values are never bigger than 24
> and 1024 bytes respectively.
> 2. In the event BufferTooSmallExceptions are raised, the DAG fails to stop
> (stop requests appear to be sent 7 hours after the BTSE exceptions are
> raised, but 9 hours after these stop requests, the DAG was still lingering on
> with all containers present tying up memory and CPU allocations)
> The emergence of the BTSE prevent the Cascade to complete, preventing from
> validating the results compared to traditional MR1-based results. The lack of
> conclusion renders the cluster queue unavailable.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)