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 <[email protected]> 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) {
