BTree 8 is not found at com.objectdb.o.JPE.d(JPE.java:91)

#1

Following error occurred after upgrading from 2.7.5_05 to 2.7.6_01
There is a separate, unexplained, license issue on this machine too, but this seems like a different issue.

com.objectdb.o._RollbackException: Failed to commit transaction: Unexpected database state: BTree 8 is not found
at com.objectdb.o.JPE.d(JPE.java:91)
at com.objectdb.o.ERR.h(ERR.java:56)
at com.objectdb.o.OBC.onObjectDBError(OBC.java:1582)
at com.objectdb.jpa.EMImpl.commit(EMImpl.java:289)
at server.database.AuDatabase.transact(database.kt:64)
at server.test.ChangeListenerTest.Should not publish same object several times(ChangeListenerTest.kt:106)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:124)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:583)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:719)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:989)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
at org.testng.TestRunner.privateRun(TestRunner.java:648)
at org.testng.TestRunner.run(TestRunner.java:505)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:455)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:450)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:415)
at org.testng.SuiteRunner.run(SuiteRunner.java:364)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:84)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1208)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1137)
at org.testng.TestNG.runSuites(TestNG.java:1049)
at org.testng.TestNG.run(TestNG.java:1017)
at org.gradle.api.internal.tasks.testing.testng.TestNGTestClassProcessor.runTests(TestNGTestClassProcessor.java:140)
at org.gradle.api.internal.tasks.testing.testng.TestNGTestClassProcessor.stop(TestNGTestClassProcessor.java:89)
at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32)
at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
at com.sun.proxy.$Proxy2.stop(Unknown Source)
at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175)
at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157)
at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
at java.lang.Thread.run(Thread.java:748)
Caused by: javax.persistence.PersistenceException: com.objectdb.o.UserException: Unexpected database state: BTree 8 is not found
at com.objectdb.o._PersistenceException.a(_PersistenceException.java:47)
at com.objectdb.o.JPE.d(JPE.java:147)
at com.objectdb.o.JPE.d(JPE.java:80)
... 55 more
Caused by: com.objectdb.o.UserException: Unexpected database state: BTree 8 is not found
at com.objectdb.o.MSG.a(MSG.java:64)
at com.objectdb.o.UTT.r(UTT.java:324)
at com.objectdb.o.UTT.g(UTT.java:210)
at com.objectdb.o.TSK.b(TSK.java:146)
at com.objectdb.o.TSK.c(TSK.java:96)
at com.objectdb.o.TSM.a(TSM.java:88)
at com.objectdb.o.MST.YA(MST.java:1421)
at com.objectdb.o.WRA.YA(WRA.java:398)
at com.objectdb.o.WSM.YA(WSM.java:186)
at com.objectdb.o.STC.e(STC.java:533)
at com.objectdb.o.SHN.F(SHN.java:563)
at com.objectdb.o.SHN.w(SHN.java:170)
at com.objectdb.o.HND.run(HND.java:134)
... 1 more
#2

This issue resolved when I deleted the old database (it was just being used in a test suite).

What is the recommended way to upgrade a production database from 2.7.5_05 to 2.7.6_01 so that this sort of error doesn't happen?
ps: that's the same machine that suddenly stopped recognizing the activation license.

#3

It shouldn't happen on ordinary upgrade, if you shut down both the server and the client and upgrade ObjectDB on both sides before starting the server and the client again.

ObjectDB Support

Reply