Skip to content

Not compatible with Flink 1.18 and 1.19 (java.lang.NoSuchFieldError: MATERIALIZED_TABLE)Β #2032

@wuchong

Description

@wuchong

Search before asking

  • I searched in the issues and found nothing similar.

Fluss version

0.8.0 (latest release)

Please describe the bug 🐞

Using Flink 1.19.3 and Fluss 0.8.0, putting fluss jar under FLINK/lib

➜  lib ll
total 603768
-rw-r--r--@ 1 wuchong  staff   194K  6 13 01:50 flink-cep-1.19.3.jar
-rw-r--r--@ 1 wuchong  staff   546K  6 13 01:52 flink-connector-files-1.19.3.jar
-rw-r--r--@ 1 wuchong  staff   100K  6 13 01:53 flink-csv-1.19.3.jar
-rw-r--r--@ 1 wuchong  staff   120M  6 13 01:56 flink-dist-1.19.3.jar
-rw-r--r--@ 1 wuchong  staff   199K  6 13 01:53 flink-json-1.19.3.jar
-rw-r--r--@ 1 wuchong  staff    20M  6 13 01:56 flink-scala_2.12-1.19.3.jar
-rw-r--r--@ 1 wuchong  staff    15M  6 13 01:56 flink-table-api-java-uber-1.19.3.jar
-rw-r--r--@ 1 wuchong  staff    37M  6 13 01:56 flink-table-planner-loader-1.19.3.jar
-rw-r--r--@ 1 wuchong  staff   3.4M  6 13 01:50 flink-table-runtime-1.19.3.jar
-rw-r--r--@ 1 wuchong  staff    65M 11 26 19:08 fluss-flink-1.19-0.8.0-incubating.jar
-rw-r--r--@ 1 wuchong  staff   7.8K 11 26 19:24 fluss-flink-tiering-0.8.0-incubating.jar
-rw-r--r--@ 1 wuchong  staff    32M 11 26 19:08 fluss-fs-hdfs-0.8.0-incubating.jar
-rw-r--r--@ 1 wuchong  staff   203K  3  4  2025 log4j-1.2-api-2.17.1.jar
-rw-r--r--@ 1 wuchong  staff   295K  3  4  2025 log4j-api-2.17.1.jar
-rw-r--r--@ 1 wuchong  staff   1.7M  3  4  2025 log4j-core-2.17.1.jar
-rw-r--r--@ 1 wuchong  staff    24K  3  4  2025 log4j-slf4j-impl-2.17.1.jar

Run in Flink SQL CLI to create a fluss table throws following exception

java.lang.NoSuchFieldError: MATERIALIZED_TABLE
        at org.apache.fluss.flink.utils.FlinkConversions.toFlussTable(FlinkConversions.java:233) ~[fluss-flink-1.19-0.8.0-incubating.jar:0.8.0-incubating]
        at org.apache.fluss.flink.catalog.FlinkCatalog.createTable(FlinkCatalog.java:399) ~[fluss-flink-1.19-0.8.0-incubating.jar:0.8.0-incubating]
        at org.apache.flink.table.catalog.CatalogManager.lambda$createTable$18(CatalogManager.java:961) ~[flink-table-api-java-uber-1.19.3.jar:1.19.3]
        at org.apache.flink.table.catalog.CatalogManager.execute(CatalogManager.java:1294) ~[flink-table-api-java-uber-1.19.3.jar:1.19.3]
        at org.apache.flink.table.catalog.CatalogManager.createTable(CatalogManager.java:950) ~[flink-table-api-java-uber-1.19.3.jar:1.19.3]

Solution

We should use adapter to wrap incompatible interface/methods instead of overriding interfaces.

Are you willing to submit a PR?

  • I'm willing to submit a PR!

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions