【问题标题】:OrientDB Error in transactional processing of idseq.next()idseq.next() 的事务处理中的 OrientDB 错误
【发布时间】:2017-01-10 17:18:55
【问题描述】:

在进行大量插入(超过 250,000 条记录)后,我面临以下错误:

com.orienttechnologies.orient.core.exception.ODatabaseException: 错误 在使用 rid #-1:-1 保存记录期间

在我也收到以下错误之后:

com.orienttechnologies.orient.core.exception.OSequenceException: 错误 在 idseq.next() 的事务处理中

OrientDB 日志是:

2017-01-10 18:22:27:866 INFO 从以下位置加载配置: C:/orientdb-enterprise-2.2.13_folder/config/orientdb-server-config.xml... [OServerConfigurationLoaderXml] 2017-01-10 18:22:29:054 INFO OrientDB Server v2.2.13 (build @BUILD@) 正在启动中... [OServer] 2017-01-10 18:22:29:101 INFO 数据库目录: C:\orientdb-enterprise-2.2.13_folder\databases [OServer] 2017-01-10 18:22:29:350 INFO OrientDB 自动配置 DISKCACHE=1,979MB (heap=1,979MB direct=1,979MB os=8,191MB),假设最大直接 内存大小等于最大 JVM 堆大小 [orienttechnologies] 2017-01-10 18:22:29:350 WARNI MaxDirectMemorySize JVM 选项不是 设置或具有无效值,这可能会导致内存不足错误。请 启动 JVM 时设置 -XX:MaxDirectMemorySize=8191m 选项。 [课堂] 2017-01-10 18:22:31:288 INFO Listening binary connections on 0.0.0.0:2424 (protocol v.36, socket=default) [OServerNetworkListener] 2017-01-10 18:22:31:288 INFO 监听 http 连接 0.0.0.0:2480 (protocol v.10, socket=default) [OServerNetworkListener] 2017-01-10 18:22:31:335 INFO 安装动态插件 'agent-2.2.13.jar'... [OServerPluginManager] 安装时出错 动态插件“企业代理”java.lang.ClassNotFoundException: com.orienttechnologies.agent.OEnterpriseAgent 在 java.net.URLClassLoader.findClass(URLClassLoader.java:381) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:424) 在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:357) 在 java.lang.Class.forName0(本机方法)在 java.lang.Class.forName(Class.java:264) 在 com.orientechnologies.orient.server.plugin.OServerPluginManager.startPluginClass(OServerPluginManager.java:270) 在 com.orientechnologies.orient.server.plugin.OServerPluginManager.installDynamicPlugin(OServerPluginManager.java:369) 在 com.orientechnologies.orient.server.plugin.OServerPluginManager.updatePlugin(OServerPluginManager.java:211) 在 com.orientechnologies.orient.server.plugin.OServerPluginManager.updatePlugins(OServerPluginManager.java:309) 在 com.orientechnologies.orient.server.plugin.OServerPluginManager.startup(OServerPluginManager.java:95) 在 com.orientechnologies.orient.server.OServer.registerPlugins(OServer.java:1184) 在 com.orienttechnologies.orient.server.OServer.activate(OServer.java:397) 在 com.orientechnologies.orient.server.OServerMain$1.run(OServerMain.java:46)

2017-01-10 18:22:31:350 INFO 安装动态插件 'orientdb-security-2.2.13.jar'... [OServerPluginManager] 错误 安装动态插件“安全”java.lang.ClassNotFoundException: com.orienttechnologies.security.OSecurityPlugin 在 java.net.URLClassLoader.findClass(URLClassLoader.java:381) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:424) 在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:357) 在 java.lang.Class.forName0(本机方法)在 java.lang.Class.forName(Class.java:264) 在 com.orientechnologies.orient.server.plugin.OServerPluginManager.startPluginClass(OServerPluginManager.java:270) 在 com.orientechnologies.orient.server.plugin.OServerPluginManager.installDynamicPlugin(OServerPluginManager.java:369) 在 com.orientechnologies.orient.server.plugin.OServerPluginManager.updatePlugin(OServerPluginManager.java:211) 在 com.orientechnologies.orient.server.plugin.OServerPluginManager.updatePlugins(OServerPluginManager.java:309) 在 com.orientechnologies.orient.server.plugin.OServerPluginManager.startup(OServerPluginManager.java:95) 在 com.orientechnologies.orient.server.OServer.registerPlugins(OServer.java:1184) 在 com.orienttechnologies.orient.server.OServer.activate(OServer.java:397) 在 com.orientechnologies.orient.server.OServerMain$1.run(OServerMain.java:46)

