Debugging a class loaded by a ClassLoader created by a user will cause the class to be referenced by JNI global, and the ClassLoader cannot be uninstalled. Repeating this operation for many times will eventually cause MetaSpace overflow.
The fllow image shows TenantClassLoader is referenced by JNI Global(logwire.products.crm.action.customer.ChangeCustomerOwnerUserAction), Why the ClassLoader is referenced by a Class JNI Global, and how to uninstall the ClassLoader?
enter image description here
I try to break debug when recreate TenantClassLoader, but the old TenantClassLoader still not uninstalled.
kyle wang is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.