[ https://issues.apache.org/jira/browse/FLINK-16408?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17178784#comment-17178784 ]
Till Rohrmann commented on FLINK-16408: --------------------------------------- Hi [~Echo Lee], Flink won't reuse class loaders across different job submissions. If you submit a job (even if it is the same user code as a previous job), then Flink will treat it as a new job for which it will create a new class loader. Differently said, if you have a class leak in your user code, then you can bring down a Flink cluster by submitting this very same job multiple times to a Flink cluster which will deplete the metaspace eventually. Consequently, I would recommend to find and resolve the class loading leak in your user code or in any user code library you are using. > Bind user code class loader to lifetime of a slot > ------------------------------------------------- > > Key: FLINK-16408 > URL: https://issues.apache.org/jira/browse/FLINK-16408 > Project: Flink > Issue Type: Improvement > Components: Runtime / Coordination > Affects Versions: 1.9.2, 1.10.0 > Reporter: Till Rohrmann > Assignee: Till Rohrmann > Priority: Critical > Labels: pull-request-available > Fix For: 1.11.0 > > Attachments: Metaspace-OOM.png > > > In order to avoid class leaks due to creating multiple user code class > loaders and loading class multiple times in a recovery case, I would suggest > to bind the lifetime of a user code class loader to the lifetime of a slot. > More precisely, the user code class loader should live at most as long as the > slot which is using it. -- This message was sent by Atlassian Jira (v8.3.4#803005)