2017-01-10 18:22:31:366 INFO 安装动态插件 'orientdb-teleporter-2.2.13.jar'... [OServerPluginManager] 错误 安装动态插件'teleporter' java.lang.ClassNotFoundException: com.orienttechnologies.teleporter.main.OTeleporter 在 java.net.URLClassLoader.findClass(URLClassLoader.java:381) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:424) 在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:357) 在 java.lang.Class.forName0(本机方法)在 java.lang.Class.forName(Class.java:264) 在 com.orientechnologies.orient.server.plugin.OServerPluginManager.startPluginClass(OServerPluginManager.java:270) 在 com.orientechnologies.orient.server.plugin.OServerPluginManager.installDynamicPlugin(OServerPluginManager.java:369) 在 com.orientechnologies.orient.server.plugin.OServerPluginManager.updatePlugin(OServerPluginManager.java:211) 在 com.orientechnologies.orient.server.plugin.OServerPluginManager.updatePlugins(OServerPluginManager.java:309) 在 com.orientechnologies.orient.server.plugin.OServerPluginManager.startup(OServerPluginManager.java:95) 在 com.orientechnologies.orient.server.OServer.registerPlugins(OServer.java:1184) 在 com.orienttechnologies.orient.server.OServer.activate(OServer.java:397) 在 com.orientechnologies.orient.server.OServerMain$1.run(OServerMain.java:46)

