aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBjorn Jonsson <bjornjon@gmail.com>2016-03-13 10:18:24 +0000
committerSean Owen <sowen@cloudera.com>2016-03-13 10:18:24 +0000
commit515e4afbc7ec957609451ea75772d6ef1b914908 (patch)
tree0a7bbfab0f9c21396e12f51e77c8cc67022ba91a
parentdb88d0204e3a9a05dbe6e67e1abb942639c50a06 (diff)
downloadspark-515e4afbc7ec957609451ea75772d6ef1b914908.tar.gz
spark-515e4afbc7ec957609451ea75772d6ef1b914908.tar.bz2
spark-515e4afbc7ec957609451ea75772d6ef1b914908.zip
[SPARK-13810][CORE] Add Port Configuration Suggestions on Bind Exceptions
## What changes were proposed in this pull request? Currently, when a java.net.BindException is thrown, it displays the following message: java.net.BindException: Address already in use: Service '$serviceName' failed after 16 retries! This change adds port configuration suggestions to the BindException, for example, for the UI, it now displays java.net.BindException: Address already in use: Service 'SparkUI' failed after 16 retries! Consider explicitly setting the appropriate port for 'SparkUI' (for example spark.ui.port for SparkUI) to an available port or increasing spark.port.maxRetries. ## How was this patch tested? Manual tests Author: Bjorn Jonsson <bjornjon@gmail.com> Closes #11644 from bjornjon/master.
-rw-r--r--core/src/main/scala/org/apache/spark/util/Utils.scala6
1 files changed, 4 insertions, 2 deletions
diff --git a/core/src/main/scala/org/apache/spark/util/Utils.scala b/core/src/main/scala/org/apache/spark/util/Utils.scala
index 9688cca4f0..b4c4951371 100644
--- a/core/src/main/scala/org/apache/spark/util/Utils.scala
+++ b/core/src/main/scala/org/apache/spark/util/Utils.scala
@@ -2014,8 +2014,10 @@ private[spark] object Utils extends Logging {
} catch {
case e: Exception if isBindCollision(e) =>
if (offset >= maxRetries) {
- val exceptionMessage =
- s"${e.getMessage}: Service$serviceString failed after $maxRetries retries!"
+ val exceptionMessage = s"${e.getMessage}: Service$serviceString failed after " +
+ s"$maxRetries retries! Consider explicitly setting the appropriate port for the " +
+ s"service$serviceString (for example spark.ui.port for SparkUI) to an available " +
+ "port or increasing spark.port.maxRetries."
val exception = new BindException(exceptionMessage)
// restore original stack trace
exception.setStackTrace(e.getStackTrace)