I am getting this exception on a regular basis, after a period of time of repeating the same code execution. I don't understand why. I restart the DB server and my code works again for another period of time until same exception is encountered again. I cannot pin down a pattern e.g. after a certain period of time, because the time periods between exceptions are not regular, although frequent. Any test case I use will pass most of the time but will fail after an undetermined period.
Caused by: com.objectdb.o.UserException: Connection is closed at com.objectdb.o.MSG.d(MSG.java:74) at com.objectdb.o.CLS.Q(CLS.java:317) at com.objectdb.o.CLS.P(CLS.java:281) at com.objectdb.o.CLS.M(CLS.java:173) at com.objectdb.o.CLS.L(CLS.java:142) at com.objectdb.o.CST.<init>(CST.java:65) at com.objectdb.o.CSF.UH(CSF.java:88) at com.objectdb.o.OMF.ai(OMF.java:725) at com.objectdb.jpa.EMF.ai(EMF.java:143) at com.objectdb.o.OMF.ah(OMF.java:681) at com.objectdb.jpa.EMF.createEntityManager(EMF.java:160) ... 39 more Caused by: java.io.EOFException at com.objectdb.o.NTS.z(NTS.java:317) at com.objectdb.o.NTS.y(NTS.java:274) at com.objectdb.o.CLS.R(CLS.java:327) at com.objectdb.o.CLS.P(CLS.java:274)
It appears to happen when the database is creating an EntityManager. I have checked throughout my code to ensure that all instances of EntityManager that I create are closed immediately after use in a finally{} clause
Have I run out of connections? Or is there something obvious that I am not seeing?
I am using objectdb-2.2.6_03 on Windows XP Professional SP2 with jdk1.6.0_17
My conf is close to the default
<objectdb> <general> <temp path="$temp/ObjectDB" threshold="64mb" /> <network inactivity-timeout="0" /> <log path="$objectdb/log/" max="8mb" stdout="false" stderr="false" /> <log-archive path="$objectdb/log/archive/" retain="90" /> <logger name="*" level="info" /> </general> <database> <size initial="256kb" resize="256kb" page="2kb" /> <recovery enabled="true" sync="false" path="." max="128mb" /> <recording enabled="false" sync="false" path="." mode="write" /> <locking version-check="true" /> <processing cache="64mb" max-threads="10" /> <query-cache results="32mb" programs="500" /> </database> <entities> <enhancement agent="false" reflection="warning" /> <cache ref="weak" level2="0" /> <cascade-persist always="auto" on-persist="false" on-commit="true" /> <dirty-tracking arrays="false" /> </entities> <schema> </schema> <server> <connection port="6136" max="100" /> <data path="$objectdb/db-files" /> <!-- <replication url="objectdb://localhost/test.odb;user=admin;password=admin" /> --> </server> <users> <user username="admin" password="admin" ip="127.0.0.1" admin="true"> <dir path="/" permissions="access,modify,create,delete" /> </user> <user username="$default" password="$$$###"> <dir path="/$user/" permissions="access,modify,create,delete"> <quota directories="5" files="20" disk-space="5mb" /> </dir> </user> <user username="user1" password="user1" /> </users> <ssl enabled="false"> <server-keystore path="$objectdb/ssl/server-kstore" password="pwd" /> <client-truststore path="$objectdb/ssl/client-tstore" password="pwd" /> </ssl> </objectdb>
What could be causing my ObjectDB server to stop ?
Of course, the exception encountered is a symptom of the real problem that the server has stopped!