I just wanted to check in on this, is there any interest in a PR to fix
this issue? Looking at the master branch, it still looks to be a problem.
Thanks.

On Mon, Dec 6, 2021 at 9:52 AM Galen Warren (Jira) <j...@apache.org> wrote:

> Galen Warren created FLINK-25197:
> ------------------------------------
>
>              Summary: 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
>              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 StateFunObjecdtMapper 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