diff --git a/hudi-flink/src/main/java/org/apache/hudi/sink/StreamWriteOperatorCoordinator.java b/hudi-flink/src/main/java/org/apache/hudi/sink/StreamWriteOperatorCoordinator.java
index c1b56b95ff427..d72eb12066b23 100644
--- a/hudi-flink/src/main/java/org/apache/hudi/sink/StreamWriteOperatorCoordinator.java
+++ b/hudi-flink/src/main/java/org/apache/hudi/sink/StreamWriteOperatorCoordinator.java
@@ -377,6 +377,9 @@ private void handleEndInputEvent(WriteMetadataEvent event) {
if (allEventsReceived()) {
// start to commit the instant.
commitInstant(this.instant);
+ // The executor thread inherits the classloader of the #handleEventFromOperator
+ // caller, which is a AppClassLoader.
+ Thread.currentThread().setContextClassLoader(getClass().getClassLoader());
// sync Hive if is enabled in batch mode.
syncHiveIfEnabled();
}
diff --git a/packaging/hudi-flink-bundle/pom.xml b/packaging/hudi-flink-bundle/pom.xml
index 443eb42cd3a08..a2f91491ef1b0 100644
--- a/packaging/hudi-flink-bundle/pom.xml
+++ b/packaging/hudi-flink-bundle/pom.xml
@@ -227,6 +227,10 @@
com.esotericsoftware.kryo.
${flink.bundle.shade.prefix}com.esotericsoftware.kryo.
+
+ com.fasterxml.jackson.
+ ${flink.bundle.shade.prefix}com.fasterxml.jackson.
+