You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by ro...@apache.org on 2025/10/15 06:38:08 UTC
(flink) 01/02: [hotfix] Make CompositeSerializer factory methods public
This is an automated email from the ASF dual-hosted git repository.
roman pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink.git
commit 7a988bff9d4867b611d8a2b8d414e4264b7c285d
Author: Roman Khachatryan <kh...@gmail.com>
AuthorDate: Tue Sep 30 00:22:36 2025 +0200
[hotfix] Make CompositeSerializer factory methods public
---
.../flink/api/common/typeutils/CompositeSerializer.java | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/flink-core/src/main/java/org/apache/flink/api/common/typeutils/CompositeSerializer.java b/flink-core/src/main/java/org/apache/flink/api/common/typeutils/CompositeSerializer.java
index dbcfa736763..ea07b604c7d 100644
--- a/flink-core/src/main/java/org/apache/flink/api/common/typeutils/CompositeSerializer.java
+++ b/flink-core/src/main/java/org/apache/flink/api/common/typeutils/CompositeSerializer.java
@@ -228,8 +228,15 @@ public abstract class CompositeSerializer<T> extends TypeSerializer<T> {
this.stateful = stateful;
}
- static PrecomputedParameters precompute(
+ public static PrecomputedParameters precompute(
boolean immutableTargetType, TypeSerializer<Object>[] fieldSerializers) {
+ return precompute(immutableTargetType, false, fieldSerializers);
+ }
+
+ public static PrecomputedParameters precompute(
+ boolean immutableTargetType,
+ boolean forceFieldsImmutable,
+ TypeSerializer<Object>[] fieldSerializers) {
Preconditions.checkNotNull(fieldSerializers);
int totalLength = 0;
boolean fieldsImmutable = true;
@@ -239,7 +246,7 @@ public abstract class CompositeSerializer<T> extends TypeSerializer<T> {
if (fieldSerializer != fieldSerializer.duplicate()) {
stateful = true;
}
- if (!fieldSerializer.isImmutableType()) {
+ if (!forceFieldsImmutable && !fieldSerializer.isImmutableType()) {
fieldsImmutable = false;
}
if (fieldSerializer.getLength() < 0) {