This is an automated email from the ASF dual-hosted git repository.
lzljs3620320 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-paimon.git
The following commit(s) were added to refs/heads/master by this push:
new 83049b7bd [hotfix] Do not use Thread classloader
83049b7bd is described below
commit 83049b7bd4dd772e8ecef974e42f7ad6f0ad0969
Author: Jingsong <[email protected]>
AuthorDate: Tue Jul 11 16:10:18 2023 +0800
[hotfix] Do not use Thread classloader
---
.../scala/org/apache/paimon/codegen/EqualiserCodeGenerator.scala | 2 +-
.../src/main/java/org/apache/paimon/format/FileFormat.java | 2 +-
paimon-core/src/main/java/org/apache/paimon/CoreOptions.java | 4 +---
.../src/main/java/org/apache/paimon/catalog/CatalogFactory.java | 2 +-
.../main/java/org/apache/paimon/format/FileFormatDiscover.java | 9 +++------
5 files changed, 7 insertions(+), 12 deletions(-)
diff --git
a/paimon-codegen/src/main/scala/org/apache/paimon/codegen/EqualiserCodeGenerator.scala
b/paimon-codegen/src/main/scala/org/apache/paimon/codegen/EqualiserCodeGenerator.scala
index 27da7a67a..b3c326f5d 100644
---
a/paimon-codegen/src/main/scala/org/apache/paimon/codegen/EqualiserCodeGenerator.scala
+++
b/paimon-codegen/src/main/scala/org/apache/paimon/codegen/EqualiserCodeGenerator.scala
@@ -146,7 +146,7 @@ class EqualiserCodeGenerator(fieldTypes: Array[DataType]) {
ctx.addReusableInitStatement(
s"""
|$equaliserTerm = ($equaliserTypeTerm)
- |
$generatedEqualiserTerm.newInstance(Thread.currentThread().getContextClassLoader());
+ |
$generatedEqualiserTerm.newInstance(this.getClass().getClassLoader());
|""".stripMargin)
("", s"$equaliserTerm.equals($leftFieldTerm, $rightFieldTerm)")
} else {
diff --git
a/paimon-common/src/main/java/org/apache/paimon/format/FileFormat.java
b/paimon-common/src/main/java/org/apache/paimon/format/FileFormat.java
index 2197c513f..bf7bc006f 100644
--- a/paimon-common/src/main/java/org/apache/paimon/format/FileFormat.java
+++ b/paimon-common/src/main/java/org/apache/paimon/format/FileFormat.java
@@ -89,7 +89,7 @@ public abstract class FileFormat {
/** Create a {@link FileFormat} from format identifier and format options.
*/
public static FileFormat fromIdentifier(String identifier, FormatContext
context) {
Optional<FileFormat> format =
- fromIdentifier(identifier, context,
Thread.currentThread().getContextClassLoader());
+ fromIdentifier(identifier, context,
FileFormat.class.getClassLoader());
return format.orElseGet(
() ->
fromIdentifier(identifier, context,
FileFormat.class.getClassLoader())
diff --git a/paimon-core/src/main/java/org/apache/paimon/CoreOptions.java
b/paimon-core/src/main/java/org/apache/paimon/CoreOptions.java
index 06187b8b7..f49ee2bd5 100644
--- a/paimon-core/src/main/java/org/apache/paimon/CoreOptions.java
+++ b/paimon-core/src/main/java/org/apache/paimon/CoreOptions.java
@@ -1111,9 +1111,7 @@ public class CoreOptions implements Serializable {
Class<?> clazz;
try {
- clazz =
- Class.forName(
- className, true,
Thread.currentThread().getContextClassLoader());
+ clazz = Class.forName(className, true,
this.getClass().getClassLoader());
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
}
diff --git
a/paimon-core/src/main/java/org/apache/paimon/catalog/CatalogFactory.java
b/paimon-core/src/main/java/org/apache/paimon/catalog/CatalogFactory.java
index 93fa18e7f..8a6bab4b1 100644
--- a/paimon-core/src/main/java/org/apache/paimon/catalog/CatalogFactory.java
+++ b/paimon-core/src/main/java/org/apache/paimon/catalog/CatalogFactory.java
@@ -55,7 +55,7 @@ public interface CatalogFactory extends Factory {
* default.
*/
static Catalog createCatalog(CatalogContext options) {
- return createCatalog(options,
Thread.currentThread().getContextClassLoader());
+ return createCatalog(options, CatalogFactory.class.getClassLoader());
}
static Catalog createCatalog(CatalogContext context, ClassLoader
classLoader) {
diff --git
a/paimon-core/src/main/java/org/apache/paimon/format/FileFormatDiscover.java
b/paimon-core/src/main/java/org/apache/paimon/format/FileFormatDiscover.java
index 67d0dd343..dd2a18e51 100644
--- a/paimon-core/src/main/java/org/apache/paimon/format/FileFormatDiscover.java
+++ b/paimon-core/src/main/java/org/apache/paimon/format/FileFormatDiscover.java
@@ -47,11 +47,8 @@ public interface FileFormatDiscover {
static FileFormat getFileFormat(Options options, String formatIdentifier) {
int readBatchSize = options.get(CoreOptions.READ_BATCH_SIZE);
- FileFormat fileFormat =
- FileFormat.fromIdentifier(
- formatIdentifier,
- new FormatContext(
- options.removePrefix(formatIdentifier + "."),
readBatchSize));
- return fileFormat;
+ return FileFormat.fromIdentifier(
+ formatIdentifier,
+ new FormatContext(options.removePrefix(formatIdentifier +
"."), readBatchSize));
}
}