Hi everyone,

I wanted to bring some attention to this issue again. It seems that
the suggested approach to creating UDFs in
https://issues.apache.org/jira/browse/FLINK-29890 breaks when
checkpointing is enabled.
https://issues.apache.org/jira/browse/FLINK-28897 reports a very
similar issue. I've updated both tickets with comments and new code
snippets. Is there another way to load UDFs in Flink 1.16?

Code examples for reference:
https://github.com/charles-tan/udfs-flink-1.16/blob/main/src/test/java/com/example/UDFTest.java

Thanks,
Charles

On Fri, Nov 4, 2022 at 10:51 AM Alexander Fedulov <a...@deltastream.io> wrote:
>
> Hi Leonard,
>
> Sure, here is the new ticket: 
> https://issues.apache.org/jira/browse/FLINK-29890
>
> Best,
> Alexander Fedulov
>
> On Fri, Nov 4, 2022 at 2:12 PM Leonard Xu <xbjt...@gmail.com> wrote:
>>
>> Thanks Alexander for reporting this issue, Could you open a jira ticket as 
>> well?
>>
>> CC: Shengkai, please take a look this ticket, looks like an incompatibility 
>> change.
>>
>> Best,
>> Leonard
>>
>>
>>
>> 2022年11月4日 下午6:15,Alexander Fedulov <a...@deltastream.io> 写道:
>>
>> Hi everyone,
>>
>> 1.16 introduced quite a lot of changes with respect to classloading in the 
>> Table API. The way UDFs could previously be loaded from JARs in 1.15 does 
>> not work in 1.16 anymore - it fails with the ClassNotFound exception when 
>> UDFs are used at runtime.
>>
>> Here is a repository with a reproducible example:
>> https://github.com/afedulov/udfs-flink-1.16/blob/main/src/test/java/com/example/UDFTest.java
>>
>> It works as is (Flink 1.15.2) and fails when switching the dependencies to 
>> 1.16.0.
>>
>> Here are some of the PRs that, I believe, might be related to the issue:
>> https://github.com/apache/flink/pull/20001
>> https://github.com/apache/flink/pull/19845
>> https://github.com/apache/flink/pull/20211 (fixes a similar issue introduced 
>> after classloading changes in 1.16)
>>
>> How can UDF JARs be loaded in 1.16?
>>
>> Best,
>> Alexander Fedulov
>>
>>

Reply via email to