物理机关机,之后重新启动,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
什么原因怎么解决
上周(最糟糕的一个星期五 ;-))我们的 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/
你的答案