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

Andrew Or updated SPARK-2718:
-----------------------------

    Description: 
Say we have the following config:
{code}
spark.app.name spark shell with spaces and "quotes " and \ backslashes \
{code}

This works in standalone mode but not in YARN mode. This is because standalone 
mode uses Java's ProcessBuilder, which handles these cases nicely, but YARN 
mode uses org.apache.hadoop.yarn.api.records.ContainerLaunchContext, which does 
not. As a result, submitting an application to YARN with the given config leads 
to the following exception:

{code}
line 0: unexpected EOF while looking for matching `"'
syntax error: unexpected end of file
        at org.apache.hadoop.util.Shell.runCommand(Shell.java:505)
        at org.apache.hadoop.util.Shell.run(Shell.java:418)
        at 
org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:650)
        at 
org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor.launchContainer(DefaultContainerExecutor.java:195)
        at 
org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:300)
        at 
org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:81)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:744)
{code}

  was:
Say we have the following config:
{code}
spark.app.name spark shell with spaces and "quotes " and \ backslashes \
{code}

This works in standalone mode but not in YARN mode. This is because standalone 
mode uses Java's ProcessBuilder, which handles these cases nicely, but YARN 
mode uses org.apache.hadoop.yarn.api.records.ContainerLaunchContext, which does 
not. As a result, submitting an application to YARN with the given config leads 
to the following exception:

{code}
line 0: unexpected EOF while looking for matching `"'
syntax error: unexpected end of file

        at org.apache.hadoop.util.Shell.runCommand(Shell.java:505)
        at org.apache.hadoop.util.Shell.run(Shell.java:418)
        at 
org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:650)
        at 
org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor.launchContainer(DefaultContainerExecutor.java:195)
        at 
org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:300)
        at 
org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:81)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:744)
{code}


> YARN does not handle spark configs with quotes or backslashes
> -------------------------------------------------------------
>
>                 Key: SPARK-2718
>                 URL: https://issues.apache.org/jira/browse/SPARK-2718
>             Project: Spark
>          Issue Type: Bug
>          Components: YARN
>    Affects Versions: 1.0.2
>            Reporter: Andrew Or
>             Fix For: 1.1.0
>
>
> Say we have the following config:
> {code}
> spark.app.name spark shell with spaces and "quotes " and \ backslashes \
> {code}
> This works in standalone mode but not in YARN mode. This is because 
> standalone mode uses Java's ProcessBuilder, which handles these cases nicely, 
> but YARN mode uses org.apache.hadoop.yarn.api.records.ContainerLaunchContext, 
> which does not. As a result, submitting an application to YARN with the given 
> config leads to the following exception:
> {code}
> line 0: unexpected EOF while looking for matching `"'
> syntax error: unexpected end of file
>       at org.apache.hadoop.util.Shell.runCommand(Shell.java:505)
>       at org.apache.hadoop.util.Shell.run(Shell.java:418)
>       at 
> org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:650)
>       at 
> org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor.launchContainer(DefaultContainerExecutor.java:195)
>       at 
> org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:300)
>       at 
> org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:81)
>       at java.util.concurrent.FutureTask.run(FutureTask.java:262)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>       at java.lang.Thread.run(Thread.java:744)
> {code}



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to