Skip to content

Commit

Permalink
[SPARK-25735][CORE][MINOR] Improve start-thriftserver.sh: print clean…
Browse files Browse the repository at this point in the history
… usage and exit with code 1

## What changes were proposed in this pull request?
Currently if we run
```
sh start-thriftserver.sh -h
```

we get
```
...
Thrift server options:
2018-10-15 21:45:39 INFO HiveThriftServer2:54 - Starting SparkContext
2018-10-15 21:45:40 INFO SparkContext:54 - Running Spark version 2.3.2
2018-10-15 21:45:40 WARN NativeCodeLoader:62 - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
2018-10-15 21:45:40 ERROR SparkContext:91 - Error initializing SparkContext.
org.apache.spark.SparkException: A master URL must be set in your configuration
at org.apache.spark.SparkContext.<init>(SparkContext.scala:367)
at org.apache.spark.SparkContext$.getOrCreate(SparkContext.scala:2493)
at org.apache.spark.sql.SparkSession$Builder$$anonfun$7.apply(SparkSession.scala:934)
at org.apache.spark.sql.SparkSession$Builder$$anonfun$7.apply(SparkSession.scala:925)
at scala.Option.getOrElse(Option.scala:121)
at org.apache.spark.sql.SparkSession$Builder.getOrCreate(SparkSession.scala:925)
at org.apache.spark.sql.hive.thriftserver.SparkSQLEnv$.init(SparkSQLEnv.scala:48)
at org.apache.spark.sql.hive.thriftserver.HiveThriftServer2$.main(HiveThriftServer2.scala:79)
at org.apache.spark.sql.hive.thriftserver.HiveThriftServer2.main(HiveThriftServer2.scala)
2018-10-15 21:45:40 ERROR Utils:91 - Uncaught exception in thread main
```

After fix, the usage output is clean:
```
...
Thrift server options:
--hiveconf <property=value> Use value for given property
```

Also exit with code 1, to follow other scripts(this is the behavior of parsing option `-h` for other linux commands as well).

## How was this patch tested?

Manual test.

Closes apache#22727 from gengliangwang/stsUsage.

Authored-by: Gengliang Wang <[email protected]>
Signed-off-by: Sean Owen <[email protected]>
  • Loading branch information
gengliangwang authored and srowen committed Oct 17, 2018
1 parent 1901f06 commit 24f5bbd
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 1 deletion.
6 changes: 5 additions & 1 deletion sbin/start-thriftserver.sh
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,10 @@ function usage {
pattern+="\|Spark Command: "
pattern+="\|======="
pattern+="\|--help"
pattern+="\|Using Spark's default log4j profile:"
pattern+="\|^log4j:"
pattern+="\|Started daemon with process name"
pattern+="\|Registered signal handler for"

"${SPARK_HOME}"/bin/spark-submit --help 2>&1 | grep -v Usage 1>&2
echo
Expand All @@ -48,7 +52,7 @@ function usage {

if [[ "$@" = *--help ]] || [[ "$@" = *-h ]]; then
usage
exit 0
exit 1
fi

export SUBMIT_USAGE_FUNCTION=usage
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,13 @@ object HiveThriftServer2 extends Logging {
}

def main(args: Array[String]) {
// If the arguments contains "-h" or "--help", print out the usage and exit.
if (args.contains("-h") || args.contains("--help")) {
HiveServer2.main(args)
// The following code should not be reachable. It is added to ensure the main function exits.
return
}

Utils.initDaemon(log)
val optionsProcessor = new HiveServer2.ServerOptionsProcessor("HiveThriftServer2")
optionsProcessor.parse(args)
Expand Down

0 comments on commit 24f5bbd

Please sign in to comment.