Large (and growing) numbers of ODB-StoreHandler Threads


I'm not sure yet if this is a bug, however the number of OBD-StoreHandler threads seems to be growing over time.  The database JVM now has about ~500 active threads total, most of them titled OBD-StoreHandler.  What causes the creation of new OBD-StoreHandler threads?  Is there a one to one mapping between EntityManagerFactories or EntityManagers in the application?

Thanks,  Clinton Moore


Store handler threads are created on the ObjectDB server in order to process requests from clients. Every client connection (represented by EntityManager) is served by a separate StoreHandler on the server.

Please check that every created EntityManager is properly closed when not in use anymore.

In addition, you may set inactivity timeout (disabled by default) in order to release StoreHandler instances that have been alloacted to EntityManager instances that were never closed (however, handling the issue on the client side by closing unused EntityManager instances, if possible, is preferred).

ObjectDB Support