[ 
https://issues.apache.org/jira/browse/FLINK-25197?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Seth Wiesman reassigned FLINK-25197:
------------------------------------

    Assignee: Galen Warren

> Using Statefun RequestReplyFunctionBuilder fails with Java 8 date/time type 
> `java.time.Duration` not supported by default: add Module 
> "org.apache.flink.shaded.jackson2.com.fasterxml.jackson.datatype:jackson-datatype-jsr310"
>  to enable handling 
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: FLINK-25197
>                 URL: https://issues.apache.org/jira/browse/FLINK-25197
>             Project: Flink
>          Issue Type: Bug
>          Components: Stateful Functions
>    Affects Versions: statefun-3.1.0
>            Reporter: Galen Warren
>            Assignee: Galen Warren
>            Priority: Major
>             Fix For: statefun-3.1.0
>
>
> When using RequestReplyFunctionBuilder to build a stateful functions job, the 
> job fails at runtime with:
> Java 8 date/time type `java.time.Duration` not supported by default: add 
> Module 
> "org.apache.flink.shaded.jackson2.com.fasterxml.jackson.datatype:jackson-datatype-jsr310"
>  to enable handling 
> It appears this is because, in 
> [RequestReplyFunctionBuilder::transportClientPropertiesAsObjectNode|https://github.com/apache/flink-statefun/blob/b4ba9547b8f0105a28544fd28a5e0433666e9023/statefun-flink/statefun-flink-datastream/src/main/java/org/apache/flink/statefun/flink/datastream/RequestReplyFunctionBuilder.java#L127],
>  a default instance of ObjectMapper is used to serialize the client 
> properties, which now include a java.time.Duration. There is a 
> [StateFunObjectMapper|https://github.com/apache/flink-statefun/blob/master/statefun-flink/statefun-flink-common/src/main/java/org/apache/flink/statefun/flink/common/json/StateFunObjectMapper.java]
>  class in the project that has customized serde support, but it is not used 
> here.
> The fix seems to be to:
>  * Use an instance of StateFunObjectMapper to serialize the client properties 
> in RequestReplyFunctionBuilder
>  * Modify StateFunObjectMapper to both serialize and deserialize instances of 
> java.time.Duration (currently, only deserialization is supported)
> I've made these changes locally and it seems to fix the problem. Would you be 
> interested in a PR? Thanks.
>  



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to