You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Marcelo Vanzin (JIRA)" <ji...@apache.org> on 2016/06/17 17:56:05 UTC

[jira] [Updated] (SPARK-16017) YarnClientSchedulerBackend now registers backends as IPs instead of Hostnames which causes all tasks to run with RACK_LOCAL locality.

     [ https://issues.apache.org/jira/browse/SPARK-16017?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Marcelo Vanzin updated SPARK-16017:
-----------------------------------
    Affects Version/s: 2.0.0
                       1.6.2
     Target Version/s: 1.6.2, 2.0.0

This is a pretty bad performance regression. [~zsxwing]

Very tempted to up it to blocker.

> YarnClientSchedulerBackend now registers backends as IPs instead of Hostnames which causes all tasks to run with RACK_LOCAL locality.
> -------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: SPARK-16017
>                 URL: https://issues.apache.org/jira/browse/SPARK-16017
>             Project: Spark
>          Issue Type: Bug
>    Affects Versions: 1.6.2, 2.0.0
>            Reporter: Trystan Leftwich
>            Priority: Critical
>
> Since this change: [SPARK-15395|https://issues.apache.org/jira/browse/SPARK-15395]
> When registering new executor backends it registers them as IPs instead of hostnames. This causes a flow on effect that when the Task manager is trying to figure out what Locality tasks should run at, no tasks can be run At the NODE_LOCAL level.
> This specific call:
> https://github.com/apache/spark/blob/branch-2.0/core/src/main/scala/org/apache/spark/scheduler/TaskSetManager.scala#L886
> [pendingTasksForHost|https://github.com/apache/spark/blob/branch-2.0/core/src/main/scala/org/apache/spark/scheduler/TaskSetManager.scala#L886]  are all hostnames pulled from the DFS locations while [hasExecutorsAliveOnHost|https://github.com/apache/spark/blob/9b234b55d1b5e4a7c80e482b3e297bfb8b583a56/core/src/main/scala/org/apache/spark/scheduler/TaskSchedulerImpl.scala#L560], uses [executorsByHost|https://github.com/apache/spark/blob/branch-2.0/core/src/main/scala/org/apache/spark/scheduler/TaskSchedulerImpl.scala#L98], which are all IP's because they are populated from the RpcAddress.
> As expected this causes significant performance problems, A simple count query will take 22 seconds, But if I revert the change from [SPARK-15395|https://issues.apache.org/jira/browse/SPARK-15395], tasks will run with NODE_LOCAL locality and the same count will take 3 seconds.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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