Skip to content
Snippets Groups Projects
Commit 6fc2740e authored by jerryshao's avatar jerryshao Committed by Marcelo Vanzin
Browse files

[SPARK-11744][LAUNCHER] Fix print version throw exception when using pyspark shell

Exception details can be seen here (https://issues.apache.org/jira/browse/SPARK-11744).

Author: jerryshao <sshao@hortonworks.com>

Closes #9721 from jerryshao/SPARK-11744.
parent 15cc36b7
No related branches found
No related tags found
No related merge requests found
...@@ -77,7 +77,7 @@ class SparkSubmitCommandBuilder extends AbstractCommandBuilder { ...@@ -77,7 +77,7 @@ class SparkSubmitCommandBuilder extends AbstractCommandBuilder {
} }
final List<String> sparkArgs; final List<String> sparkArgs;
private final boolean printHelp; private final boolean printInfo;
/** /**
* Controls whether mixing spark-submit arguments with app arguments is allowed. This is needed * Controls whether mixing spark-submit arguments with app arguments is allowed. This is needed
...@@ -88,7 +88,7 @@ class SparkSubmitCommandBuilder extends AbstractCommandBuilder { ...@@ -88,7 +88,7 @@ class SparkSubmitCommandBuilder extends AbstractCommandBuilder {
SparkSubmitCommandBuilder() { SparkSubmitCommandBuilder() {
this.sparkArgs = new ArrayList<String>(); this.sparkArgs = new ArrayList<String>();
this.printHelp = false; this.printInfo = false;
} }
SparkSubmitCommandBuilder(List<String> args) { SparkSubmitCommandBuilder(List<String> args) {
...@@ -108,14 +108,14 @@ class SparkSubmitCommandBuilder extends AbstractCommandBuilder { ...@@ -108,14 +108,14 @@ class SparkSubmitCommandBuilder extends AbstractCommandBuilder {
OptionParser parser = new OptionParser(); OptionParser parser = new OptionParser();
parser.parse(submitArgs); parser.parse(submitArgs);
this.printHelp = parser.helpRequested; this.printInfo = parser.infoRequested;
} }
@Override @Override
public List<String> buildCommand(Map<String, String> env) throws IOException { public List<String> buildCommand(Map<String, String> env) throws IOException {
if (PYSPARK_SHELL_RESOURCE.equals(appResource) && !printHelp) { if (PYSPARK_SHELL_RESOURCE.equals(appResource) && !printInfo) {
return buildPySparkShellCommand(env); return buildPySparkShellCommand(env);
} else if (SPARKR_SHELL_RESOURCE.equals(appResource) && !printHelp) { } else if (SPARKR_SHELL_RESOURCE.equals(appResource) && !printInfo) {
return buildSparkRCommand(env); return buildSparkRCommand(env);
} else { } else {
return buildSparkSubmitCommand(env); return buildSparkSubmitCommand(env);
...@@ -311,7 +311,7 @@ class SparkSubmitCommandBuilder extends AbstractCommandBuilder { ...@@ -311,7 +311,7 @@ class SparkSubmitCommandBuilder extends AbstractCommandBuilder {
private class OptionParser extends SparkSubmitOptionParser { private class OptionParser extends SparkSubmitOptionParser {
boolean helpRequested = false; boolean infoRequested = false;
@Override @Override
protected boolean handle(String opt, String value) { protected boolean handle(String opt, String value) {
...@@ -344,7 +344,10 @@ class SparkSubmitCommandBuilder extends AbstractCommandBuilder { ...@@ -344,7 +344,10 @@ class SparkSubmitCommandBuilder extends AbstractCommandBuilder {
appResource = specialClasses.get(value); appResource = specialClasses.get(value);
} }
} else if (opt.equals(HELP) || opt.equals(USAGE_ERROR)) { } else if (opt.equals(HELP) || opt.equals(USAGE_ERROR)) {
helpRequested = true; infoRequested = true;
sparkArgs.add(opt);
} else if (opt.equals(VERSION)) {
infoRequested = true;
sparkArgs.add(opt); sparkArgs.add(opt);
} else { } else {
sparkArgs.add(opt); sparkArgs.add(opt);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment