Error on retrieving record #31:3 (cluster: quartz_trigger) DB name="config"

無名 发表于: 2025-07-21   最后更新时间: 2025-07-21 10:14:43   52 游览

物理机关机,之后重新启动,docker容器运行nexus3一直报错起不来,错误如下:

2025-07-21 09:46:09,384+0800 ERROR [FelixStartLevel] *SYSTEM Felix - Framework listener delivery error.
com.orientechnologies.orient.core.exception.ODatabaseException: Error on retrieving record #31:3 (cluster: quartz_trigger)
    DB name="config"
    at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.executeReadRecord(ODatabaseDocumentTx.java:2046)
    at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.load(ODatabaseDocumentTx.java:656)
    at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.load(ODatabaseDocumentTx.java:103)
    at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.executeSearchRecord(OCommandExecutorSQLSelect.java:585)
    at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.serialIterator(OCommandExecutorSQLSelect.java:1638)
    at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.fetchFromTarget(OCommandExecutorSQLSelect.java:1585)
    at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.fetchValuesFromIndexCursor(OCommandExecutorSQLSelect.java:2466)
    at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.searchForIndexes(OCommandExecutorSQLSelect.java:2280)
    at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.searchInClasses(OCommandExecutorSQLSelect.java:1017)
    at com.orientechnologies.orient.core.sql.OCommandExecutorSQLResultsetAbstract.assignTarget(OCommandExecutorSQLResultsetAbstract.java:203)
    at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.assignTarget(OCommandExecutorSQLSelect.java:527)
    at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.executeSearch(OCommandExecutorSQLSelect.java:509)
    at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.execute(OCommandExecutorSQLSelect.java:485)
    at com.orientechnologies.orient.core.sql.OCommandExecutorSQLDelegate.execute(OCommandExecutorSQLDelegate.java:70)
    at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.executeCommand(OAbstractPaginatedStorage.java:3400)
    at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.command(OAbstractPaginatedStorage.java:3318)
    at com.orientechnologies.orient.core.sql.query.OSQLQuery.run(OSQLQuery.java:78)
    at com.orientechnologies.orient.core.sql.query.OSQLAsynchQuery.run(OSQLAsynchQuery.java:74)
    at com.orientechnologies.orient.core.sql.query.OSQLSynchQuery.run(OSQLSynchQuery.java:102)
    at com.orientechnologies.orient.core.query.OQueryAbstract.execute(OQueryAbstract.java:33)
    at org.sonatype.nexus.quartz.internal.orient.ReadEntityByKeyAction.execute(ReadEntityByKeyAction.java:60)
    at org.sonatype.nexus.quartz.internal.orient.TriggerEntityAdapter.readByKey(TriggerEntityAdapter.java:203)
    at org.sonatype.nexus.quartz.internal.orient.JobStoreImpl.lambda$23(JobStoreImpl.java:702)
    at org.sonatype.nexus.orient.transaction.OrientOperations.lambda$1(OrientOperations.java:55)
    at org.sonatype.nexus.transaction.OperationPoint.proceed(OperationPoint.java:64)
    at org.sonatype.nexus.transaction.TransactionalWrapper.proceedWithTransaction(TransactionalWrapper.java:58)
    at org.sonatype.nexus.transaction.Operations.proceedWithTransaction(Operations.java:237)
    at org.sonatype.nexus.transaction.Operations.transactional(Operations.java:228)
    at org.sonatype.nexus.transaction.Operations.call(Operations.java:171)
    at org.sonatype.nexus.orient.transaction.OrientOperations.call(OrientOperations.java:55)
    at org.sonatype.nexus.quartz.internal.orient.JobStoreImpl.executeRead(JobStoreImpl.java:203)
    at org.sonatype.nexus.quartz.internal.orient.JobStoreImpl.retrieveTrigger(JobStoreImpl.java:701)
    at org.quartz.core.QuartzScheduler.getTrigger(QuartzScheduler.java:1505)
    at org.quartz.impl.StdScheduler.getTrigger(StdScheduler.java:508)
    at org.sonatype.nexus.quartz.internal.QuartzSchedulerSPI.getNexusJobs(QuartzSchedulerSPI.java:807)
    at org.sonatype.nexus.quartz.internal.QuartzSchedulerSPI.forEachNexusJob(QuartzSchedulerSPI.java:234)
    at org.sonatype.nexus.quartz.internal.QuartzSchedulerSPI.reattachListeners(QuartzSchedulerSPI.java:198)
    at org.sonatype.nexus.quartz.internal.QuartzSchedulerSPI.doStart(QuartzSchedulerSPI.java:193)
    at org.sonatype.nexus.common.stateguard.StateGuardLifecycleSupport.start(StateGuardLifecycleSupport.java:69)
    at org.sonatype.nexus.common.stateguard.MethodInvocationAction.run(MethodInvocationAction.java:39)
    at org.sonatype.nexus.common.stateguard.StateGuard$TransitionImpl.run(StateGuard.java:206)
    at org.sonatype.nexus.common.stateguard.TransitionsInterceptor.invoke(TransitionsInterceptor.java:57)
    at org.sonatype.nexus.extender.NexusLifecycleManager.startComponent(NexusLifecycleManager.java:210)
    at org.sonatype.nexus.extender.NexusLifecycleManager.to(NexusLifecycleManager.java:121)
    at org.sonatype.nexus.extender.NexusContextListener.moveToPhase(NexusContextListener.java:334)
    at org.sonatype.nexus.extender.NexusContextListener.frameworkEvent(NexusContextListener.java:231)
    at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1597)
    at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
    at java.lang.Thread.run(Thread.java:750)
