Database schema is different - Exception in OrientDB - Baasbox

送分小仙女□ 提交于 2019-12-12 03:25:06

问题


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]

回答1:


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.



来源:https://stackoverflow.com/questions/35385573/database-schema-is-different-exception-in-orientdb-baasbox

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!