[ 
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)

Reply via email to