Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-29890

UDFs classloading from JARs in 1.16 is broken

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 1.16.0
    • None
    • Table SQL / Runtime
    • None

    Description

      1.16 introduced 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 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)
       
      It is unclear how UDFs can be loaded from JARs in 1.16.
      Ideally, this should be covered by tests and described in the documentation.

      Attachments

        Activity

          People

            Unassigned Unassigned
            afedulov Alexander Fedulov
            Votes:
            0 Vote for this issue
            Watchers:
            10 Start watching this issue

            Dates

              Created:
              Updated: