[ https://issues.apache.org/jira/browse/FLINK-10374?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16622213#comment-16622213 ]
Stefan Richter commented on FLINK-10374: ---------------------------------------- Thanks for creating a Jira to track this! +1 > [Map State] Let user value serializer handle null values > -------------------------------------------------------- > > Key: FLINK-10374 > URL: https://issues.apache.org/jira/browse/FLINK-10374 > Project: Flink > Issue Type: Improvement > Components: State Backends, Checkpointing > Reporter: Andrey Zagrebin > Priority: Major > Fix For: 2.0.0 > > > Prior to Flink 2.0, value serializer in map state does not rely on user > serializer to handle null value. Map serializer always prepends the > serialized value with one byte boolean flag which signals whether it is null > or not. > Map state state supports storing null user values for the following > get/contains semantics: > remove(k); contains(k) -> false; put(k, null); get(k) -> null; contains(k) -> > true; > It means that if user does not need this semantics and storing null values or > the user value serializer already supports null values, one byte will be > always wasted in the serialized value. > Rather than to hardcode null handling in map state serializer, it can be > optional and up to the user decide the behaviour. If users want to add null > support for their serializer, they could wrap it e.g. with NullableSerializer > which can do the same prepending with null flag. -- This message was sent by Atlassian JIRA (v7.6.3#76005)