Github user huaxingao commented on a diff in the pull request:

    https://github.com/apache/spark/pull/22295#discussion_r218237306
  
    --- Diff: python/pyspark/sql/session.py ---
    @@ -231,6 +231,7 @@ def __init__(self, sparkContext, jsparkSession=None):
                     or SparkSession._instantiatedSession._sc._jsc is None:
                 SparkSession._instantiatedSession = self
                 self._jvm.SparkSession.setDefaultSession(self._jsparkSession)
    +            self._jvm.SparkSession.setActiveSession(self._jsparkSession)
    --- End diff --
    
    Thanks you very much for your comments. 
    I have a question here. In stop() method, shall we clear the activeSession 
too? Currently, it has
    ```
        def stop(self):
            """Stop the underlying :class:`SparkContext`.
            """
            self._jvm.SparkSession.clearDefaultSession()
            SparkSession._instantiatedSession = None
    ```
    Do I need to add the following?
    ```
          self._jvm.SparkSession.clearActiveSession()
    ```
    To test for getActiveSession when there is no active session, I am thinking 
of adding
    ```
        def test_get_active_session_when_no_active_session(self):
            spark = SparkSession.builder \
                .master("local") \
                .getOrCreate()
            spark.stop()
            active = spark.getActiveSession()
            self.assertEqual(active, None)
    ```
    The test didn't pass because in stop(), the active session is not cleared. 



---

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to