This is an automated email from the ASF dual-hosted git repository.
morningman pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new 062641e8f8 [fix](hudi) set default class loader for hudi serializer
(#20680)
062641e8f8 is described below
commit 062641e8f835e91cfe4254d6373998c2bd8cb430
Author: Ashin Gau <[email protected]>
AuthorDate: Wed Jun 14 16:02:56 2023 +0800
[fix](hudi) set default class loader for hudi serializer (#20680)
hudi serializer
`org.apache.hudi.common.util.SerializationUtils$KryoInstantiator.newKryo`
throws error like `java.lang.IllegalArgumentException: classLoader cannot be
null`. Set the default class loader for scan thread.
```
public Kryo newKryo() {
Kryo kryo = new Kryo();
...
// Thread.currentThread().getContextClassLoader() returns null
kryo.setClassLoader(Thread.currentThread().getContextClassLoader());
...
return kryo;
}
```
---
.../src/main/java/org/apache/doris/hudi/HudiJniScanner.java | 5 +++++
1 file changed, 5 insertions(+)
diff --git
a/fe/be-java-extensions/hudi-scanner/src/main/java/org/apache/doris/hudi/HudiJniScanner.java
b/fe/be-java-extensions/hudi-scanner/src/main/java/org/apache/doris/hudi/HudiJniScanner.java
index d7078dc9ca..ce86b27ad6 100644
---
a/fe/be-java-extensions/hudi-scanner/src/main/java/org/apache/doris/hudi/HudiJniScanner.java
+++
b/fe/be-java-extensions/hudi-scanner/src/main/java/org/apache/doris/hudi/HudiJniScanner.java
@@ -155,6 +155,11 @@ public class HudiJniScanner extends JniScanner {
InputFormat<?, ?> inputFormatClass =
HudiScanUtils.createInputFormat(jobConf, hudiScanParam.getInputFormat());
+ //
org.apache.hudi.common.util.SerializationUtils$KryoInstantiator.newKryo
+ // throws error like `java.lang.IllegalArgumentException: classLoader
cannot be null`.
+ // Set the default class loader
+ Thread.currentThread().setContextClassLoader(classLoader);
+
// RecordReader will use ProcessBuilder to start a hotspot process,
which may be stuck,
// so use another process to kill this stuck process.
// TODO(gaoxin): better way to solve the stuck process?
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]