diff --git a/src/main/scala/com/microsoft/hyperspace/Hyperspace.scala b/src/main/scala/com/microsoft/hyperspace/Hyperspace.scala index afd34dc03..a481368bd 100644 --- a/src/main/scala/com/microsoft/hyperspace/Hyperspace.scala +++ b/src/main/scala/com/microsoft/hyperspace/Hyperspace.scala @@ -16,6 +16,7 @@ package com.microsoft.hyperspace +import org.apache.spark.internal.Logging import org.apache.spark.sql.{DataFrame, SparkSession} import com.microsoft.hyperspace.index._ @@ -24,7 +25,7 @@ import com.microsoft.hyperspace.index.plananalysis.PlanAnalyzer import com.microsoft.hyperspace.index.sources.FileBasedSourceProviderManager class Hyperspace(spark: SparkSession) { - private val indexManager: IndexManager = Hyperspace.getContext(spark).indexCollectionManager + private def indexManager: IndexManager = Hyperspace.getContext(spark).indexCollectionManager /** * Collect all the index metadata. @@ -165,7 +166,7 @@ class Hyperspace(spark: SparkSession) { } } -object Hyperspace extends ActiveSparkSession { +object Hyperspace extends ActiveSparkSession with Logging { private lazy val context = new ThreadLocal[HyperspaceContext] private[hyperspace] def getContext(spark: SparkSession): HyperspaceContext = { @@ -175,6 +176,10 @@ object Hyperspace extends ActiveSparkSession { // the one HyperspaceContext is using because Hyperspace depends on the // session's properties such as configs, etc. context.set(new HyperspaceContext(spark)) + if (!ctx.spark.equals(spark)) { + logWarning("Accessed Hyperspace using different Spark Session. " + + "Hyperspace context is newly created.") + } } context.get()