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

Anton Ippolitov commented on SPARK-28743:
-----------------------------------------

Hi!

We are seeing the exact same issue with Spark 2.4.4. More specifically, the 
issue arises only for a handful of our Spark jobs and only when we enable 
transport encryption ({{spark.network.crypto.enabled}} set to {{true)}}. We are 
able to consistently reproduce the problem: i.e. the NodeManager OOMs every 
time we launch these particular jobs. When transport encryption is disabled, we 
don't see this issue anymore.

I have tried bumping the NodeManager's memory via {{YARN_NODEMANAGER_HEAPSIZE}} 
: I set it to 8GB, 16GB and 32GB but the NodeManager OOMs every time.

I captured a couple of thread dumps from the NodeManager and they look very 
similar to the one posted by [~yangjiandan]. (see screenshot)

Would anyone have any insight into this issue? I would be happy to provide more 
information if needed.

 

  !Screen Shot 2019-10-25 at 17.24.10.png!

 

> YarnShuffleService leads to NodeManager OOM because ChannelOutboundBuffer has 
> too many entries
> ----------------------------------------------------------------------------------------------
>
>                 Key: SPARK-28743
>                 URL: https://issues.apache.org/jira/browse/SPARK-28743
>             Project: Spark
>          Issue Type: Bug
>          Components: Shuffle
>    Affects Versions: 2.3.0
>            Reporter: Jiandan Yang 
>            Priority: Major
>         Attachments: Screen Shot 2019-10-25 at 17.24.10.png, dominator.jpg, 
> histo.jpg
>
>
> NodeManager heap size is 4G, io.netty.channel.ChannelOutboundBuffer$Entry 
> occupied about 2.8G by looking at Histogram of Mat, and those Entries were 
> hold by ChannelOutboundBuffer by looking at dominator_tree of mat. By 
> analyzing  one fo ChannelOutboundBuffer object, I found there were 248867 
> entries in the object of ChannelOutboundBuffer 
> (ChannelOutboundBuffer#flushed=248867), and  
> ChannelOutboundBuffer#totalPengdingSize=23891232 which is more than 
> highwaterMark(64K), and unwritable=1 meaning sending buffer was full.  But 
> ChannelHandler seems not check unwritable flag when write message, and 
> finally NodeManager occurs OOM.
> Histogram:
> !histo.jpg!
> dominator_tree:
> !dominator.jpg!
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org
For additional commands, e-mail: issues-h...@spark.apache.org

Reply via email to