[ https://issues.apache.org/jira/browse/SPARK-24446?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Marcelo Vanzin updated SPARK-24446: ----------------------------------- Description: When YARN runs the application's main command, it does it like this: {code} bash -c "<your command goes here>" {code} The way Spark injects the library path into that command makes it look like this: {code} bash -c "LD_LIBRARY_PATH="/foo:/bar:/baz:$LD_LIBRARY_PATH" <rest of the command>" {code} So that works kinda out of luck, because the concatenation of the strings creates a proper final command... except if you have something like a space or an ampersand in the library path, in which case all containers will fail with a cryptic message like the following: {noformat} WARN cluster.YarnSchedulerBackend$YarnSchedulerEndpoint: Executor for container container_1475411358336_0010_01_000002 exited because of a YARN event (e.g., pre-emption) and not because of an error in the running job. {noformat} And no useful log output. was: When YARN runs the application's main command, it does it like this: {code} bash -c "<your command goes here>" {code} The way Spark injects the library path into that command makes it look like this: {code} bash -c "LD_LIBRARY_PATH="/foo:/bar:/baz:$LD_LIBRARY_PATH" <rest of the command>" {code} So that works kinda out of luck, because the concatenation of the strings creates a proper final command... except if you have something like a space of an ampersand in the library path, in which case all containers will fail with a cryptic message like the following: {noformat} WARN cluster.YarnSchedulerBackend$YarnSchedulerEndpoint: Executor for container container_1475411358336_0010_01_000002 exited because of a YARN event (e.g., pre-emption) and not because of an error in the running job. {noformat} And no useful log output. > Library path with special characters breaks Spark on YARN > --------------------------------------------------------- > > Key: SPARK-24446 > URL: https://issues.apache.org/jira/browse/SPARK-24446 > Project: Spark > Issue Type: Bug > Components: YARN > Affects Versions: 2.3.0 > Reporter: Marcelo Vanzin > Priority: Minor > > When YARN runs the application's main command, it does it like this: > {code} > bash -c "<your command goes here>" > {code} > The way Spark injects the library path into that command makes it look like > this: > {code} > bash -c "LD_LIBRARY_PATH="/foo:/bar:/baz:$LD_LIBRARY_PATH" <rest of the > command>" > {code} > So that works kinda out of luck, because the concatenation of the strings > creates a proper final command... except if you have something like a space > or an ampersand in the library path, in which case all containers will fail > with a cryptic message like the following: > {noformat} > WARN cluster.YarnSchedulerBackend$YarnSchedulerEndpoint: Executor for > container container_1475411358336_0010_01_000002 exited because of a YARN > event (e.g., pre-emption) and not because of an error in the running job. > {noformat} > And no useful log output. -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org For additional commands, e-mail: issues-h...@spark.apache.org