[ 
https://issues.apache.org/jira/browse/FLINK-6764?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16031116#comment-16031116
 ] 

ASF GitHub Bot commented on FLINK-6764:
---------------------------------------

Github user StefanRRichter commented on a diff in the pull request:

    https://github.com/apache/flink/pull/4026#discussion_r119348073
  
    --- Diff: 
flink-core/src/test/java/org/apache/flink/api/java/typeutils/runtime/PojoSerializerTest.java
 ---
    @@ -606,6 +665,45 @@ public void 
testSerializerSerializationFailureResilience() throws Exception {
                
verifyPojoSerializerConfigSnapshotWithEmptyNestedSerializers(config, 
deserializedConfig);
        }
     
    +   @SuppressWarnings("unchecked")
    +   @Test
    +   public void testNonDuplicatedStatelessSerializersInConfigSnapshot() 
throws IOException {
    +           PojoSerializer<TestUserClassWithSameFieldTypes> pojoSerializer 
= (PojoSerializer<TestUserClassWithSameFieldTypes>)
    +                   
TypeExtractor.getForClass(TestUserClassWithSameFieldTypes.class).createSerializer(new
 ExecutionConfig());
    +
    +           // snapshot configuration and serialize to bytes
    +           
PojoSerializer.PojoSerializerConfigSnapshot<TestUserClassWithSameFieldTypes> 
config = pojoSerializer.snapshotConfiguration();
    +           byte[] serializedConfig;
    +           try (
    +                   ByteArrayOutputStream out = new 
ByteArrayOutputStream()) {
    --- End diff --
    
    You could use Flink's `ByteArrayOutputStreamWithPos`, which can be more 
efficient because it does not use `synchronized` and you can access the write 
position and the internal array to immediately write it to the stream instead 
of creating a copy in the `out.toByteArray()` part.


> Deduplicate stateless TypeSerializers when serializing composite 
> TypeSerializers
> --------------------------------------------------------------------------------
>
>                 Key: FLINK-6764
>                 URL: https://issues.apache.org/jira/browse/FLINK-6764
>             Project: Flink
>          Issue Type: Improvement
>          Components: Type Serialization System
>    Affects Versions: 1.3.0, 1.4.0
>            Reporter: Till Rohrmann
>            Assignee: Tzu-Li (Gordon) Tai
>
> Composite type serializer, such as the {{PojoSerializer}}, could be improved 
> by deduplicating stateless {{TypeSerializer}} when being serialized. This 
> would decrease their serialization size.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to