diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/CodeGenerator.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/CodeGenerator.scala index 15d68b0f9234..52f3541c8962 100644 --- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/CodeGenerator.scala +++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/CodeGenerator.scala @@ -44,9 +44,10 @@ import org.apache.spark.sql.catalyst.util.DateTimeConstants.NANOS_PER_MILLIS import org.apache.spark.sql.errors.QueryExecutionErrors import org.apache.spark.sql.internal.SQLConf import org.apache.spark.sql.types._ +import org.apache.spark.sql.util.NonFateSharingCache import org.apache.spark.unsafe.Platform import org.apache.spark.unsafe.types._ -import org.apache.spark.util.{LongAccumulator, NonFateSharingCache, ParentClassLoader, Utils} +import org.apache.spark.util.{LongAccumulator, ParentClassLoader, Utils} /** * Java source for evaluating an [[Expression]] given a [[InternalRow]] of input. diff --git a/core/src/main/scala/org/apache/spark/util/NonFateSharingCache.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/util/NonFateSharingCache.scala similarity index 97% rename from core/src/main/scala/org/apache/spark/util/NonFateSharingCache.scala rename to sql/catalyst/src/main/scala/org/apache/spark/sql/util/NonFateSharingCache.scala index d9847313304a..c0b7adadfbc6 100644 --- a/core/src/main/scala/org/apache/spark/util/NonFateSharingCache.scala +++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/util/NonFateSharingCache.scala @@ -15,13 +15,15 @@ * limitations under the License. */ -package org.apache.spark.util +package org.apache.spark.sql.util import java.util.concurrent.Callable import com.google.common.cache.Cache import com.google.common.cache.LoadingCache +import org.apache.spark.util.KeyLock + /** * SPARK-43300: Guava cache fate-sharing behavior might lead to unexpected cascade failure: * when multiple threads access the same key in the cache at the same time when the key is not in diff --git a/core/src/test/scala/org/apache/spark/util/NonFateSharingCacheSuite.scala b/sql/catalyst/src/test/scala/org/apache/spark/sql/util/NonFateSharingCacheSuite.scala similarity index 98% rename from core/src/test/scala/org/apache/spark/util/NonFateSharingCacheSuite.scala rename to sql/catalyst/src/test/scala/org/apache/spark/sql/util/NonFateSharingCacheSuite.scala index b1780e81b2c1..e97bce166966 100644 --- a/core/src/test/scala/org/apache/spark/util/NonFateSharingCacheSuite.scala +++ b/sql/catalyst/src/test/scala/org/apache/spark/sql/util/NonFateSharingCacheSuite.scala @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.spark.util; +package org.apache.spark.sql.util; import java.util.concurrent.ExecutionException import java.util.concurrent.Semaphore @@ -25,6 +25,7 @@ import com.google.common.cache.CacheBuilder import com.google.common.cache.CacheLoader import org.apache.spark.SparkFunSuite +import org.apache.spark.util.ThreadUtils object NonFateSharingCacheSuite { private val TEST_KEY = "key"