squito commented on a change in pull request #23337: [SPARK-26019][PYSPARK]
Allow insecure py4j gateways
URL: https://github.com/apache/spark/pull/23337#discussion_r242603382
##########
File path: python/pyspark/tests.py
##########
@@ -2381,6 +2382,34 @@ def test_startTime(self):
with SparkContext() as sc:
self.assertGreater(sc.startTime, 0)
+ def test_forbid_insecure_gateway(self):
+ # By default, we fail immediately if you try to create a SparkContext
+ # with an insecure gateway
+ gateway = _launch_gateway(insecure=True)
+ with self.assertRaises(Exception) as context:
+ SparkContext(gateway=gateway)
+ self.assertIn("insecure py4j gateway", context.exception.message)
+ self.assertIn("spark.python.allowInsecurePy4j",
context.exception.message)
+ self.assertIn("removed in Spark 3.0", context.exception.message)
+
+ def test_allow_insecure_gateway_with_conf(self):
+ with SparkContext._lock:
+ SparkContext._gateway = None
+ SparkContext._jvm = None
Review comment:
I don't think that's really answering my question. I don't have a problem
calling start & stop, I'm wondering why `SparkContext._gateway` and
`SparkContext._jvm` don't get reset in `sc.stop()`. This means that if you
have multiple spark contexts in one python session (as we do in our tests),
they all reuse the same gateway:
https://github.com/apache/spark/blob/4d693ac904d89b3afeba107eb0480120daf78174/python/pyspark/context.py#L300-L302
for normal use of spark, that's not a problem; but it seems like it would be
a problem (a) in our tests and (b) for systems like zeppelin, that might have
multiple spark contexts over the lifetime of the python session (I assume,
anyway ...)
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]