When submitting a Python word count job to a Flink session/standalone cluster repeatedly, the meta space usage of the task manager of the Flink cluster will continuously increase (about 40MB each time). The reason is that the Beam classes are loaded with the user class loader in Flink and there are problems with the implementation of `ProcessManager`(from Beam) and `ThreadPoolCache`(from netty) which may cause the user class loader could not be garbage collected even after the job finished which causes the meta space memory leak eventually. You can refer to
FLINK-15338 for more information.
Regarding to `ProcessManager`, I have created a JIRA
BEAM-9006 to track it. Regarding to `ThreadPoolCache`, it is a Netty problem and has been fixed in NETTY#8955. Netty 4.1.35 Final has already included this fix and GRPC 1.22.0 has already dependents on Netty 4.1.35 Final. So we need to bump the version of GRPC to 1.22.0+ (currently 1.21.0).
What do you think?