# DB migrator failing

**URL:** <https://community.sonatype.com/t/db-migrator-failing/13060>\
**Category:** Sonatype Nexus Repository\
**Tags:** docker, nexus-repository, upgrade\
**Created:** [August 14, 2024, 3:29pm UTC](https://community.sonatype.com/t/db-migrator-failing/13060 "2024-08-14T15:29:25Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![mbender](https://yyz1.discourse-cdn.com/flex047/user_avatar/community.sonatype.com/mbender/32/3577_2.png) [@mbender](https://community.sonatype.com/u/mbender)\
**Post date:** [August 14, 2024, 3:29pm UTC](https://community.sonatype.com/t/db-migrator-failing/13060/1 "2024-08-14T15:29:25Z")

</div>

I’m trying to somehow upgrade the docker-based Orient DB installation to H2 so that the latest Nexus3 image can use it. Alas, so far, I’m not having any successes. At a glance it seems the migration jar is simply broken. However, this could also be a case of Java version (I’ve tested this both with 11 and 17).

Current logs:

```auto
/nexus-data/db_bak $ java -Xmx16G -Xms16G -XX:+UseG1GC -XX:MaxDirectMemorySize=28672M -jar nexus-db-migrator-*.jar --migration_type=h2
15:25:26 [main] WARN c.s.n.d.migrator.MigratorApplication - Please ensure any Nexus Repository instance has been gracefully shut down before proceeding.
15:25:26 [main] INFO c.s.n.d.migrator.MigratorApplication - Do you want to continue [y/n]?
y
15:25:28 [main] INFO c.s.n.d.migrator.MigratorApplication - --content_migration parameter is absent. Setting it to true.
15:25:28 [main] INFO c.s.n.d.migrator.MigratorApplication - Force parameter wasn't found. Setting it to false by default.
15:25:28 [main] INFO c.s.n.d.migrator.MigratorApplication - ------------------------------------------------------------
15:25:28 [main] INFO c.s.n.d.migrator.MigratorApplication - Java version: Alpine 17.0.11
15:25:28 [main] INFO c.s.n.d.migrator.MigratorApplication - JVM arguments: -Xmx16G -Xms16G -XX:+UseG1GC -XX:MaxDirectMemorySize=28672M
15:25:28 [main] INFO c.s.n.d.migrator.MigratorApplication - Migrator arguments: --migration_type=h2 --content_migration=true --export_json=false --force=false
15:25:28 [main] INFO c.s.n.d.migrator.MigratorApplication - ------------------------------------------------------------
15:25:29 [main] INFO c.s.n.d.migrator.MigratorApplication - Starting MigratorApplication v3.70.1-03 using Java 17.0.11 on a5ba1a3aa1b9 with PID 27 (/nexus-data/db_bak/nexus-db-migrator-3.70.1-03.jar started by nexus in /nexus-data/db_bak)
15:25:29 [main] INFO c.s.n.d.migrator.MigratorApplication - No active profile set, falling back to 1 default profile: "default"
15:25:34 [main] INFO o.s.b.c.r.s.JobRepositoryFactoryBean - No database type set, using meta data indicating: H2
15:25:34 [main] INFO c.s.n.d.migrator.MigratorApplication - Started MigratorApplication in 5.572 seconds (JVM running for 9.692)
15:25:34 [main] INFO o.s.b.a.b.JobLauncherApplicationRunner - Running default command line with: [--migration_type=h2, --content_migration=true, --export_json=false, --force=false]
15:25:34 [main] INFO c.s.n.d.m.validator.PathValidator - Validating Orient directory contains .bak files: /nexus-data/db_bak
15:25:34 [main] INFO c.s.n.d.m.validator.PathValidator - Validating Orient directory does not contain database files: /nexus-data/db_bak
15:25:34 [main] INFO c.s.n.d.m.validator.PathValidator - Validating Orient directory contains .bak files: /nexus-data/db_bak
15:25:34 [main] INFO c.s.n.d.m.validator.PathValidator - Validating Orient directory does not contain database files: /nexus-data/db_bak
15:25:34 [main] INFO c.s.n.d.m.l.ProvidingJobInfoListener - Migration job started at Wed Aug 14 15:25:34 GMT 2024
15:25:34 [main] INFO o.s.batch.core.job.SimpleStepHandler - Executing step: [startHealthCheckDeciderStep]
15:25:34 [main] INFO o.s.batch.core.step.AbstractStep - Step: [startHealthCheckDeciderStep] executed in 15ms
15:25:34 [main] INFO o.s.batch.core.job.SimpleStepHandler - Executing step: [unzipArchivesStep]
15:25:34 [main] INFO c.s.n.d.m.t.UnzipArchivesTasklet - Unzipping /nexus-data/db_bak/component-2024-08-14-15-24-01-3.70.1-02.bak to /nexus-data/db_bak/component
15:25:35 [main] INFO c.s.n.d.m.t.UnzipArchivesTasklet - Unzipped /nexus-data/db_bak/component-2024-08-14-15-24-01-3.70.1-02.bak successfully
15:25:35 [main] INFO c.s.n.d.m.t.UnzipArchivesTasklet - Unzipping /nexus-data/db_bak/config-2024-08-14-15-24-01-3.70.1-02.bak to /nexus-data/db_bak/config
15:25:35 [main] INFO c.s.n.d.m.t.UnzipArchivesTasklet - Unzipped /nexus-data/db_bak/config-2024-08-14-15-24-01-3.70.1-02.bak successfully
15:25:35 [main] INFO c.s.n.d.m.t.UnzipArchivesTasklet - Unzipping /nexus-data/db_bak/security-2024-08-14-15-24-01-3.70.1-02.bak to /nexus-data/db_bak/security
15:25:35 [main] INFO c.s.n.d.m.t.UnzipArchivesTasklet - Unzipped /nexus-data/db_bak/security-2024-08-14-15-24-01-3.70.1-02.bak successfully
15:25:35 [main] INFO o.s.batch.core.step.AbstractStep - Step: [unzipArchivesStep] executed in 551ms
15:25:35 [main] INFO o.s.batch.core.job.SimpleStepHandler - Executing step: [checkModelVersionsStep]
15:25:36 [main] ERROR o.s.batch.core.step.AbstractStep - Encountered an error executing step checkModelVersionsStep in job migrationFromOrientNoExportJSONJob
java.lang.ExceptionInInitializerError: null
        at com.orientechnologies.orient.core.engine.local.OEngineLocalPaginated.startup(OEngineLocalPaginated.java:64)
        at com.orientechnologies.orient.core.Orient.startEngine(Orient.java:930)
        at com.orientechnologies.orient.core.Orient.loadStorage(Orient.java:523)
        at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.<init>(ODatabaseDocumentTx.java:173)
        at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.<init>(ODatabaseDocumentTx.java:154)
        at com.sonatype.nexus.db.migrator.tasklet.ModelVersionsChecker.execute(ModelVersionsChecker.java:47)
        at org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:407)
        at org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:331)
        at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
        at org.springframework.batch.core.step.tasklet.TaskletStep$2.doInChunkContext(TaskletStep.java:273)
        at org.springframework.batch.core.scope.context.StepContextRepeatCallback.doInIteration(StepContextRepeatCallback.java:82)
        at org.springframework.batch.repeat.support.RepeatTemplate.getNextResult(RepeatTemplate.java:375)
        at org.springframework.batch.repeat.support.RepeatTemplate.executeInternal(RepeatTemplate.java:215)
        at org.springframework.batch.repeat.support.RepeatTemplate.iterate(RepeatTemplate.java:145)
        at org.springframework.batch.core.step.tasklet.TaskletStep.doExecute(TaskletStep.java:258)
        at org.springframework.batch.core.step.AbstractStep.execute(AbstractStep.java:208)
        at org.springframework.batch.core.job.SimpleStepHandler.handleStep(SimpleStepHandler.java:152)
        at org.springframework.batch.core.job.flow.JobFlowExecutor.executeStep(JobFlowExecutor.java:68)
        at org.springframework.batch.core.job.flow.support.state.StepState.handle(StepState.java:68)
        at org.springframework.batch.core.job.flow.support.SimpleFlow.resume(SimpleFlow.java:169)
        at org.springframework.batch.core.job.flow.support.SimpleFlow.start(SimpleFlow.java:144)
        at org.springframework.batch.core.job.flow.FlowJob.doExecute(FlowJob.java:139)
        at org.springframework.batch.core.job.AbstractJob.execute(AbstractJob.java:320)
        at org.springframework.batch.core.launch.support.SimpleJobLauncher$1.run(SimpleJobLauncher.java:149)
        at org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:50)
        at org.springframework.batch.core.launch.support.SimpleJobLauncher.run(SimpleJobLauncher.java:140)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:568)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
        at org.springframework.batch.core.configuration.annotation.SimpleBatchConfiguration$PassthruAdvice.invoke(SimpleBatchConfiguration.java:128)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:220)
        at jdk.proxy2/jdk.proxy2.$Proxy62.run(Unknown Source)
        at org.springframework.boot.autoconfigure.batch.JobLauncherApplicationRunner.execute(JobLauncherApplicationRunner.java:199)
        at org.springframework.boot.autoconfigure.batch.JobLauncherApplicationRunner.executeLocalJobs(JobLauncherApplicationRunner.java:173)
        at org.springframework.boot.autoconfigure.batch.JobLauncherApplicationRunner.launchJobFromProperties(JobLauncherApplicationRunner.java:160)
        at org.springframework.boot.autoconfigure.batch.JobLauncherApplicationRunner.run(JobLauncherApplicationRunner.java:155)
        at com.sonatype.nexus.db.migrator.config.MigratorJobLauncherApplicationRunner.run(MigratorJobLauncherApplicationRunner.java:38)
        at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:773)
        at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:763)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:314)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1317)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306)
        at com.sonatype.nexus.db.migrator.MigratorApplication.main(MigratorApplication.java:117)
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make public abstract jdk.internal.ref.Cleaner sun.nio.ch.DirectBuffer.cleaner() accessible: module java.base does not "exports sun.nio.ch" to unnamed module @74fc96cc
        at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
        at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
        at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:199)
        at java.base/java.lang.reflect.Method.setAccessible(Method.java:193)
        at com.orientechnologies.common.directmemory.OByteBufferPool.<clinit>(OByteBufferPool.java:188)
        ... 48 common frames omitted
15:25:36 [main] INFO o.s.batch.core.step.AbstractStep - Step: [checkModelVersionsStep] executed in 909ms
15:25:36 [main] INFO c.s.n.d.m.l.ProvidingJobInfoListener - Migration job finished at Wed Aug 14 15:25:36 GMT 2024
15:25:36 [main] INFO c.s.n.d.m.l.ProvidingJobInfoListener - Migration job took 1 seconds to execute
15:25:36 [main] INFO c.s.n.d.m.l.ProvidingJobInfoListener - 0 records were processed
15:25:36 [main] INFO c.s.n.d.m.l.ProvidingJobInfoListener - 0 records were filtered
15:25:36 [main] INFO c.s.n.d.m.l.ProvidingJobInfoListener - 0 records were skipped
15:25:36 [main] INFO c.s.n.d.m.l.ProvidingJobInfoListener - 0 records were migrated
15:25:36 [main] INFO c.s.n.d.m.l.ProvidingJobInfoListener - ------------------------------------------------------------
15:25:36 [main] INFO c.s.n.d.m.l.ProvidingJobInfoListener - Migration job finished with status FAILED.
15:25:36 [main] INFO c.s.n.d.m.l.ProvidingJobInfoListener - Detailed message: java.lang.ExceptionInInitializerError
        at com.orientechnologies.orient.core.engine.local.OEngineLocalPaginated.startup(OEngineLocalPaginated.java:64)
        at com.orientechnologies.orient.core.Orient.startEngine(Orient.java:930)
        at com.orientechnologies.orient.core.Orient.loadStorage(Orient.java:523)
        at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.<init>(ODatabaseDocumentTx.java:173)
        at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.<init>(ODatabaseDocumentTx.java:154)
        at com.sonatype.nexus.db.migrator.tasklet.ModelVersionsChecker.execute(ModelVersionsChecker.java:47)
        at org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:407)
        at org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:331)
        at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
        at org.springframework.batch.core.step.tasklet.TaskletStep$2.doInChunkContext(TaskletStep.java:273)
        at org.springframework.batch.core.scope.context.StepContextRepeatCallback.doInIteration(StepContextRepeatCallback.java:82)
        at org.springframework.batch.repeat.support.RepeatTemplate.getNextResult(RepeatTemplate.java:375)
        at org.springframework.batch.repeat.support.RepeatTemplate.executeInternal(RepeatTemplate.java:215)
        at org.springframework.batch.repeat.support.RepeatTemplate.iterate(RepeatTemplate.java:145)
        at org.springframework.batch.core.step.tasklet.TaskletStep.doExecute(TaskletStep.java:258)
        at org.springframework.batch.core.step.AbstractStep.execute(AbstractStep.java:208)
        at org.springframework.batch.core.job.SimpleStepHandler.handleStep(SimpleStepHandler.java:152)
        at org.springframework.batch.core.job.flow.JobFlowExecutor.executeStep(JobFlowExecutor.java:68)
        at org.springframework.batch.core.job.flow.support.state.StepState.handle(StepState.java:68)
        at org.springframework.batch.core.job.flow.support.SimpleFlow.resume(SimpleFlow.java:169)
        at org.springframework.batch.core.job.flow.support.SimpleFlow.start(SimpleFlow.java:144)
        at org.springframework.batch.core.job.flow.FlowJob.doExecute(FlowJob.java:139)
        at org.springframework.batch.core.job.AbstractJob.execute(AbstractJob.java:320)
        at org.springframework.batch.core.launch.support.SimpleJobLauncher$1.run(SimpleJobLauncher.java:149)
        at org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:50)
        at org.springframework.batch.core.launch.support.SimpleJobLauncher.run(SimpleJobLauncher.java:140)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:568)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
        at org.springframework.batch.core.configuration.annotation.SimpleBatchConfiguration$PassthruAdvice.invoke(SimpleBatchConfiguration.java:128)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:220)
        at jdk.proxy2/jdk.proxy2.$Proxy62.run(Unknown Source)
        at org.springframework.boot.autoconfigure.batch.JobLauncherApplicationRunner.execute(JobLauncherApplicationRunner.java:199)
        at org.springframework.boot.autoconfigure.batch.JobLauncherApplicationRunner.executeLocalJobs(JobLauncherApplicationRunner.java:173)
        at org.springframework.boot.autoconfigure.batch.JobLauncherApplicationRunner.launchJobFromProperties(JobLauncherApplicationRunner.java:160)
        at org.springframework.boot.autoconfigure.batch.JobLauncherApplicationRunner.run(JobLauncherApplicationRunner.java:155)
        at com.sonatype.nexus.db.migrator.config.MigratorJobLauncherApplicationRunner.run(MigratorJobLauncherApplicationRunner.java:38)
        at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:773)
        at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:763)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:314)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1317)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306)
        at com.sonatype.nexus.db.migrator.MigratorApplication.main(MigratorApplication.java:117)
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make public abstract jdk.internal.ref.Cleaner sun.nio.ch.DirectBuffer.cleaner() accessible: module java.base does not "exports sun.nio.ch" to unnamed module @74fc96cc
        at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
        at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
        at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:199)
        at java.base/java.lang.reflect.Method.setAccessible(Method.java:193)
        at com.orientechnologies.common.directmemory.OByteBufferPool.<clinit>(OByteBufferPool.java:188)
        ... 48 more
15:25:36 [main] INFO c.s.n.d.m.l.ProvidingJobInfoListener - ------------------------------------------------------------
Exception in thread "Thread-4" java.lang.NoClassDefFoundError: Could not initialize class com.orientechnologies.common.directmemory.OByteBufferPool
        at com.orientechnologies.orient.core.engine.local.OEngineLocalPaginated.shutdown(OEngineLocalPaginated.java:119)
        at com.orientechnologies.orient.core.Orient$OShutdownEnginesHandler.shutdown(Orient.java:988)
        at com.orientechnologies.orient.core.Orient.shutdown(Orient.java:379)
        at com.orientechnologies.orient.core.OrientShutdownHook.run(OrientShutdownHook.java:40)
Caused by: java.lang.ExceptionInInitializerError: Exception java.lang.reflect.InaccessibleObjectException: Unable to make public abstract jdk.internal.ref.Cleaner sun.nio.ch.DirectBuffer.cleaner() accessible: module java.base does not "exports sun.nio.ch" to unnamed module @74fc96cc [in thread "main"]
        at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
        at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
        at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:199)
        at java.base/java.lang.reflect.Method.setAccessible(Method.java:193)
        at com.orientechnologies.common.directmemory.OByteBufferPool.<clinit>(OByteBufferPool.java:188)
        at com.orientechnologies.orient.core.engine.local.OEngineLocalPaginated.startup(OEngineLocalPaginated.java:64)
        at com.orientechnologies.orient.core.Orient.startEngine(Orient.java:930)
        at com.orientechnologies.orient.core.Orient.loadStorage(Orient.java:523)
        at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.<init>(ODatabaseDocumentTx.java:173)
        at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.<init>(ODatabaseDocumentTx.java:154)
        at com.sonatype.nexus.db.migrator.tasklet.ModelVersionsChecker.execute(ModelVersionsChecker.java:47)
        at org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:407)
        at org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:331)
        at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
        at org.springframework.batch.core.step.tasklet.TaskletStep$2.doInChunkContext(TaskletStep.java:273)
        at org.springframework.batch.core.scope.context.StepContextRepeatCallback.doInIteration(StepContextRepeatCallback.java:82)
        at org.springframework.batch.repeat.support.RepeatTemplate.getNextResult(RepeatTemplate.java:375)
        at org.springframework.batch.repeat.support.RepeatTemplate.executeInternal(RepeatTemplate.java:215)
        at org.springframework.batch.repeat.support.RepeatTemplate.iterate(RepeatTemplate.java:145)
        at org.springframework.batch.core.step.tasklet.TaskletStep.doExecute(TaskletStep.java:258)
        at org.springframework.batch.core.step.AbstractStep.execute(AbstractStep.java:208)
        at org.springframework.batch.core.job.SimpleStepHandler.handleStep(SimpleStepHandler.java:152)
        at org.springframework.batch.core.job.flow.JobFlowExecutor.executeStep(JobFlowExecutor.java:68)
        at org.springframework.batch.core.job.flow.support.state.StepState.handle(StepState.java:68)
        at org.springframework.batch.core.job.flow.support.SimpleFlow.resume(SimpleFlow.java:169)
        at org.springframework.batch.core.job.flow.support.SimpleFlow.start(SimpleFlow.java:144)
        at org.springframework.batch.core.job.flow.FlowJob.doExecute(FlowJob.java:139)
        at org.springframework.batch.core.job.AbstractJob.execute(AbstractJob.java:320)
        at org.springframework.batch.core.launch.support.SimpleJobLauncher$1.run(SimpleJobLauncher.java:149)
        at org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:50)
        at org.springframework.batch.core.launch.support.SimpleJobLauncher.run(SimpleJobLauncher.java:140)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:568)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
        at org.springframework.batch.core.configuration.annotation.SimpleBatchConfiguration$PassthruAdvice.invoke(SimpleBatchConfiguration.java:128)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:220)
        at jdk.proxy2/jdk.proxy2.$Proxy62.run(Unknown Source)
        at org.springframework.boot.autoconfigure.batch.JobLauncherApplicationRunner.execute(JobLauncherApplicationRunner.java:199)
        at org.springframework.boot.autoconfigure.batch.JobLauncherApplicationRunner.executeLocalJobs(JobLauncherApplicationRunner.java:173)
        at org.springframework.boot.autoconfigure.batch.JobLauncherApplicationRunner.launchJobFromProperties(JobLauncherApplicationRunner.java:160)
        at org.springframework.boot.autoconfigure.batch.JobLauncherApplicationRunner.run(JobLauncherApplicationRunner.java:155)
        at com.sonatype.nexus.db.migrator.config.MigratorJobLauncherApplicationRunner.run(MigratorJobLauncherApplicationRunner.java:38)
        at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:773)
        at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:763)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:314)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1317)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306)
        at com.sonatype.nexus.db.migrator.MigratorApplication.main(MigratorApplication.java:117)

```

Any idea what kind of procedure I need to follow to actually do the upgrade? The documentation is lax on the Java requirements or issues with the migration tool…

---

<div class="post-metadata">

**Author:** ![mbender](https://yyz1.discourse-cdn.com/flex047/user_avatar/community.sonatype.com/mbender/32/3577_2.png) [@mbender](https://community.sonatype.com/u/mbender)\
**Post date:** [August 14, 2024, 6:35pm UTC](https://community.sonatype.com/t/db-migrator-failing/13060/2 "2024-08-14T18:35:42Z")

</div>

I’ve managed to resolve this. See [this community answer](http://community.sonatype.com/t/migrating-to-3-71-on-a-docker-based-installation/13045/5).
