wangbing505 commented on issue #12456:
URL: https://github.com/apache/seatunnel/issues/12456#issuecomment-5889482372

   @DanielLeens  I have already provided the Create and Release classloader 
logs for a specific job above.
   I submitted a test job to the cluster with the ID 23199974236576. 
   master log message
   `2026-09-29 19:09:58,840 INFO  [.c.c.DefaultClassLoaderService] 
[qtp1434741143-95] - Create classloader for job 23199974236576 with jars 
[file:/opt/seatunnel/connectors/connector-mongodb-2.3.12.odeon-2.12.15.jar]
   2026-09-29 19:09:58,840 INFO  [.c.c.DefaultClassLoaderService] 
[qtp1434741143-95] - Create classloader for job 23199974236576 with jars 
[file:/opt/seatunnel/connectors/connector-hive-2.3.12.odeon-2.12.15.jar]
   2026-09-29 19:09:58,979 INFO  [.c.c.DefaultClassLoaderService] 
[qtp1434741143-95] - Release classloader for job 23199974236576 with jars 
[file:/opt/seatunnel/connectors/connector-mongodb-2.3.12.odeon-2.12.15.jar]
   2026-09-29 19:09:58,992 INFO  [.c.c.DefaultClassLoaderService] 
[qtp1434741143-95] - Release classloader for job 23199974236576 with jars 
[file:/opt/seatunnel/connectors/connector-hive-2.3.12.odeon-2.12.15.jar]
   2026-09-29 19:09:59,036 INFO  [.c.c.DefaultClassLoaderService] 
[seatunnel-coordinator-service-8] - Create classloader for job 23199974236576 
with jars 
[file:/opt/seatunnel/connectors/connector-mongodb-2.3.12.odeon-2.12.15.jar]
   2026-09-29 19:09:59,036 INFO  [.c.c.DefaultClassLoaderService] 
[seatunnel-coordinator-service-8] - Create classloader for job 23199974236576 
with jars []
   2026-09-29 19:09:59,036 INFO  [.c.c.DefaultClassLoaderService] 
[seatunnel-coordinator-service-8] - Create classloader for job 23199974236576 
with jars 
[file:/opt/seatunnel/connectors/connector-hive-2.3.12.odeon-2.12.15.jar]
   2026-09-29 19:10:00,701 INFO  [.c.c.DefaultClassLoaderService] 
[seatunnel-coordinator-service-8] - Release classloader for job 23199974236576 
with jars 
[file:/opt/seatunnel/connectors/connector-mongodb-2.3.12.odeon-2.12.15.jar]
   2026-09-29 19:10:00,712 INFO  [.c.c.DefaultClassLoaderService] 
[seatunnel-coordinator-service-8] - Release classloader for job 23199974236576 
with jars []
   2026-09-29 19:10:00,720 INFO  [.c.c.DefaultClassLoaderService] 
[seatunnel-coordinator-service-8] - Release classloader for job 23199974236576 
with jars 
[file:/opt/seatunnel/connectors/connector-hive-2.3.12.odeon-2.12.15.jar]
   2026-09-29 19:10:00,729 INFO  [.c.c.DefaultClassLoaderService] 
[seatunnel-coordinator-service-8] - recycle classloader for thread process 
reaper`
   
   worker log 
   `2026-09-29 19:10:01,173 INFO  [.c.c.DefaultClassLoaderService] 
[hz.main.generic-operation.thread-45] - Create classloader for job 
23199974236576 with jars 
[file:/opt/seatunnel/connectors/connector-mongodb-2.3.12.odeon-2.12.15.jar]
   2026-09-29 19:10:01,369 INFO  [.c.c.DefaultClassLoaderService] 
[hz.main.generic-operation.thread-47] - Create classloader for job 
23199974236576 with jars 
[file:/opt/seatunnel/connectors/connector-hive-2.3.12.odeon-2.12.15.jar]
   2026-09-29 19:23:59,169 INFO  [.c.c.DefaultClassLoaderService] 
[BlockingWorker-TaskGroupLocation{jobId=23199974236576, pipelineId=1, 
taskGroupId=3}] - Release classloader for job 23199974236576 with jars 
[file:/opt/seatunnel/connectors/connector-mongodb-2.3.12.odeon-2.12.15.jar]
   2026-09-29 19:23:59,173 INFO  [.c.c.DefaultClassLoaderService] 
[BlockingWorker-TaskGroupLocation{jobId=23199974236576, pipelineId=1, 
taskGroupId=3}] - recycle classloader for thread 
cluster-rtt-ClusterId{value='6abb9d0d9fa4f95b6f42db53', 
description='null'}-172.30.41.3:27420
   2026-09-29 19:23:59,173 INFO  [.c.c.DefaultClassLoaderService] 
[BlockingWorker-TaskGroupLocation{jobId=23199974236576, pipelineId=1, 
taskGroupId=3}] - recycle classloader for thread 
cluster-ClusterId{value='6abb9d0d9fa4f95b6f42db53', 
description='null'}-172.30.41.2:27420
   2026-09-29 19:23:59,173 INFO  [.c.c.DefaultClassLoaderService] 
[BlockingWorker-TaskGroupLocation{jobId=23199974236576, pipelineId=1, 
taskGroupId=3}] - recycle classloader for thread MaintenanceTimer-5-thread-1
   2026-09-29 19:23:59,173 INFO  [.c.c.DefaultClassLoaderService] 
[BlockingWorker-TaskGroupLocation{jobId=23199974236576, pipelineId=1, 
taskGroupId=3}] - recycle classloader for thread 
cluster-rtt-ClusterId{value='6abb9d0d9fa4f95b6f42db53', 
description='null'}-172.30.41.4:27420
   2026-09-29 19:23:59,173 INFO  [.c.c.DefaultClassLoaderService] 
[BlockingWorker-TaskGroupLocation{jobId=23199974236576, pipelineId=1, 
taskGroupId=3}] - recycle classloader for thread 
hz.main.seaTunnel.task.thread-14
   2026-09-29 19:23:59,173 INFO  [.c.c.DefaultClassLoaderService] 
[BlockingWorker-TaskGroupLocation{jobId=23199974236576, pipelineId=1, 
taskGroupId=3}] - recycle classloader for thread MaintenanceTimer-6-thread-1
   2026-09-29 19:23:59,173 INFO  [.c.c.DefaultClassLoaderService] 
[BlockingWorker-TaskGroupLocation{jobId=23199974236576, pipelineId=1, 
taskGroupId=3}] - recycle classloader for thread 
cluster-rtt-ClusterId{value='6abb9d0d9fa4f95b6f42db53', 
description='null'}-172.30.41.2:27420
   2026-09-29 19:23:59,173 INFO  [.c.c.DefaultClassLoaderService] 
[BlockingWorker-TaskGroupLocation{jobId=23199974236576, pipelineId=1, 
taskGroupId=3}] - recycle classloader for thread BufferPoolPruner-1-thread-1
   2026-09-29 19:23:59,173 INFO  [.c.c.DefaultClassLoaderService] 
[BlockingWorker-TaskGroupLocation{jobId=23199974236576, pipelineId=1, 
taskGroupId=3}] - recycle classloader for thread 
cluster-ClusterId{value='6abb9d0d9fa4f95b6f42db53', 
description='null'}-172.30.41.3:27420
   2026-09-29 19:23:59,173 INFO  [.c.c.DefaultClassLoaderService] 
[BlockingWorker-TaskGroupLocation{jobId=23199974236576, pipelineId=1, 
taskGroupId=3}] - recycle classloader for thread 
cluster-ClusterId{value='6abb9d0d9fa4f95b6f42db53', 
description='null'}-172.30.41.4:27420
   2026-09-29 19:23:59,173 INFO  [.c.c.DefaultClassLoaderService] 
[BlockingWorker-TaskGroupLocation{jobId=23199974236576, pipelineId=1, 
taskGroupId=3}] - recycle classloader for thread 
BlockingWorker-TaskGroupLocation{jobId=23199974236576, pipelineId=1, 
taskGroupId=3}
   2026-09-29 19:23:59,174 INFO  [.c.c.DefaultClassLoaderService] 
[BlockingWorker-TaskGroupLocation{jobId=23199974236576, pipelineId=1, 
taskGroupId=3}] - Release classloader for job 23199974236576 with jars 
[file:/opt/seatunnel/connectors/connector-hive-2.3.12.odeon-2.12.15.jar]
   2026-09-29 19:23:59,176 INFO  [.c.c.DefaultClassLoaderService] 
[BlockingWorker-TaskGroupLocation{jobId=23199974236576, pipelineId=1, 
taskGroupId=3}] - recycle classloader for thread ResponseProcessor for block 
BP-1405345564-172.30.41.51-1706777605594:blk_1119256020_45533959
   2026-09-29 19:23:59,176 INFO  [.c.c.DefaultClassLoaderService] 
[BlockingWorker-TaskGroupLocation{jobId=23199974236576, pipelineId=1, 
taskGroupId=3}] - recycle classloader for thread DataStreamer for file 
/tmp/seatunnel/seatunnel/23199974236576/77aaf92c3e/T_23199974236576_77aaf92c3e_0_1/pdate=2026-09-28/T_23199974236576_77aaf92c3e_0_1.snappy.parquet
 block BP-1405345564-172.30.41.51-1706777605594:blk_1119256020_45533959
   2026-09-29 19:23:59,176 INFO  [.c.c.DefaultClassLoaderService] 
[BlockingWorker-TaskGroupLocation{jobId=23199974236576, pipelineId=1, 
taskGroupId=3}] - recycle classloader for thread 
hz.main.seaTunnel.task.thread-15
   2026-09-29 19:23:59,176 INFO  [.c.c.DefaultClassLoaderService] 
[BlockingWorker-TaskGroupLocation{jobId=23199974236576, pipelineId=1, 
taskGroupId=3}] - recycle classloader for thread LeaseRenewer:hueuser@ns-dev260
   2026-09-29 19:23:59,176 INFO  [.c.c.DefaultClassLoaderService] 
[BlockingWorker-TaskGroupLocation{jobId=23199974236576, pipelineId=1, 
taskGroupId=3}] - recycle classloader for thread 
hz.main.seaTunnel.task.thread-11
   2026-09-29 19:23:59,176 INFO  [.c.c.DefaultClassLoaderService] 
[BlockingWorker-TaskGroupLocation{jobId=23199974236576, pipelineId=1, 
taskGroupId=3}] - Cleared 1 Hadoop ReflectionUtils cache entries for released 
classloader`
   
   <img width="2962" height="612" alt="Image" 
