JCMA Preflights: Migration does not start (database: Oracle)

XMLWordPrintable

    • 29
    • Severity 2 - Major
    • 185

      Issue Summary

      Migration fails to start and network/firewall related issues are not seen.

      Steps to Reproduce

      Not attempted

      Expected Results

      Migration starts successfully.

      Actual Results

      Migration fails to start.

      and following error is seen in Jira application log, atlasssian-jira.log:

      [c.a.j.migration.execution.PlanExecutionService] Exception starting migration
      com.atlassian.jira.migration.orchestratorclient.OrchestratorClientErrorException: request to Migration Orchestrator failed
          at com.atlassian.jira.migration.orchestratorclient.OrchestratorExceptions.clientError(OrchestratorExceptions.kt:51)
          at com.atlassian.jira.migration.orchestratorclient.OrchestratorExceptions.clientError$default(OrchestratorExceptions.kt:47)
          at com.atlassian.jira.migration.orchestratorclient.MigrationOrchestratorClient.toMOException(MigrationOrchestratorClient.kt:453)
          at com.atlassian.jira.migration.orchestratorclient.MigrationOrchestratorClient.execute(MigrationOrchestratorClient.kt:431)
          at com.atlassian.jira.migration.orchestratorclient.MigrationOrchestratorClient.createMigrationScope(MigrationOrchestratorClient.kt:168)
          at com.atlassian.jira.migration.scope.MigrationScopeManager.createMigrationScopeForPlan(MigrationScopeManager.kt:60)
          at com.atlassian.jira.migration.scope.MigrationScopeManager.access$createMigrationScopeForPlan(MigrationScopeManager.kt:12)
          at com.atlassian.jira.migration.scope.MigrationScopeManager$getMigrationScopeForPlan$1$1.invoke(MigrationScopeManager.kt:43)
          at com.atlassian.jira.migration.scope.MigrationScopeManager$getMigrationScopeForPlan$1$1.invoke(MigrationScopeManager.kt:42)
          at com.atlassian.jira.migration.scope.MigrationScopeRepository.getOrRequestFromCloudWithLocking(MigrationScopeRepository.kt:69)
          at com.atlassian.jira.migration.scope.MigrationScopeRepository.getOrCreate$lambda$2(MigrationScopeRepository.kt:34)
          at com.atlassian.pocketknife.internal.querydsl.DatabaseAccessorImpl.lambda$execute$0(DatabaseAccessorImpl.java:69)
          at com.atlassian.sal.core.rdbms.DefaultTransactionalExecutor.executeInternal(DefaultTransactionalExecutor.java:86)
          at com.atlassian.sal.core.rdbms.DefaultTransactionalExecutor.lambda$execute$0(DefaultTransactionalExecutor.java:42)
          at com.atlassian.jira.database.DatabaseAccessorImpl.runInManagedTransaction(DatabaseAccessorImpl.java:125)
          ... 2 filtered
          at java.lang.reflect.Method.invoke(Method.java:498)
          at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26)
          at com.sun.proxy.$Proxy54.runInManagedTransaction(Unknown Source)
          ... 2 filtered
          at java.lang.reflect.Method.invoke(Method.java:498)
          at com.atlassian.plugin.osgi.bridge.external.HostComponentFactoryBean$DynamicServiceInvocationHandler.invoke(HostComponentFactoryBean.java:136)
          at com.sun.proxy.$Proxy54.runInManagedTransaction(Unknown Source)
          at com.atlassian.sal.jira.rdbms.JiraHostConnectionAccessor.runInStartedOrExistingTransaction(JiraHostConnectionAccessor.java:130)
          at com.atlassian.sal.jira.rdbms.JiraHostConnectionAccessor.execute(JiraHostConnectionAccessor.java:60)
          at com.atlassian.sal.core.rdbms.DefaultTransactionalExecutor.execute(DefaultTransactionalExecutor.java:39)
          at com.atlassian.pocketknife.internal.querydsl.DatabaseAccessorImpl.execute(DatabaseAccessorImpl.java:67)
          at com.atlassian.pocketknife.internal.querydsl.DatabaseAccessorImpl.runInTransaction(DatabaseAccessorImpl.java:43)
          at com.atlassian.pocketknife.api.querydsl.DatabaseAccessor.run(DatabaseAccessor.java:201)
          at com.atlassian.jira.migration.scope.MigrationScopeRepository.getOrCreate(MigrationScopeRepository.kt:34)
          at com.atlassian.jira.migration.scope.MigrationScopeManager.getMigrationScopeForPlan(MigrationScopeManager.kt:42)
          at com.atlassian.jira.migration.execution.MigrationExecutionService.startMigration(MigrationExecutionService.kt:143)
          at com.atlassian.jira.migration.execution.MigrationExecutionService.startMigration$default(MigrationExecutionService.kt:130)
          at com.atlassian.jira.migration.execution.MigrationExecutionService.startClassicMigration(MigrationExecutionService.kt:106)
          at com.atlassian.jira.migration.execution.PlanExecutionService$scheduleClassicPlanExecution$1.invoke(PlanExecutionService.kt:104)
          at com.atlassian.jira.migration.execution.PlanExecutionService$scheduleClassicPlanExecution$1.invoke(PlanExecutionService.kt:104)
          at com.atlassian.jira.migration.execution.PlanExecutionService$schedulePlanExecution$2.invoke(PlanExecutionService.kt:133)
          at com.atlassian.jira.migration.execution.PlanExecutionService$schedulePlanExecution$2.invoke(PlanExecutionService.kt:127)
          at com.atlassian.jira.migration.preflight.PreflightService$executeAllChecks$3.onSuccess(PreflightService.kt:284)
          at com.atlassian.jira.migration.preflight.PreflightService$executeAllChecks$3.onSuccess(PreflightService.kt:275)
          at com.google.common.util.concurrent.Futures$6.run(Futures.java:1319)
          at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:457)
          at com.google.common.util.concurrent.ExecutionList.executeListener(ExecutionList.java:156)
          at com.google.common.util.concurrent.ExecutionList.execute(ExecutionList.java:145)
          at com.google.common.util.concurrent.AbstractFuture.set(AbstractFuture.java:185)
          at com.google.common.util.concurrent.Futures$CombinedFuture.setOneValue(Futures.java:1764)
          at com.google.common.util.concurrent.Futures$CombinedFuture.access$400(Futures.java:1608)
          at com.google.common.util.concurrent.Futures$CombinedFuture$2.run(Futures.java:1686)
          at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:457)
          at com.google.common.util.concurrent.ExecutionList.executeListener(ExecutionList.java:156)
          at com.google.common.util.concurrent.ExecutionList.execute(ExecutionList.java:145)
          at com.google.common.util.concurrent.ListenableFutureTask.done(ListenableFutureTask.java:91)
          at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:384)
          at java.util.concurrent.FutureTask.set(FutureTask.java:233)
          at java.util.concurrent.FutureTask.run(FutureTask.java:274)
          at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
          at java.lang.Thread.run(Thread.java:745)
      Caused by: com.atlassian.jira.migration.httpclient.exceptions.UnexpectedStatusCodeException: Received an unexpected status code; expected [200], but received 400: Bad Request
          at com.atlassian.jira.migration.httpclient.exceptions.ExceptionsKt.unexpectedStatusCode(Exceptions.kt:7)
          at com.atlassian.jira.migration.httpclient.AbstractPluginHttpClient.checkExpectedResponseCode(AbstractPluginHttpClient.kt:175)
          at com.atlassian.jira.migration.httpclient.AbstractPluginHttpClient.execute(AbstractPluginHttpClient.kt:68)
          at com.atlassian.jira.migration.httpclient.AbstractPluginHttpClient.execute(AbstractPluginHttpClient.kt:56)
          at com.atlassian.jira.migration.orchestratorclient.MigrationOrchestratorClient.execute(MigrationOrchestratorClient.kt:429
      

      followed by:

      2022-12-08 11:53:41,109 pool-128-thread-67 ERROR nfarmer 713x16001x1 19vsy1v 10.9.9.117 /rest/migration/latest/check/7e6411e708ec646dcfc0d39560b540cf78f87864 [c.a.j.m.preflight.reports.UsersGroupsExtractionRepository] Could not save users groups extractions.
      com.querydsl.core.QueryException: java.sql.SQLException: Invalid column type: 16
          at com.querydsl.sql.DefaultSQLExceptionTranslator.translate(DefaultSQLExceptionTranslator.java:39)
          at com.querydsl.sql.Configuration.translate(Configuration.java:447)
          at com.querydsl.sql.dml.AbstractSQLClause.setParameters(AbstractSQLClause.java:179)
          at com.querydsl.sql.dml.SQLInsertClause.createStatements(SQLInsertClause.java:312)
          at com.querydsl.sql.dml.SQLInsertClause.execute(SQLInsertClause.java:435)
          at com.atlassian.jira.migration.preflight.reports.UsersGroupsExtractionRepository.saveAll$lambda$10$lambda$8(UsersGroupsExtractionRepository.kt:92)
          at com.atlassian.pocketknife.internal.querydsl.DatabaseAccessorImpl.lambda$execute$0(DatabaseAccessorImpl.java:69)
          at com.atlassian.sal.core.rdbms.DefaultTransactionalExecutor.executeInternal(DefaultTransactionalExecutor.java:86)
          at com.atlassian.sal.core.rdbms.DefaultTransactionalExecutor.lambda$execute$0(DefaultTransactionalExecutor.java:42)
          at com.atlassian.jira.database.DatabaseAccessorImpl.runInManagedTransaction(DatabaseAccessorImpl.java:125)
          ... 2 filtered
          at java.lang.reflect.Method.invoke(Method.java:498)
          at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26)
          at com.sun.proxy.$Proxy54.runInManagedTransaction(Unknown Source)
          ... 2 filtered
          at java.lang.reflect.Method.invoke(Method.java:498)
          at com.atlassian.plugin.osgi.bridge.external.HostComponentFactoryBean$DynamicServiceInvocationHandler.invoke(HostComponentFactoryBean.java:136)
          at com.sun.proxy.$Proxy54.runInManagedTransaction(Unknown Source)
          at com.atlassian.sal.jira.rdbms.JiraHostConnectionAccessor.runInStartedOrExistingTransaction(JiraHostConnectionAccessor.java:130)
          at com.atlassian.sal.jira.rdbms.JiraHostConnectionAccessor.execute(JiraHostConnectionAccessor.java:60)
          at com.atlassian.sal.core.rdbms.DefaultTransactionalExecutor.execute(DefaultTransactionalExecutor.java:39)
          at com.atlassian.pocketknife.internal.querydsl.DatabaseAccessorImpl.execute(DatabaseAccessorImpl.java:67)
          at com.atlassian.pocketknife.internal.querydsl.DatabaseAccessorImpl.runInTransaction(DatabaseAccessorImpl.java:43)
          at com.atlassian.pocketknife.api.querydsl.DatabaseAccessor.run(DatabaseAccessor.java:201)
          at com.atlassian.jira.migration.preflight.reports.UsersGroupsExtractionRepository.saveAll(UsersGroupsExtractionRepository.kt:77)
          at com.atlassian.jira.migration.preflight.reports.UsersGroupsReportService.saveScopedUsersExtraction(UsersGroupsReportService.kt:80)
          at com.atlassian.jira.migration.preflight.reports.UsersGroupsReportService.access$saveScopedUsersExtraction(UsersGroupsReportService.kt:14)
          at com.atlassian.jira.migration.preflight.reports.UsersGroupsReportService$generateReportData$1.invoke(UsersGroupsReportService.kt:31)
          at com.atlassian.jira.migration.preflight.reports.UsersGroupsReportService$generateReportData$1.invoke(UsersGroupsReportService.kt:29)
          at com.atlassian.jira.migration.preflight.reports.UsersGroupsReportService.generateReportData$lambda$0(UsersGroupsReportService.kt:30)
          at java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:602)
          at java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:577)
          at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:442)
          at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
          at java.lang.Thread.run(Thread.java:745)
      Caused by: java.sql.SQLException: Invalid column type: 16
          at oracle.jdbc.driver.OracleStatement.getInternalType(OracleStatement.java:3978)
          at oracle.jdbc.driver.OraclePreparedStatement.setNullCritical(OraclePreparedStatement.java:4472)
          at oracle.jdbc.driver.OraclePreparedStatement.setNull(OraclePreparedStatement.java:4456)
          at oracle.jdbc.driver.OraclePreparedStatementWrapper.setNull(OraclePreparedStatementWrapper.java:1008)
          at org.apache.commons.dbcp2.DelegatingPreparedStatement.setNull(DelegatingPreparedStatement.java:107)
          at com.querydsl.sql.Configuration.set(Configuration.java:234)
          at com.querydsl.sql.dml.AbstractSQLClause.setParameters(AbstractSQLClause.java:177)
          ... 35 more
      

      Workaround

      Disabling preflightcheck reports by using the Dark Feature: com.atlassian.jira.migration.skip.preflight.report

      Additional Information:

      In the newer JCMA version, if the migration succeeds, post migration reports with the data/ headers are not generated and the above error is noticed in the atlasssian-jira.log

            Assignee:
            Hung Gia Dien
            Reporter:
            Kanwar
            Votes:
            6 Vote for this issue
            Watchers:
            22 Start watching this issue

              Created:
              Updated:
              Resolved: