diff --git a/extensions/spark/kyuubi-spark-authz/src/main/scala/org/apache/kyuubi/plugin/spark/authz/ranger/SparkRangerAdminPlugin.scala b/extensions/spark/kyuubi-spark-authz/src/main/scala/org/apache/kyuubi/plugin/spark/authz/ranger/SparkRangerAdminPlugin.scala index 9abb9cd28..d3059ef2d 100644 --- a/extensions/spark/kyuubi-spark-authz/src/main/scala/org/apache/kyuubi/plugin/spark/authz/ranger/SparkRangerAdminPlugin.scala +++ b/extensions/spark/kyuubi-spark-authz/src/main/scala/org/apache/kyuubi/plugin/spark/authz/ranger/SparkRangerAdminPlugin.scala @@ -26,7 +26,6 @@ import org.apache.ranger.plugin.service.RangerBasePlugin import org.slf4j.LoggerFactory import org.apache.kyuubi.plugin.spark.authz.AccessControlException -import org.apache.kyuubi.plugin.spark.authz.util.AuthZUtils._ import org.apache.kyuubi.plugin.spark.authz.util.RangerConfigProvider object SparkRangerAdminPlugin extends RangerBasePlugin("spark", "sparkSql") @@ -109,11 +108,8 @@ object SparkRangerAdminPlugin extends RangerBasePlugin("spark", "sparkSql") } else if (result.getMaskTypeDef != null) { result.getMaskTypeDef.getName match { case "MASK" => regexp_replace(col) - case "MASK_SHOW_FIRST_4" if isSparkV31OrGreater => - regexp_replace(col, hasLen = true) case "MASK_SHOW_FIRST_4" => - val right = regexp_replace(s"substr($col, 5)") - s"concat(substr($col, 0, 4), $right)" + regexp_replace(col, hasLen = true) case "MASK_SHOW_LAST_4" => val left = regexp_replace(s"left($col, length($col) - 4)") s"concat($left, right($col, 4))" diff --git a/extensions/spark/kyuubi-spark-authz/src/main/scala/org/apache/kyuubi/plugin/spark/authz/util/AuthZUtils.scala b/extensions/spark/kyuubi-spark-authz/src/main/scala/org/apache/kyuubi/plugin/spark/authz/util/AuthZUtils.scala index 4f7cbb9ef..e95ff91ed 100644 --- a/extensions/spark/kyuubi-spark-authz/src/main/scala/org/apache/kyuubi/plugin/spark/authz/util/AuthZUtils.scala +++ b/extensions/spark/kyuubi-spark-authz/src/main/scala/org/apache/kyuubi/plugin/spark/authz/util/AuthZUtils.scala @@ -61,7 +61,7 @@ private[authz] object AuthZUtils { def hasResolvedPermanentView(plan: LogicalPlan): Boolean = { plan match { - case view: View if view.resolved && isSparkV31OrGreater => + case view: View if view.resolved => !getField[Boolean](view, "isTempView") case _ => false @@ -84,7 +84,6 @@ private[authz] object AuthZUtils { } lazy val SPARK_RUNTIME_VERSION: SemanticVersion = SemanticVersion(SPARK_VERSION) - lazy val isSparkV31OrGreater: Boolean = SPARK_RUNTIME_VERSION >= "3.1" lazy val isSparkV32OrGreater: Boolean = SPARK_RUNTIME_VERSION >= "3.2" lazy val isSparkV33OrGreater: Boolean = SPARK_RUNTIME_VERSION >= "3.3"