Uploaded image for project: 'Dev - Nexus Repo'
  1. Dev - Nexus Repo
  2. NEXUS-35008

Postgres migration fails with error processing http connection settings

Details

    • Mad Max To Be Groomed
    • 2
    • 2

    Description

      Database migration to Postgres will not work if http connection settings have been customized.

      Reproduce steps...

      1. Fire up Nexus Repo 3.41.1
      2. Visit "system --> http" and change the number of connection retries from 2 to 3
      3. Shut down Nexus
      4. Run a Postgres migration

      This will fail with:

      09:33:01 [main] ERROR o.s.boot.SpringApplication - Application run failed
      java.lang.IllegalStateException: Failed to execute ApplicationRunner
              at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:771)
              at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:758)
              at org.springframework.boot.SpringApplication.run(SpringApplication.java:310)
              at org.springframework.boot.SpringApplication.run(SpringApplication.java:1312)
              at org.springframework.boot.SpringApplication.run(SpringApplication.java:1301)
              at com.sonatype.nexus.db.migrator.MigratorApplication.main(MigratorApplication.java:91)
      Caused by: java.lang.IllegalArgumentException: Unable to deserialize the execution context
              at org.springframework.batch.core.repository.dao.JdbcExecutionContextDao$ExecutionContextRowMapper.mapRow(JdbcExecutionContextDao.java:328)
              at org.springframework.batch.core.repository.dao.JdbcExecutionContextDao$ExecutionContextRowMapper.mapRow(JdbcExecutionContextDao.java:312)
              at org.springframework.jdbc.core.RowMapperResultSetExtractor.extractData(RowMapperResultSetExtractor.java:94)
              at org.springframework.jdbc.core.RowMapperResultSetExtractor.extractData(RowMapperResultSetExtractor.java:61)
              at org.springframework.jdbc.core.JdbcTemplate$1.doInPreparedStatement(JdbcTemplate.java:723)
              at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:651)
              at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:713)
              at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:744)
              at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:757)
              at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:815)
              at org.springframework.batch.core.repository.dao.JdbcExecutionContextDao.getExecutionContext(JdbcExecutionContextDao.java:114)
              at org.springframework.batch.core.explore.support.SimpleJobExplorer.getJobExecutionDependencies(SimpleJobExplorer.java:239)
              at org.springframework.batch.core.explore.support.SimpleJobExplorer.getLastJobExecution(SimpleJobExplorer.java:104)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
              at java.lang.reflect.Method.invoke(Method.java:498)
              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:215)
              at com.sun.proxy.$Proxy64.getLastJobExecution(Unknown Source)
              at org.springframework.batch.core.JobParametersBuilder.getNextJobParameters(JobParametersBuilder.java:265)
              at org.springframework.boot.autoconfigure.batch.JobLauncherApplicationRunner.getNextJobParameters(JobLauncherApplicationRunner.java:213)
              at org.springframework.boot.autoconfigure.batch.JobLauncherApplicationRunner.execute(JobLauncherApplicationRunner.java:198)
              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:43)
              at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:768)
              ... 5 common frames omitted
      Caused by: com.fasterxml.jackson.databind.JsonMappingException: The class with com.sonatype.nexus.db.migrator.item.record.httpclient.Proxy and name of com.sonatype.nexus.db.migrator.item.record.httpclient.Proxy is not trusted. If you believe this class is safe to deserialize, you can add it to the base set of trusted classes at construction time or provide an explicit mapping using Jackson annotations or a custom ObjectMapper. If the serialization is only done by a trusted source, you can also enable default typing. (through reference chain: java.util.HashMap["records"]->java.util.ArrayList[532]->com.sonatype.nexus.db.migrator.item.record.httpclient.HttpClientRecord["proxy"])
              at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:390)
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            rseddon Rich Seddon
            Hajime Osako Hajime Osako
            NXRM - Mad Max
            Votes:
            2 Vote for this issue
            Watchers:
            10 Start watching this issue

            Dates

              Created:
              Updated:

              tigCommentSecurity.panel-title