简体   繁体   中英

Database schema is different - Exception in OrientDB - Baasbox

I am getting the following exception on starting up baasbox (it has embedded orientdb).

This exception happens when I connect to the database using console.sh/connect:plocal and then run a few select queries, but doesn't happen the first time I startup baasbox.

Any help is appreciated. Orientdb version: 1.7.10

com.orientechnologies.orient.core.exception.OConfigurationException: Database schema is different. Please export your old database with the previous version of OrientDB and reimport it using the current one.
  at com.orientechnologies.orient.core.metadata.schema.OSchemaShared.fromStream(OSchemaShared.java:800) ~[orientdb-core-1.7.10.jar:1.7.10]
  at com.orientechnologies.orient.core.type.ODocumentWrapperNoClass.reload(ODocumentWrapperNoClass.java:70) ~[orientdb-core-1.7.10.jar:1.7.10]
  at com.orientechnologies.orient.core.metadata.schema.OSchemaShared.load(OSchemaShared.java:921) ~[orientdb-core-1.7.10.jar:1.7.10]
  at com.orientechnologies.orient.core.metadata.OMetadataDefault$1.call(OMetadataDefault.java:115) ~[orientdb-core-1.7.10.jar:1.7.10]
  at com.orientechnologies.orient.core.metadata.OMetadataDefault$1.call(OMetadataDefault.java:110) ~[orientdb-core-1.7.10.jar:1.7.10]
  at com.orientechnologies.common.concur.resource.OSharedContainerImpl.getResource(OSharedContainerImpl.java:53) ~[orient-commons-1.7.10.jar:1.7.10]
Wrapped by: com.orientechnologies.common.exception.OException: Error on creation of shared resource
  at com.orientechnologies.common.concur.resource.OSharedContainerImpl.getResource(OSharedContainerImpl.java:55) ~[orient-commons-1.7.10.jar:1.7.10]
  at com.orientechnologies.orient.core.metadata.OMetadataDefault.init(OMetadataDefault.java:110) ~[orientdb-core-1.7.10.jar:1.7.10]
  at com.orientechnologies.orient.core.metadata.OMetadataDefault.load(OMetadataDefault.java:68) ~[orientdb-core-1.7.10.jar:1.7.10]
  at com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.open(ODatabaseRecordAbstract.java:291) ~[orientdb-core-1.7.10.jar:1.7.10]
  at com.orientechnologies.orient.core.db.ODatabaseWrapperAbstract.open(ODatabaseWrapperAbstract.java:49) ~[orientdb-core-1.7.10.jar:1.7.10]
  at com.baasbox.db.DbHelper.open(DbHelper.java:353) ~[classes/:na]
  at com.baasbox.Global.onStart(Global.java:169) ~[classes/:na]
  at play.core.j.JavaGlobalSettingsAdapter.onStart(JavaGlobalSettingsAdapter.scala:18) [play_2.10.jar:2.2.4]
  at play.api.GlobalPlugin.onStart(GlobalSettings.scala:203) [play_2.10.jar:2.2.4]
  at play.api.Play$$anonfun$start$1$$anonfun$apply$mcV$sp$1.apply(Play.scala:88) [play_2.10.jar:2.2.4]
  at play.api.Play$$anonfun$start$1$$anonfun$apply$mcV$sp$1.apply(Play.scala:88) [play_2.10.jar:2.2.4]
  at scala.collection.immutable.List.foreach(List.scala:318) [scala-library.jar:na]
  at play.api.Play$$anonfun$start$1.apply$mcV$sp(Play.scala:88) [play_2.10.jar:2.2.4]
  at play.api.Play$$anonfun$start$1.apply(Play.scala:88) [play_2.10.jar:2.2.4]
  at play.api.Play$$anonfun$start$1.apply(Play.scala:88) [play_2.10.jar:2.2.4]
  at play.utils.Threads$.withContextClassLoader(Threads.scala:18) [play_2.10.jar:2.2.4]
  at play.api.Play$.start(Play.scala:87) [play_2.10.jar:2.2.4]
  at play.core.ReloadableApplication$$anonfun$get$1$$anonfun$apply$1$$anonfun$1.apply(ApplicationProvider.scala:139) [play_2.10.jar:2.2.4]
  at play.core.ReloadableApplication$$anonfun$get$1$$anonfun$apply$1$$anonfun$1.apply(ApplicationProvider.scala:112) [play_2.10.jar:2.2.4]
  at scala.Option.map(Option.scala:145) [scala-library.jar:na]
  at play.core.ReloadableApplication$$anonfun$get$1$$anonfun$apply$1.apply(ApplicationProvider.scala:112) [play_2.10.jar:2.2.4]
  at play.core.ReloadableApplication$$anonfun$get$1$$anonfun$apply$1.apply(ApplicationProvider.scala:110) [play_2.10.jar:2.2.4]
  at scala.util.Success.flatMap(Try.scala:200) [scala-library.jar:na]
  at play.core.ReloadableApplication$$anonfun$get$1.apply(ApplicationProvider.scala:110) [play_2.10.jar:2.2.4]
  at play.core.ReloadableApplication$$anonfun$get$1.apply(ApplicationProvider.scala:102) [play_2.10.jar:2.2.4]
  at scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24) [scala-library.jar:na]
  at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24) [scala-library.jar:na]
  at scala.concurrent.forkjoin.ForkJoinTask$AdaptedRunnableAction.exec(ForkJoinTask.java:1361) [scala-library.jar:na]
  at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) [scala-library.jar:na]
  at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) [scala-library.jar:na]
  at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) [scala-library.jar:na]
  at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) [scala-library.jar:na]

I got this reply from the baasbox team:

When you use console.sh (the OrientDB console tool), be sure the BaasBox is not running, otherwise you can have data corruption. However now it is clear that the error occurs after you have accessed the db via the console using a different version of the ODB tool.

I was using a different version of Orientdb tool (console.sh v2.0) than the orientdb version 1.7.10 used in baasbox. This caused the corruption and may have messed up the DB schema.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM