Hi Flink Users,

We ran into java.lang.ClassCastException after moving the flink job from
session mode to application mode.


*java.lang.ClassCastException: class [B cannot be cast to class
java.lang.String ([B and java.lang.String are in module java.base of loader
'bootstrap') at
com.xyz.common.io.sink.HivePartitionedBucketAssigner.getBucketId(HivePartitionedBucketAssigner.java:35)*

Here *HivePartitionedBucketAssigner* is a template class:
class HivePartitionedBucketAssigner<T> implements BucketAssigner<T, String>


We tried disabling the invert class loading based on this doc
<https://nightlies.apache.org/flink/flink-docs-master/docs/ops/debugging/debugging_classloading/#x-cannot-be-cast-to-x-exceptions>but
it didn't help. In session-mode it works fine. So I wonder what's different
between session-mode and application mode in terms of class loading? And
what would be a solution for this situation?
Our setup:
1. Flink version: 1.12.7
2. Java: JDK 11


Thanks
Leon

Reply via email to