You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spark.apache.org by sr...@apache.org on 2016/08/21 10:51:51 UTC
spark git commit: [SPARK-17002][CORE] Document that
spark.ssl.protocol. is required for SSL
Repository: spark
Updated Branches:
refs/heads/master 7f08a60b6 -> e328f577e
[SPARK-17002][CORE] Document that spark.ssl.protocol. is required for SSL
## What changes were proposed in this pull request?
`spark.ssl.enabled`=true, but failing to set `spark.ssl.protocol` will fail and throw meaningless exception. `spark.ssl.protocol` is required when `spark.ssl.enabled`.
Improvement: require `spark.ssl.protocol` when initializing SSLContext, otherwise throws an exception to indicate that.
Remove the OrElse("default").
Document this requirement in configure.md
## How was this patch tested?
(Please explain how this patch was tested. E.g. unit tests, integration tests, manual tests)
Manual tests:
Build document and check document
Configure `spark.ssl.enabled` only, it throws exception below:
6/08/16 16:04:37 INFO SecurityManager: SecurityManager: authentication disabled; ui acls disabled; users with view permissions: Set(mwang); groups with view permissions: Set(); users with modify permissions: Set(mwang); groups with modify permissions: Set()
Exception in thread "main" java.lang.IllegalArgumentException: requirement failed: spark.ssl.protocol is required when enabling SSL connections.
at scala.Predef$.require(Predef.scala:224)
at org.apache.spark.SecurityManager.<init>(SecurityManager.scala:285)
at org.apache.spark.deploy.master.Master$.startRpcEnvAndEndpoint(Master.scala:1026)
at org.apache.spark.deploy.master.Master$.main(Master.scala:1011)
at org.apache.spark.deploy.master.Master.main(Master.scala)
Configure `spark.ssl.protocol` and `spark.ssl.protocol`
It works fine.
Author: wm624@hotmail.com <wm...@hotmail.com>
Closes #14674 from wangmiao1981/ssl.
Project: http://git-wip-us.apache.org/repos/asf/spark/repo
Commit: http://git-wip-us.apache.org/repos/asf/spark/commit/e328f577
Tree: http://git-wip-us.apache.org/repos/asf/spark/tree/e328f577
Diff: http://git-wip-us.apache.org/repos/asf/spark/diff/e328f577
Branch: refs/heads/master
Commit: e328f577e81363f6b3f892931f20dbf68f7d29cf
Parents: 7f08a60
Author: wm624@hotmail.com <wm...@hotmail.com>
Authored: Sun Aug 21 11:51:46 2016 +0100
Committer: Sean Owen <so...@cloudera.com>
Committed: Sun Aug 21 11:51:46 2016 +0100
----------------------------------------------------------------------
core/src/main/scala/org/apache/spark/SecurityManager.scala | 5 ++++-
docs/configuration.md | 3 +++
2 files changed, 7 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/spark/blob/e328f577/core/src/main/scala/org/apache/spark/SecurityManager.scala
----------------------------------------------------------------------
diff --git a/core/src/main/scala/org/apache/spark/SecurityManager.scala b/core/src/main/scala/org/apache/spark/SecurityManager.scala
index f72c7de..a6550b6 100644
--- a/core/src/main/scala/org/apache/spark/SecurityManager.scala
+++ b/core/src/main/scala/org/apache/spark/SecurityManager.scala
@@ -282,7 +282,10 @@ private[spark] class SecurityManager(sparkConf: SparkConf)
}: TrustManager
})
- val sslContext = SSLContext.getInstance(fileServerSSLOptions.protocol.getOrElse("Default"))
+ require(fileServerSSLOptions.protocol.isDefined,
+ "spark.ssl.protocol is required when enabling SSL connections.")
+
+ val sslContext = SSLContext.getInstance(fileServerSSLOptions.protocol.get)
sslContext.init(null, trustStoreManagers.getOrElse(credulousTrustStoreManagers), null)
val hostVerifier = new HostnameVerifier {
http://git-wip-us.apache.org/repos/asf/spark/blob/e328f577/docs/configuration.md
----------------------------------------------------------------------
diff --git a/docs/configuration.md b/docs/configuration.md
index 96e8c6d..4bda464 100644
--- a/docs/configuration.md
+++ b/docs/configuration.md
@@ -1472,6 +1472,9 @@ Apart from these, the following properties are also available, and may be useful
<td>
<p>Whether to enable SSL connections on all supported protocols.</p>
+ <p>When <code>spark.ssl.enabled</code> is configured, <code>spark.ssl.protocol</code>
+ is required.</p>
+
<p>All the SSL settings like <code>spark.ssl.xxx</code> where <code>xxx</code> is a
particular configuration property, denote the global configuration for all the supported
protocols. In order to override the global configuration for the particular protocol,
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@spark.apache.org
For additional commands, e-mail: commits-help@spark.apache.org