Skip to content

Comments

[lake/flink] Fix lake tiering doesn't work in flink 2.2#2657

Merged
wuchong merged 2 commits intoapache:mainfrom
luoyuxia:fix-2.2
Feb 12, 2026
Merged

[lake/flink] Fix lake tiering doesn't work in flink 2.2#2657
wuchong merged 2 commits intoapache:mainfrom
luoyuxia:fix-2.2

Conversation

@luoyuxia
Copy link
Contributor

@luoyuxia luoyuxia commented Feb 12, 2026

Purpose

Linked issue: close #2658

Brief change log

implements createSerializer(org.apache.flink.api.common.serialization.SerializerConfig)

Tests

API and Format

Documentation

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates Fluss’s Flink tiering integration to remain compatible across Flink versions (notably Flink 2.2), primarily by adapting TypeInformation#createSerializer to Flink’s newer SerializerConfig-based signature and by adjusting IT test class structure to run per supported Flink version.

Changes:

  • Update several TypeInformation implementations to support createSerializer(SerializerConfig) while retaining older ExecutionConfig entrypoints.
  • Make the shared TieringITCase abstract and add version-specific concrete ITCase subclasses (1.18/1.19/1.20/2.2) to ensure test discovery/execution per module.
  • Add a Flink 1.18-only SerializerConfig placeholder type to avoid linkage issues when running shaded common code on Flink 1.18.

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
fluss-flink/fluss-flink-common/src/test/java/org/apache/fluss/flink/tiering/TieringITCase.java Make base tiering IT case abstract so it can be inherited by per-version concrete test classes.
fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/tiering/source/TableBucketWriteResultTypeInfo.java Add createSerializer(SerializerConfig) to align with newer Flink API while keeping legacy path.
fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/tiering/committer/CommittableMessageTypeInfo.java Same serializer-signature compatibility update for committer messages.
fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/sink/shuffle/StatisticsOrRecordTypeInformation.java Add createSerializer(SerializerConfig) alongside deprecated ExecutionConfig serializer creation.
fluss-flink/fluss-flink-2.2/src/test/java/org/apache/fluss/flink/tiering/Flink22TieringITCase.java New Flink 2.2 concrete tiering IT test entrypoint.
fluss-flink/fluss-flink-1.20/src/test/java/org/apache/fluss/flink/tiering/Flink20TieringITCase.java New Flink 1.20 concrete tiering IT test entrypoint.
fluss-flink/fluss-flink-1.19/src/test/java/org/apache/fluss/flink/tiering/Flink19TieringITCase.java New Flink 1.19 concrete tiering IT test entrypoint.
fluss-flink/fluss-flink-1.18/src/test/java/org/apache/fluss/flink/tiering/Flink18TieringITCase.java New Flink 1.18 concrete tiering IT test entrypoint.
fluss-flink/fluss-flink-1.18/src/main/java/org/apache/flink/api/common/serialization/SerializerConfig.java Add Flink 1.18 placeholder SerializerConfig to prevent classloading/linkage issues.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Member

@wuchong wuchong left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suggest to introduce a TypeInformationAdapter that handles createSerializer for different flink versions, rather than relying on overriding the SerializerConfig class.

@luoyuxia
Copy link
Contributor Author

I suggest to introduce a TypeInformationAdapter that handles createSerializer for different flink versions, rather than relying on overriding the SerializerConfig class.

Thanks for the suggestion. Working on it.

@wuchong wuchong merged commit 4d05e8e into apache:main Feb 12, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

lake tiering will fail to start in flink 2.2

2 participants