I am using on production ODB version 2.7.6 without big issues, but recently I tried to update it to latest version 2.8.3_05 and my server reached its limit for threads in the system because of thousands of WeakRefPurger threads. ObjectDB is creating a new ODB-WeakRefPurger thread for every DB Connection (using JDO and PersistenceManager) and not closing any of it. I've counted the DB connections during whole run of the application and it was +- the same as count of live WeakRefPurger threads.
Here is the stacktrace which is same for every WeakRefPurger thread:
Name: ODB-WeakRefPurger State: WAITING on java.lang.ref.ReferenceQueue$Lock@6069d1ca Total blocked: 0 Total waited: 1 Stack trace: java.base@15/java.lang.Object.wait(Native Method) java.base@15/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:155) java.base@15/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:176) app//com.objectdb.o.RTM$f.run(RTM.java:220)
Do u need any more information for the fix ?