src="https://github.com/user-attachments/assets/32de6f0c-21b0-42ba-8bf7-702074d0a8e4";
 />
   
   <img width="2984" height="1332" alt="Image" 
src="https://github.com/user-attachments/assets/50a2f6ff-9278-4e02-9084-da7ff797f23e";
 />
   
   While the job was running, I could see that the classLoaderCache size was 1 
using the following command:
   
   [arthas@10]$ vmtool --action getInstances --className 
org.apache.seatunnel.engine.core.classloader.DefaultClassLoaderService 
--express 'instances[0].classLoaderCache.size()'
   @Integer[1]
   
   The details were as follows:
   
   [arthas@10]$ vmtool --action getInstances --className 
org.apache.seatunnel.engine.core.classloader.DefaultClassLoaderService 
--express 'instances[0].classLoaderCache'
   @ConcurrentHashMap[
       @Long[23199974236576]:@ConcurrentHashMap[isEmpty=false;size=2],
   ]
   [arthas@10]$
   
   [arthas@10]$ vmtool --action getInstances --className 
org.apache.seatunnel.engine.core.classloader.DefaultClassLoaderService 
--express 'instances[0].classLoaderCache.values().iterator().next().keySet()'
   @KeySetView[
       
@String[file:/opt/seatunnel/connectors/connector-mongodb-2.3.12.odeon-2.12.15.jar],
       
@String[file:/opt/seatunnel/connectors/connector-hive-2.3.12.odeon-2.12.15.jar],
   ]
   [arthas@10]$
   
   [arthas@10]$ vmtool --action getInstances --className 
