Hi,I'm using Flink 1.4.2 release.My Flink streaming job needs a way to make a singleton object available throughout the job graph which consists of Kafka Source, ProcessFunction, RichAsyncFunction, RichSinkFunction. What's the best way to achieve this?As an attempt, I have tried anchoring my object in a jar that is included as part of the TaskManager JVM class path. But it does not seem to work in the following scenario:1. When the job manager process was restarted (due to a pod failure) while my job is running2. When the job manager comes back, it attempts to restart my job, which seems a bit odd.3. But, my job kept failing with a ClassCastException where it attempts to retrieve the singleton from TaskManager class loader.2018-06-02 01:58:56,614 INFO org.apache.flink.runtime.
executiongraph.ExecutionGraph - Source: monstor -> Process -> async wait operator -> Process -> Sink: deadletter (10/12) ( 289e6ee24be520d81890dfe5a1a164 fa) switched from RUNNING to FAILED.java.lang.ClassCastException: org.monstor.flink. coordination.Coordinator cannot be cast to org.monstor.flink. coordination.Coordinatorat org.monstor.flink. coordination. CoordinatorHolder.<init>( CoordinatorHolder.java:48)at org.monstor.myjob.flink. MyAsyncWriter.open( GsiStoreAsyncWriter.java:102)at org.apache.flink.api.common. functions.util.FunctionUtils. openFunction(FunctionUtils. java:36)at org.apache.flink.streaming. api.operators. AbstractUdfStreamOperator. open( AbstractUdfStreamOperator. java:102)at org.apache.flink.streaming. api.operators.async. AsyncWaitOperator.open( AsyncWaitOperator.java:164)at org.apache.flink.streaming. runtime.tasks.StreamTask. openAllOperators(StreamTask. java:393)at org.apache.flink.streaming. runtime.tasks.StreamTask. invoke(StreamTask.java:254)at org.apache.flink.runtime. taskmanager.Task.run(Task. java:718)at java.lang.Thread.run(Thread. java:748)2018-06-02 01:58:56,614 INFO org.apache.flink.runtime. executiongraph.ExecutionGraph - Source: monstor -> Process -> async wait operator -> Process -> Sink: deadletter (2/12) ( e55b878f5c9d91a0dc557dd60b80e8 67) switched from RUNNING to CANCELING.Thanks,Connie