You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kyuubi.apache.org by ch...@apache.org on 2023/01/07 16:35:57 UTC
[kyuubi] branch master updated: [KYUUBI #4115] [Authz] remove usage of `ClassTagExtensions` and make dependency `jackson-module-scala` in `provided` scope
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 beba36e85 [KYUUBI #4115] [Authz] remove usage of `ClassTagExtensions` and make dependency `jackson-module-scala` in `provided` scope
beba36e85 is described below
commit beba36e8532ef44cc51debf3769a803125cdb678
Author: liangbowen <li...@gf.com.cn>
AuthorDate: Sun Jan 8 00:35:47 2023 +0800
[KYUUBI #4115] [Authz] remove usage of `ClassTagExtensions` and make dependency `jackson-module-scala` in `provided` scope
### _Why are the changes needed?_
- to fix #4102
- remove usage of ClassTagExtensions for better compatibility to `jackson-module-scala`
- `spark-core` of Spark 3.x's core already has dependency on `com.fasterxml.jackson.module:jackson-module-scala_${scala.binary.version}`
- change the scope of `com.fasterxml.jackson.module:jackson-module-scala_${scala.binary.version}` to `provided`
### _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.apache.org/docs/latest/develop_tools/testing.html#running-tests) locally before make a pull request
Closes #4115 from bowenliang123/authz-jackson-provided.
Closes #4115
5d20eced [liangbowen] style
d4eb245a [liangbowen] Revert "ensure the earliest version of fasterxml.jackson provided in Spark 3.x"
112bb846 [liangbowen] ensure the earliest version of fasterxml.jackson provided in Spark 3.x
b4810142 [liangbowen] remove usage of ClassTagExtensions for better compatibility to `jackson-module-scala` lib
0487674b [liangbowen] change the scope of `com.fasterxml.jackson.module:jackson-module-scala_${scala.binary.version}` to `provided`
Authored-by: liangbowen <li...@gf.com.cn>
Signed-off-by: Cheng Pan <ch...@apache.org>
---
extensions/spark/kyuubi-spark-authz/pom.xml | 1 +
.../kyuubi/plugin/spark/authz/serde/package.scala | 19 +++++++++++--------
2 files changed, 12 insertions(+), 8 deletions(-)
diff --git a/extensions/spark/kyuubi-spark-authz/pom.xml b/extensions/spark/kyuubi-spark-authz/pom.xml
index 2d5c6f793..532564183 100644
--- a/extensions/spark/kyuubi-spark-authz/pom.xml
+++ b/extensions/spark/kyuubi-spark-authz/pom.xml
@@ -254,6 +254,7 @@
<dependency>
<groupId>com.fasterxml.jackson.module</groupId>
<artifactId>jackson-module-scala_${scala.binary.version}</artifactId>
+ <scope>provided</scope>
</dependency>
<dependency>
diff --git a/extensions/spark/kyuubi-spark-authz/src/main/scala/org/apache/kyuubi/plugin/spark/authz/serde/package.scala b/extensions/spark/kyuubi-spark-authz/src/main/scala/org/apache/kyuubi/plugin/spark/authz/serde/package.scala
index 50174479d..bfc719f22 100644
--- a/extensions/spark/kyuubi-spark-authz/src/main/scala/org/apache/kyuubi/plugin/spark/authz/serde/package.scala
+++ b/extensions/spark/kyuubi-spark-authz/src/main/scala/org/apache/kyuubi/plugin/spark/authz/serde/package.scala
@@ -17,26 +17,27 @@
package org.apache.kyuubi.plugin.spark.authz
+import com.fasterxml.jackson.core.`type`.TypeReference
import com.fasterxml.jackson.databind.json.JsonMapper
-import com.fasterxml.jackson.module.scala.{ClassTagExtensions, DefaultScalaModule}
+import com.fasterxml.jackson.module.scala.DefaultScalaModule
import org.apache.spark.sql.catalyst.plans.logical.LogicalPlan
import org.apache.kyuubi.plugin.spark.authz.OperationType.{OperationType, QUERY}
package object serde {
- final val mapper = JsonMapper.builder()
- .addModule(DefaultScalaModule)
- .build() :: ClassTagExtensions
+ final val mapper = JsonMapper.builder().addModule(DefaultScalaModule).build()
final lazy val DB_COMMAND_SPECS: Map[String, DatabaseCommandSpec] = {
val is = getClass.getClassLoader.getResourceAsStream("database_command_spec.json")
- mapper.readValue[Array[DatabaseCommandSpec]](is).map(e => (e.classname, e)).toMap
+ mapper.readValue(is, new TypeReference[Array[DatabaseCommandSpec]] {})
+ .map(e => (e.classname, e)).toMap
}
final lazy val TABLE_COMMAND_SPECS: Map[String, TableCommandSpec] = {
val is = getClass.getClassLoader.getResourceAsStream("table_command_spec.json")
- mapper.readValue[Array[TableCommandSpec]](is).map(e => (e.classname, e)).toMap
+ mapper.readValue(is, new TypeReference[Array[TableCommandSpec]] {})
+ .map(e => (e.classname, e)).toMap
}
def isKnownTableCommand(r: AnyRef): Boolean = {
@@ -49,12 +50,14 @@ package object serde {
final lazy val FUNCTION_COMMAND_SPECS: Map[String, FunctionCommandSpec] = {
val is = getClass.getClassLoader.getResourceAsStream("function_command_spec.json")
- mapper.readValue[Array[FunctionCommandSpec]](is).map(e => (e.classname, e)).toMap
+ mapper.readValue(is, new TypeReference[Array[FunctionCommandSpec]] {})
+ .map(e => (e.classname, e)).toMap
}
final private lazy val SCAN_SPECS: Map[String, ScanSpec] = {
val is = getClass.getClassLoader.getResourceAsStream("scan_command_spec.json")
- mapper.readValue[Array[ScanSpec]](is).map(e => (e.classname, e)).toMap
+ mapper.readValue(is, new TypeReference[Array[ScanSpec]] {})
+ .map(e => (e.classname, e)).toMap
}
def isKnownScan(r: AnyRef): Boolean = {