[ https://issues.apache.org/jira/browse/FLINK-30387?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17686335#comment-17686335 ]
Gen Luo commented on FLINK-30387: --------------------------------- As you said we can use the flink user classloader, there can be a user defined singleton class in the user jar, which is for sure loaded by the user classloader, and put the shared objects in this class. I suppose that is enough for this purpose if i'm not missing anything. > support job singleton within TM > ------------------------------- > > Key: FLINK-30387 > URL: https://issues.apache.org/jira/browse/FLINK-30387 > Project: Flink > Issue Type: New Feature > Components: API / Core > Reporter: James Z.M. Gao > Priority: Major > > For better managing some shared objects between slots of the same job, such > as thread pool, db connections, cache data, etc., we need the ability to > create these objects once for each job at the beginning, then to release the > bounded resource when the job finished some how with correct order. A simple > static filed cannot always archive this when the class is loaded by the TM > classloader. > To implement this job level singleton, we can use the flink user classloader. > Since each flink job has its own context class loader, we could add some > methods to operate the user CL to create a user specify AutoCloseable object > only once for each job and close it at last in release hook of the user CL. -- This message was sent by Atlassian Jira (v8.20.10#820010)