Caused by: java.nio.BufferUnderflowException: null
    at java.nio.DirectByteBuffer.get(DirectByteBuffer.java:270)
    at java.nio.ByteBuffer.get(ByteBuffer.java:723)
    at com.orientechnologies.orient.core.storage.impl.local.paginated.base.ODurablePage.getBinaryValue(ODurablePage.java:140)
    at com.orientechnologies.orient.core.storage.impl.local.paginated.OClusterPage.getRecordBinaryValue(OClusterPage.java:386)
    at com.orientechnologies.orient.core.storage.impl.local.paginated.OPaginatedCluster.readFullEntry(OPaginatedCluster.java:1910)
    at com.orientechnologies.orient.core.storage.impl.local.paginated.OPaginatedCluster.readRecordBuffer(OPaginatedCluster.java:779)
    at com.orientechnologies.orient.core.storage.impl.local.paginated.OPaginatedCluster.readRecord(OPaginatedCluster.java:742)
    at com.orientechnologies.orient.core.storage.impl.local.paginated.OPaginatedCluster.readRecord(OPaginatedCluster.java:721)
    at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.doReadRecord(OAbstractPaginatedStorage.java:4220)
    at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.readRecord(OAbstractPaginatedStorage.java:3807)
    at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.readRecord(OAbstractPaginatedStorage.java:1410)
    at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx$SimpleRecordReader.readRecord(ODatabaseDocumentTx.java:3395)
    at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.executeReadRecord(ODatabaseDocumentTx.java:2008)
    ... 48 common frames omitted
2025-07-21 09:46:09,427+0800 INFO  [FelixStartLevel] *SYSTEM org.sonatype.nexus.extender.NexusContextListener - Uptime: 48 seconds and 944 milliseconds (nexus-oss-edition/3.69.0.02)
2025-07-21 09:46:09,428+0800 INFO  [FelixStartLevel] *SYSTEM org.sonatype.nexus.extender.NexusLifecycleManager - Shutting down
2025-07-21 09:46:09,428+0800 INFO  [FelixStartLevel] *SYSTEM org.sonatype.nexus.extender.NexusLifecycleManager - Stop SECURITY
2025-07-21 09:46:09,430+0800 INFO  [FelixStartLevel] *SYSTEM org.sonatype.nexus.extender.NexusLifecycleManager - Stop EVENTS
2025-07-21 09:46:09,430+0800 INFO  [FelixStartLevel] *SYSTEM org.sonatype.nexus.extender.NexusLifecycleManager - Stop SCHEMAS
2025-07-21 09:46:09,433+0800 INFO  [FelixStartLevel] *SYSTEM org.sonatype.nexus.extender.NexusLifecycleManager - Stop UPGRADE
2025-07-21 09:46:09,433+0800 INFO  [FelixStartLevel] *SYSTEM org.sonatype.nexus.extender.NexusLifecycleManager - Stop RESTORE
2025-07-21 09:46:09,433+0800 INFO  [FelixStartLevel] *SYSTEM org.sonatype.nexus.extender.NexusLifecycleManager - Stop STORAGE

什么原因怎么解决

发表于 2025-07-21
添加评论

上周(最糟糕的一个星期五 ;-))我们的 Nexus Repository Manager 服务发生了一起非常严重的事故,影响了我们产品的发布生命周期。不幸的是,我们的 NFS 服务器出现了问题,导致 Nexus Docker 出现以下几个损坏问题:

2019-09-05 19:38:17,321+0000 ERROR [FelixStartLevel] *SYSTEM com.orientechnologies.orient.core.storage.impl.local.paginated.OLocalPaginatedStorage - $ANSI{green {db=config}} Error on creating record in cluster: plocal cluster: quartz_trigger
com.orientechnologies.orient.core.exception.OPaginatedClusterException: Error during record creation
DB name="config"
Component Name="quartz_trigger"
at com.orientechnologies.orient.core.storage.impl.local.paginated.OPaginatedCluster.createSinglePageRecord(OPaginatedCluster.java:687)
at com.orientechnologies.orient.core.storage.impl.local.paginated.OPaginatedCluster.createDataRecord(OPaginatedCluster.java:564)

在搜索其他人如何解决这个问题时,大多数人都放弃了特定的定向数据库表:config.quartz_trigger。该表实际上是计划任务的持有者,因此删除并重新创建它并不是什么大问题。

连接到 orientdb 控制台。以下是连接 config db 并删除该表的命令:

java -jar /opt/sonatype/nexus/lib/support/nexus-orient-console.jar
connect plocal:/opt/sonatype/sonatype-work/nexus3/db/config/ admin admin
drop class quartz_trigger

然后修复数据库,断开连接并重新启动 Nexus。

REPAIR DATABASE component
DISCONNECT

参考来自:https://mariosk.wordpress.com/2019/09/07/how-a-nexus-repository-manager-corruption-led-to-a-mini-odyssey/

你的答案

查看nexus相关的其他问题或提一个您自己的问题