org.apache.seatunnel.engine.core.classloader.DefaultClassLoaderService 
--express 'instances[0].classLoaderCache.values().iterator().next().values()'
   @ValuesView[
       
@SeaTunnelChildFirstClassLoader[org.apache.seatunnel.engine.common.loader.SeaTunnelChildFirstClassLoader@54061fb7],
       
@SeaTunnelChildFirstClassLoader[org.apache.seatunnel.engine.common.loader.SeaTunnelChildFirstClassLoader@686faa75],
   ]
   
   Then, after the job finished, we can see that the classLoaderCache size 
successfully dropped back to 0:
   
   [arthas@10]$ vmtool --action getInstances --className 
org.apache.seatunnel.engine.core.classloader.DefaultClassLoaderService 
--express 'instances[0].classLoaderCache.size()'
   @Integer[0]
   
   <img width="2938" height="1170" alt="Image" 
src="https://github.com/user-attachments/assets/a1cbfb41-760b-43c9-b95e-f5d4eb04a41c";
 />
   
   This confirms that, for this job, the entry in classLoaderCache was 
successfully removed after the job completed.
   
   mat 
   I also took a heap dump at this point, then analyzed it using MAT.
   first
   
   <img width="1422" height="790" alt="Image" 
src="https://github.com/user-attachments/assets/6a75b842-92f0-43b0-b96b-223706ea0d8e";
 />
   
   second
   
   <img width="1325" height="411" alt="Image" 
src="https://github.com/user-attachments/assets/98cb9383-2080-43b9-ab89-1a913d6a197e";
 />
   
   and @SEZ9 After the job finishes, the numberOfInstances of 
SeaTunnelChildFirstClassLoader does not decrease; it remains at 4. Can’t you 
see the image in my comment above?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to