2017-01-10 18:22:31:506 INFO 安装动态插件 'studio-2.2.zip'... [OServerPluginManager] 2017-01-10 18:22:31:631 信息 ODefaultPasswordAuthenticator 处于活动状态 [ODefaultPasswordAuthenticator] 2017-01-10 18:22:31:631 信息 OServerConfigAuthenticator 处于活动状态 [OServerConfigAuthenticator] 2017-01-10 18:22:31:647 信息 OSystemUserAuthenticator 处于活动状态 [OSystemUserAuthenticator] 2017-01-10 18:22:31:710 已安装信息 GREMLIN 语言 v.2.6.0 - graph.pool.max=50 [OGraphServerHandler] 2017-01-10 18:22:31:726 信息 [OVariableParser.resolveVariables] 错误 关于解析属性:分布式[东方科技] 2017-01-10 18:22:31:726 WARNI 经过身份验证的客户端可以执行任何类型的代码 使用以下允许的语言进入服务器:[sql] [OServerSideScriptInterpreter] 2017-01-10 18:22:31:897 警告 {db=OSystem} 存储“OSystem”未正确关闭。会尝试 从预写日志中恢复 [OLocalPaginatedStorage] 2017-01-10 18:22:31:928 INFO {db=OSystem} 正在寻找最后一个检查点... [OLocalPaginatedStorage] 2017-01-10 18:22:32:866 INFO OrientDB Studio 可在http://10.100.102.99:2480/studio/index.html [OServer] 获得 2017-01-10 18:22:32:866 INFO OrientDB 服务器处于活动状态 v2.2.13 (build @建造@)。 [OServer] 2017-01-10 18:22:32:866 INFO {db=OSystem} 找到 模糊检查点。 [OLocalPaginatedStorage] 2017-01-10 18:22:32:866 INFO {db=OSystem} 从 FUZZY 检查点恢复数据的过程是 开始了。 [OLocalPaginatedStorage] 2017-01-10 18:22:32:866 警告 {db=OSystem} 记录 com.orientechnologies.orient.core.storage.impl.local.paginated.wal.OFuzzyCheckpointEndRecord{lsn=OLogSequenceNumber{segment=0, 数据恢复时会跳过 position=862668}} [OLocalPaginatedStorage] 2017-01-10 18:22:32:866 INFO {db=OSystem} 1 操作已处理,当前 LSN 为 OLogSequenceNumber{segment=0, position=862668} 最后一个 LSN 是 OLogSequenceNumber{segment=0, position=862721} [OLocalPaginatedStorage] 2017-01-10 18:22:32:866 警告 {db=OSystem} 记录 OFuzzyCheckpointStartRecord{lsn=OLogSequenceNumber{segment=0, 位置=862675}} com.orientechnologies.orient.core.storage.impl.local.paginated.wal.OFuzzyCheckpointStartRecord{lsn=null, previousCheckpoint=OLogSequenceNumber{segment=0, position=862628}} 在数据恢复期间将被跳过 [OLocalPaginatedStorage] 2017-01-10 18:22:32:866 WARNI {db=OSystem} 记录 com.orientechnologies.orient.core.storage.impl.local.paginated.wal.OFuzzyCheckpointEndRecord{lsn=OLogSequenceNumber{segment=0, 数据恢复时会跳过 position=862715}} [OLocalPaginatedStorage] 2017-01-10 18:22:32:882 信息 {db=OSystem} 存储数据恢复完成 [OLocalPaginatedStorage] 2017-01-10 18:23:01:773 WARNI {db=folder} 存储“文件夹”未关闭 适当地。将尝试从预写日志中恢复 [OLocalPaginatedStorage] 2017-01-10 18:23:01:773 信息 {db=folder} 寻找最后一个检查点... [OLocalPaginatedStorage] 2017-01-10 18:23:01:773 INFO {db=folder} 找到模糊检查点。 [OLocalPaginatedStorage] 2017-01-10 18:23:01:773 信息 {db=folder} 开始从 FUZZY 检查点恢复数据。 [OLocalPaginatedStorage] 2017-01-10 18:23:01:773 WARNI {db=folder} 记录 com.orientechnologies.orient.core.storage.impl.local.paginated.wal.OFuzzyCheckpointEndRecord{lsn=OLogSequenceNumber{segment=905, 数据恢复时会跳过 position=81046011}} [OLocalPaginatedStorage] 2017-01-10 18:23:01:773 INFO {db=folder} 1 操作已处理,当前 LSN 为 OLogSequenceNumber{segment=905, position=81046011} 最后一个 LSN 是 OLogSequenceNumber{segment=905,位置=81046064} [OLocalPaginatedStorage] 2017-01-10 18:23:01:773 WARNI {db=folder} 记录 OFuzzyCheckpointStartRecord{lsn=OLogSequenceNumber{segment=905, 位置=81046018}} com.orientechnologies.orient.core.storage.impl.local.paginated.wal.OFuzzyCheckpointStartRecord{lsn=null, previousCheckpoint=OLogSequenceNumber{segment=905, position=81045971}} 在数据恢复期间将被跳过 [OLocalPaginatedStorage] 2017-01-10 18:23:01:773 WARNI {db=folder} 记录 com.orientechnologies.orient.core.storage.impl.local.paginated.wal.OFuzzyCheckpointEndRecord{lsn=OLogSequenceNumber{segment=905, 数据恢复时会跳过 position=81046058}} [OLocalPaginatedStorage] 2017-01-10 18:23:01:773 信息 {db=folder} 存储数据恢复完成 [OLocalPaginatedStorage]$ANSI{green {db=folder}} 更新记录 #7:6 时出错(集群:plocal 集群: 顺序) com.orienttechnologies.orient.core.exception.OPaginatedClusterException: 记录更新时出错 DB name="folder" 组件 名称=“序列”在 com.orientechnologies.orient.core.storage.impl.local.paginated.OPaginatedCluster.updateRecord(OPaginatedCluster.java:1119) 在 com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.doUpdateRecord(OAbstractPaginatedStorage.java:3067) 在 com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.commitEntry(OAbstractPaginatedStorage.java:3610) 在 com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.commit(OAbstractPaginatedStorage.java:1418) 在 com.orientechnologies.orient.core.tx.OTransactionOptimistic.doCommit(OTransactionOptimistic.java:539) 在 com.orientechnologies.orient.core.tx.OTransactionOptimistic.commit(OTransactionOptimistic.java:104) 在 com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.commit(ODatabaseDocumentTx.java:2756) 在 com.orienttechnologies.orient.core.db.document.ODatabaseDocumentTx.commit(ODatabaseDocumentTx.java:2725) 在 com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.commit(ONetworkProtocolBinary.java:1315) 在 com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.executeRequest(ONetworkProtocolBinary.java:581) 在 com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.sessionRequest(ONetworkProtocolBinary.java:322) 在 com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.execute(ONetworkProtocolBinary.java:198) 在 com.orienttechnologies.common.thread.OSoftThread.run(OSoftThread.java:77) 造成的: com.orientechnologies.orient.core.storage.impl.local.paginated.atomicoperations.ONestedRollbackException: 原子操作被内部组件回滚,异常 导致此回滚的是:java.lang.NullPointerException at com.orientechnologies.orient.core.index.sbtreebonsai.local.OSBTreeBonsaiLocal.findBucket(OSBTreeBonsaiLocal.java:1344) 在 com.orientechnologies.orient.core.index.sbtreebonsai.local.OSBTreeBonsaiLocal.put(OSBTreeBonsaiLocal.java:232) 在 com.orientechnologies.orient.core.db.record.ridbag.sbtree.OIndexRIDContainerSBTree.add(OIndexRIDContainerSBTree.java:155) 在 com.orientechnologies.orient.core.db.record.ridbag.sbtree.OIndexRIDContainerSBTree.add(OIndexRIDContainerSBTree.java:45) 在 com.orientechnologies.orient.core.db.record.ridbag.sbtree.OIndexRIDContainer.add(OIndexRIDContainer.java:157) 在 com.orientechnologies.orient.core.db.record.ridbag.sbtree.OIndexRIDContainer.add(OIndexRIDContainer.java:45) 在 com.orientechnologies.orient.core.index.OIndexMultiValues$1.call(OIndexMultiValues.java:154) 在 com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.doUpdateIndexEntry(OAbstractPaginatedStorage.java:1869) 在 com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.updateIndexEntry(OAbstractPaginatedStorage.java:1801) 在 com.orientechnologies.orient.core.index.OIndexMultiValues.put(OIndexMultiValues.java:160) 在 com.orientechnologies.orient.core.index.OIndexMultiValues.put(OIndexMultiValues.java:51) 在 com.orientechnologies.orient.core.tx.OTransactionNoTx.addIndexEntry(OTransactionNoTx.java:341) 在 com.orienttechnologies.orient.core.index.OIndexTxAware.put(OIndexTxAware.java:116) 在 com.orientechnologies.orient.core.index.OIndexTxAware.put(OIndexTxAware.java:40) 在 com.orientechnologies.orient.core.index.OClassIndexManager.putInIndex(OClassIndexManager.java:659) 在 com.orienttechnologies.orient.core.index.OClassIndexManager.addIndexEntry(OClassIndexManager.java:554) 在 com.orientechnologies.orient.core.index.OClassIndexManager.addIndexesEntries(OClassIndexManager.java:541) 在 com.orientechnologies.orient.core.index.OClassIndexManager.onRecordAfterCreate(OClassIndexManager.java:419) 在 com.orientechnologies.orient.core.hook.ODocumentHookAbstract.onTrigger(ODocumentHookAbstract.java:221) 在 com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.callbackHooks(ODatabaseDocumentTx.java:1138) 在 com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.callbackHookSuccess(ODatabaseDocumentTx.java:3134) 在 com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.executeSaveRecord(ODatabaseDocumentTx.java:2136) 在 com.orienttechnologies.orient.core.tx.OTransactionNoTx.saveNew(OTransactionNoTx.java:235) 在 com.orientechnologies.orient.core.tx.OTransactionNoTx.saveRecord(OTransactionNoTx.java:168) 在 com.orienttechnologies.orient.core.db.document.ODatabaseDocumentTx.save(ODatabaseDocumentTx.java:2623) 在 com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.save(ODatabaseDocumentTx.java:2507) 在 com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.save(ODatabaseDocumentTx.java:102) 在 com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.createRecord(ONetworkProtocolBinary.java:2737) 在 com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.createRecord(ONetworkProtocolBinary.java:1718) 在 com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.executeRequest(ONetworkProtocolBinary.java:542) 在 com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.sessionRequest(ONetworkProtocolBinary.java:322) 在 com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.execute(ONetworkProtocolBinary.java:198) 在 com.orienttechnologies.common.thread.OSoftThread.run(OSoftThread.java:77)

数据库名称="文件夹" 在 com.orientechnologies.orient.core.storage.impl.local.paginated.atomicoperations.OAtomicOperationsManager.endAtomicOperation(OAtomicOperationsManager.java:449) 在 com.orientechnologies.orient.core.storage.impl.local.paginated.atomicoperations.OAtomicOperationsManager.endAtomicOperation(OAtomicOperationsManager.java:404) 在 com.orientechnologies.orient.core.storage.impl.local.paginated.base.ODurableComponent.endAtomicOperation(ODurableComponent.java:116) 在 com.orientechnologies.orient.core.storage.impl.local.paginated.OPaginatedCluster.updateRecord(OPaginatedCluster.java:1116) ... 12 更多

【问题讨论】:

  • 可以分享代码重现吗?
  • 请升级到最新的 2.2.14。
  • @Lvca 谢谢!是否有任何已知的解决此问题的方法?
  • 不记得是哪个数字了,但是启动时插件的顺序有问题。

标签: java orientdb


【解决方案1】:

正如@Lvca 所说,升级到 OrientDB 2.2.14 解决了我的问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-17
    • 2015-05-27
    • 2021-07-13
    相关资源
    最近更新 更多