This is an automated email from the ASF dual-hosted git repository.
chengpan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kyuubi.git
The following commit(s) were added to refs/heads/master by this push:
new afe137886 [KYUUBI #5638][FOLLOWUP] Remove unnecessary actionType in
uri desc
afe137886 is described below
commit afe13788625ba10e5b1a0de478a00a692a7c37d2
Author: Angerszhuuuu <[email protected]>
AuthorDate: Wed Nov 8 10:32:45 2023 +0800
[KYUUBI #5638][FOLLOWUP] Remove unnecessary actionType in uri desc
### _Why are the changes needed?_
To close #5638
Remove unnecessary actionType in uri desc
### _How was this patch tested?_
- [ ] Add some test cases that check the changes thoroughly including
negative and positive cases if possible
- [ ] Add screenshots for manual tests if appropriate
- [x] [Run
test](https://kyuubi.readthedocs.io/en/master/contributing/code/testing.html#running-tests)
locally before make a pull request
### _Was this patch authored or co-authored using generative AI tooling?_
No
Closes #5647 from AngersZhuuuu/KYUUBI-5638-FOLLOWUP.
Closes #5638
fd3c8c722 [Angerszhuuuu] Update PrivilegesBuilderSuite.scala
5a1069b02 [Angerszhuuuu] [KYUUBI #5638][FOLLOWUP] Remove unnecessary
actionType in uri desc
Authored-by: Angerszhuuuu <[email protected]>
Signed-off-by: Cheng Pan <[email protected]>
---
.../src/main/resources/scan_command_spec.json | 1 -
.../src/main/resources/table_command_spec.json | 18 ------------------
.../kyuubi/plugin/spark/authz/PrivilegeObject.scala | 6 ++----
.../kyuubi/plugin/spark/authz/PrivilegesBuilder.scala | 8 +++-----
.../kyuubi/plugin/spark/authz/serde/Descriptor.scala | 1 -
.../plugin/spark/authz/PrivilegesBuilderSuite.scala | 6 +++---
.../kyuubi/plugin/spark/authz/gen/TableCommands.scala | 12 ++----------
7 files changed, 10 insertions(+), 42 deletions(-)
diff --git
a/extensions/spark/kyuubi-spark-authz/src/main/resources/scan_command_spec.json
b/extensions/spark/kyuubi-spark-authz/src/main/resources/scan_command_spec.json
index 1fbcc9612..75510a577 100644
---
a/extensions/spark/kyuubi-spark-authz/src/main/resources/scan_command_spec.json
+++
b/extensions/spark/kyuubi-spark-authz/src/main/resources/scan_command_spec.json
@@ -27,7 +27,6 @@
"uriDescs" : [ {
"fieldName" : "relation",
"fieldExtractor" : "BaseRelationFileIndexURIExtractor",
- "actionTypeDesc" : null,
"isInput" : false
} ]
}, {
diff --git
a/extensions/spark/kyuubi-spark-authz/src/main/resources/table_command_spec.json
b/extensions/spark/kyuubi-spark-authz/src/main/resources/table_command_spec.json
index 4fc26a881..31de180bf 100644
---
a/extensions/spark/kyuubi-spark-authz/src/main/resources/table_command_spec.json
+++
b/extensions/spark/kyuubi-spark-authz/src/main/resources/table_command_spec.json
@@ -1100,11 +1100,6 @@
"uriDescs" : [ {
"fieldName" : "storage",
"fieldExtractor" : "CatalogStorageFormatURIExtractor",
- "actionTypeDesc" : {
- "fieldName" : "overwrite",
- "fieldExtractor" : "OverwriteOrInsertActionTypeExtractor",
- "actionType" : null
- },
"isInput" : false
} ]
}, {
@@ -1131,7 +1126,6 @@
"uriDescs" : [ {
"fieldName" : "path",
"fieldExtractor" : "StringURIExtractor",
- "actionTypeDesc" : null,
"isInput" : true
} ]
}, {
@@ -1357,11 +1351,6 @@
"uriDescs" : [ {
"fieldName" : "options",
"fieldExtractor" : "OptionsUriExtractor",
- "actionTypeDesc" : {
- "fieldName" : "mode",
- "fieldExtractor" : "SaveModeActionTypeExtractor",
- "actionType" : null
- },
"isInput" : false
} ]
}, {
@@ -1396,11 +1385,6 @@
"uriDescs" : [ {
"fieldName" : "storage",
"fieldExtractor" : "CatalogStorageFormatURIExtractor",
- "actionTypeDesc" : {
- "fieldName" : "overwrite",
- "fieldExtractor" : "OverwriteOrInsertActionTypeExtractor",
- "actionType" : null
- },
"isInput" : false
} ]
}, {
@@ -1674,7 +1658,6 @@
"uriDescs" : [ {
"fieldName" : "path",
"fieldExtractor" : "StringURIExtractor",
- "actionTypeDesc" : null,
"isInput" : false
} ]
}, {
@@ -1700,7 +1683,6 @@
"uriDescs" : [ {
"fieldName" : "path",
"fieldExtractor" : "StringURIExtractor",
- "actionTypeDesc" : null,
"isInput" : true
} ]
}, {
diff --git
a/extensions/spark/kyuubi-spark-authz/src/main/scala/org/apache/kyuubi/plugin/spark/authz/PrivilegeObject.scala
b/extensions/spark/kyuubi-spark-authz/src/main/scala/org/apache/kyuubi/plugin/spark/authz/PrivilegeObject.scala
index 2e391790e..228aaeb11 100644
---
a/extensions/spark/kyuubi-spark-authz/src/main/scala/org/apache/kyuubi/plugin/spark/authz/PrivilegeObject.scala
+++
b/extensions/spark/kyuubi-spark-authz/src/main/scala/org/apache/kyuubi/plugin/spark/authz/PrivilegeObject.scala
@@ -88,16 +88,14 @@ object PrivilegeObject {
) // TODO: Support catalog for function
}
- def apply(
- uri: Uri,
- actionType: PrivilegeObjectActionType): PrivilegeObject = {
+ def apply(uri: Uri): PrivilegeObject = {
val privilegeObjectType = Option(new URI(uri.path).getScheme) match {
case Some("file") => LOCAL_URI
case _ => DFS_URI
}
new PrivilegeObject(
privilegeObjectType,
- actionType,
+ PrivilegeObjectActionType.OTHER,
uri.path,
null,
Nil,
diff --git
a/extensions/spark/kyuubi-spark-authz/src/main/scala/org/apache/kyuubi/plugin/spark/authz/PrivilegesBuilder.scala
b/extensions/spark/kyuubi-spark-authz/src/main/scala/org/apache/kyuubi/plugin/spark/authz/PrivilegesBuilder.scala
index b708b7f8b..b541efc11 100644
---
a/extensions/spark/kyuubi-spark-authz/src/main/scala/org/apache/kyuubi/plugin/spark/authz/PrivilegesBuilder.scala
+++
b/extensions/spark/kyuubi-spark-authz/src/main/scala/org/apache/kyuubi/plugin/spark/authz/PrivilegesBuilder.scala
@@ -119,8 +119,7 @@ object PrivilegesBuilder {
if (tables.nonEmpty) {
tables.foreach(mergeProjection(_, scan))
} else {
- getScanSpec(scan).uris(scan).foreach(
- privilegeObjects += PrivilegeObject(_,
PrivilegeObjectActionType.OTHER))
+ getScanSpec(scan).uris(scan).foreach(privilegeObjects +=
PrivilegeObject(_))
}
case u if u.nodeName == "UnresolvedRelation" =>
@@ -204,11 +203,10 @@ object PrivilegesBuilder {
spec.uriDescs.foreach { ud =>
try {
val uris = ud.extract(plan)
- val actionType =
ud.actionTypeDesc.map(_.extract(plan)).getOrElse(OTHER)
if (ud.isInput) {
- inputObjs ++= uris.map(PrivilegeObject(_, actionType))
+ inputObjs ++= uris.map(PrivilegeObject(_))
} else {
- outputObjs ++= uris.map(PrivilegeObject(_, actionType))
+ outputObjs ++= uris.map(PrivilegeObject(_))
}
} catch {
case e: Exception =>
diff --git
a/extensions/spark/kyuubi-spark-authz/src/main/scala/org/apache/kyuubi/plugin/spark/authz/serde/Descriptor.scala
b/extensions/spark/kyuubi-spark-authz/src/main/scala/org/apache/kyuubi/plugin/spark/authz/serde/Descriptor.scala
index 5d0d77fd6..5b73e7ceb 100644
---
a/extensions/spark/kyuubi-spark-authz/src/main/scala/org/apache/kyuubi/plugin/spark/authz/serde/Descriptor.scala
+++
b/extensions/spark/kyuubi-spark-authz/src/main/scala/org/apache/kyuubi/plugin/spark/authz/serde/Descriptor.scala
@@ -317,7 +317,6 @@ case class ScanDesc(
case class UriDesc(
fieldName: String,
fieldExtractor: String,
- actionTypeDesc: Option[ActionTypeDesc] = None,
isInput: Boolean = false) extends Descriptor {
override def extract(v: AnyRef): Seq[Uri] = {
val uriVal = invokeAs[AnyRef](v, fieldName)
diff --git
a/extensions/spark/kyuubi-spark-authz/src/test/scala/org/apache/kyuubi/plugin/spark/authz/PrivilegesBuilderSuite.scala
b/extensions/spark/kyuubi-spark-authz/src/test/scala/org/apache/kyuubi/plugin/spark/authz/PrivilegesBuilderSuite.scala
index 6f0a0ae6e..5d87f91f9 100644
---
a/extensions/spark/kyuubi-spark-authz/src/test/scala/org/apache/kyuubi/plugin/spark/authz/PrivilegesBuilderSuite.scala
+++
b/extensions/spark/kyuubi-spark-authz/src/test/scala/org/apache/kyuubi/plugin/spark/authz/PrivilegesBuilderSuite.scala
@@ -1478,7 +1478,7 @@ class HiveCatalogPrivilegeBuilderSuite extends
PrivilegesBuilderSuite {
assert(out.size == 1)
val po1 = out.head
- assert(po1.actionType === PrivilegeObjectActionType.INSERT_OVERWRITE)
+ assert(po1.actionType === PrivilegeObjectActionType.OTHER)
assert(po1.privilegeObjectType === PrivilegeObjectType.DFS_URI)
assert(po1.dbname === directory.path)
assert(po1.objectName === null)
@@ -1609,7 +1609,7 @@ class HiveCatalogPrivilegeBuilderSuite extends
PrivilegesBuilderSuite {
assert(out.size == 1)
val po1 = out.head
- assert(po1.actionType === PrivilegeObjectActionType.INSERT_OVERWRITE)
+ assert(po1.actionType === PrivilegeObjectActionType.OTHER)
assert(po1.privilegeObjectType === PrivilegeObjectType.DFS_URI)
assert(po1.dbname === directory.path)
assert(po1.objectName === null)
@@ -1642,7 +1642,7 @@ class HiveCatalogPrivilegeBuilderSuite extends
PrivilegesBuilderSuite {
assert(out.size == 1)
val po1 = out.head
- assert(po1.actionType === PrivilegeObjectActionType.INSERT_OVERWRITE)
+ assert(po1.actionType === PrivilegeObjectActionType.OTHER)
assert(po1.privilegeObjectType === PrivilegeObjectType.DFS_URI)
assert(po1.dbname === directory.path)
assert(po1.objectName === null)
diff --git
a/extensions/spark/kyuubi-spark-authz/src/test/scala/org/apache/kyuubi/plugin/spark/authz/gen/TableCommands.scala
b/extensions/spark/kyuubi-spark-authz/src/test/scala/org/apache/kyuubi/plugin/spark/authz/gen/TableCommands.scala
index 3eeb5dfe0..3ccf33921 100644
---
a/extensions/spark/kyuubi-spark-authz/src/test/scala/org/apache/kyuubi/plugin/spark/authz/gen/TableCommands.scala
+++
b/extensions/spark/kyuubi-spark-authz/src/test/scala/org/apache/kyuubi/plugin/spark/authz/gen/TableCommands.scala
@@ -552,22 +552,14 @@ object TableCommands extends
CommandSpecs[TableCommandSpec] {
val InsertIntoDataSourceDir = {
val cmd =
"org.apache.spark.sql.execution.command.InsertIntoDataSourceDirCommand"
val queryDesc = queryQueryDesc
- val actionTypeDesc = overwriteActionTypeDesc
- val uriDesc = UriDesc(
- "storage",
- classOf[CatalogStorageFormatURIExtractor],
- actionTypeDesc = Some(actionTypeDesc))
+ val uriDesc = UriDesc("storage", classOf[CatalogStorageFormatURIExtractor])
TableCommandSpec(cmd, Nil, queryDescs = Seq(queryDesc), uriDescs =
Seq(uriDesc))
}
val SaveIntoDataSourceCommand = {
val cmd =
"org.apache.spark.sql.execution.datasources.SaveIntoDataSourceCommand"
val queryDesc = queryQueryDesc
- val actionTypeDesc = ActionTypeDesc("mode",
classOf[SaveModeActionTypeExtractor])
- val uriDesc = UriDesc(
- "options",
- classOf[OptionsUriExtractor],
- actionTypeDesc = Some(actionTypeDesc))
+ val uriDesc = UriDesc("options", classOf[OptionsUriExtractor])
TableCommandSpec(cmd, Nil, queryDescs = Seq(queryDesc), uriDescs =
Seq(uriDesc))
}