Migration fails. Reason: com.querydsl.core.QueryException

XMLWordPrintable

    • 11
    • Minor
    • 3

      Issue Summary

      The customer tries to migrate a bunch of projects with help of JCMA plugin and during migration he receive com.querydsl.core.QueryException error

      Steps to Reproduce

      Can not reproduce this error

      Expected Results

      Migration must be successful

      Actual Results

      The below exception is thrown in the log file:

      2022-01-07 14:50:51,701+0100 pool-27-thread-6 ERROR      [c.a.j.m.export.framework.DefaultExportFailureHandler] 3e5feb21-a005-415b-aa79-c84c116e4b4b: Exporting referenced entities by Issue SUP-12004 failed
      2com.querydsl.core.QueryException: Caught SQLServerException for select "AO_56464C_APPROVAL"."ID", "AO_56464C_APPROVAL"."ISSUE_ID", "AO_56464C_APPROVAL"."APPROVE_CONDITION_TYPE", "AO_56464C_APPROVAL"."APPROVE_CONDITION_VALUE", "AO_56464C_APPROVAL"."COMPLETED_DATE", "AO_56464C_APPROVAL"."CREATED_DATE", "AO_56464C_APPROVAL"."DECISION", "AO_56464C_APPROVAL"."NAME", "AO_56464C_APPROVAL"."STATUS_ID", "AO_56464C_APPROVAL"."SYSTEM_DECIDED" from "dbo"."AO_56464C_APPROVAL" "AO_56464C_APPROVAL" inner join "dbo"."issuestatus" "ISSUESTATUS" on "ISSUESTATUS"."ID" = "AO_56464C_APPROVAL"."STATUS_ID" where "AO_56464C_APPROVAL"."ISSUE_ID" = ?
      3	at com.querydsl.sql.DefaultSQLExceptionTranslator.translate(DefaultSQLExceptionTranslator.java:50)
      4	at com.querydsl.sql.Configuration.translate(Configuration.java:459)
      5	at com.querydsl.sql.AbstractSQLQuery.fetch(AbstractSQLQuery.java:502)
      6	at com.atlassian.jira.migration.export.db.servicedesk.ApprovalReader.getAllApprovalsByIssueId$lambda-8(ApprovalReader.kt:131)
      7	at com.atlassian.pocketknife.internal.querydsl.DatabaseAccessorImpl.lambda$execute$0(DatabaseAccessorImpl.java:69)
      8	at com.atlassian.sal.core.rdbms.DefaultTransactionalExecutor.executeInternal(DefaultTransactionalExecutor.java:87)
      9	at com.atlassian.sal.core.rdbms.DefaultTransactionalExecutor.lambda$execute$0(DefaultTransactionalExecutor.java:43)
      10	at com.atlassian.jira.database.DatabaseAccessorImpl.runInManagedTransaction(DatabaseAccessorImpl.java:131)
      11	... 2 filtered
      12	at java.lang.reflect.Method.invoke(Method.java:498)
      13	at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26)
      14	at com.sun.proxy.$Proxy79.runInManagedTransaction(Unknown Source)
      15	... 2 filtered
      16	at java.lang.reflect.Method.invoke(Method.java:498)
      17	at com.atlassian.plugin.osgi.bridge.external.HostComponentFactoryBean$DynamicServiceInvocationHandler.invoke(HostComponentFactoryBean.java:131)
      18	at com.sun.proxy.$Proxy79.runInManagedTransaction(Unknown Source)
      19	at com.atlassian.sal.jira.rdbms.JiraHostConnectionAccessor.runInStartedOrExistingTransaction(JiraHostConnectionAccessor.java:130)
      20	at com.atlassian.sal.jira.rdbms.JiraHostConnectionAccessor.execute(JiraHostConnectionAccessor.java:60)
      21	at com.atlassian.sal.core.rdbms.DefaultTransactionalExecutor.execute(DefaultTransactionalExecutor.java:40)
      22	at com.atlassian.pocketknife.internal.querydsl.DatabaseAccessorImpl.execute(DatabaseAccessorImpl.java:67)
      23	at com.atlassian.pocketknife.internal.querydsl.DatabaseAccessorImpl.runInTransaction(DatabaseAccessorImpl.java:43)
      24	at com.atlassian.pocketknife.api.querydsl.DatabaseAccessor.run(DatabaseAccessor.java:201)
      25	at com.atlassian.jira.migration.export.db.servicedesk.ApprovalReader.getAllApprovalsByIssueId(ApprovalReader.kt:114)
      26	at com.atlassian.jira.migration.export.servicedesk.service.JsdExportServiceImpl.exportApprovals(JsdExportServiceImpl.kt:41)
      27	at com.atlassian.jira.migration.export.core.issue.IssueExporter.exportApprovals(IssueExporter.kt:382)
      28	at com.atlassian.jira.migration.export.core.issue.IssueExporter$childrenActions$9.invoke(IssueExporter.kt:239)
      29	at com.atlassian.jira.migration.export.core.issue.IssueExporter$childrenActions$9.invoke(IssueExporter.kt:239)
      30	at com.atlassian.jira.migration.export.framework.ExportService.continueWithChildrenActions(ExportService.kt:241)
      31	at com.atlassian.jira.migration.export.framework.ExportService.exportByEntityImpl(ExportService.kt:228)
      32	at com.atlassian.jira.migration.export.framework.ExportService.exportByEntityImpl$default(ExportService.kt:186)
      33	at com.atlassian.jira.migration.export.framework.ExportService.exportOrThrow(ExportService.kt:113)
      34	at com.atlassian.jira.migration.export.framework.ExportService.exportOrThrow$default(ExportService.kt:107)
      35	at com.atlassian.jira.migration.export.core.project.ProjectExporter.exportIssues(ProjectExporter.kt:281)
      36	at com.atlassian.jira.migration.export.core.project.ProjectExporter.access$exportIssues(ProjectExporter.kt:69)
      37	at com.atlassian.jira.migration.export.core.project.ProjectExporter$childrenActions$6.invoke(ProjectExporter.kt:187)
      38	at com.atlassian.jira.migration.export.core.project.ProjectExporter$childrenActions$6.invoke(ProjectExporter.kt:187)
      39	at com.atlassian.jira.migration.export.framework.ExportService.continueWithChildrenActions(ExportService.kt:241)
      40	at com.atlassian.jira.migration.export.framework.ExportService.exportByEntityImpl(ExportService.kt:228)
      41	at com.atlassian.jira.migration.export.framework.ExportService.exportByEntityImpl$default(ExportService.kt:186)
      42	at com.atlassian.jira.migration.export.framework.ExportService.exportOrThrow(ExportService.kt:113)
      43	at com.atlassian.jira.migration.export.framework.ExportService.exportOrThrow$default(ExportService.kt:107)
      44	at com.atlassian.jira.migration.export.ExportFacade.exportProjectData(ExportFacade.kt:133)
      45	at com.atlassian.jira.migration.workers.ProjectProcessor$exportProjectData$1.invoke(ProjectsWorker.kt:237)
      46	at com.atlassian.jira.migration.workers.ProjectProcessor$exportProjectData$1.invoke(ProjectsWorker.kt:228)
      47	at com.atlassian.jira.migration.tracking.tasks.OperationProcessor$runTimedOperationWithResult$1.invoke(OperationProcessor.kt:52)
      48	at com.atlassian.jira.migration.events.JiraEventDetectionService.runAndDetect(JiraEventDetectionService.kt:69)
      49	at com.atlassian.jira.migration.tracking.tasks.OperationProcessor.runTimedOperationWithResult(OperationProcessor.kt:49)
      50	at com.atlassian.jira.migration.workers.ProjectProcessor.exportProjectData(ProjectsWorker.kt:228)
      51	at com.atlassian.jira.migration.workers.ProjectProcessor.process(ProjectsWorker.kt:147)
      52	at com.atlassian.jira.migration.workers.ProjectsWorker.process(ProjectsWorker.kt:83)
      53	at com.atlassian.jira.migration.tracking.polling.Poller.dispatchTask(Poller.kt:116)
      54	at com.atlassian.jira.migration.tracking.polling.Poller.pollForTaskAndDispatch(Poller.kt:111)
      55	at com.atlassian.jira.migration.tracking.polling.Poller.pollForTaskAndDispatchNoThrow(Poller.kt:65)
      56	at com.atlassian.jira.migration.tracking.polling.Poller.doPoll(Poller.kt:50)
      57	at com.atlassian.jira.migration.tracking.polling.AbstractPoller.execute(AbstractPoller.kt:62)
      58	at com.atlassian.jira.migration.tracking.polling.AbstractPoller.access$execute(AbstractPoller.kt:16)
      59	at com.atlassian.jira.migration.tracking.polling.AbstractPoller$startPolling$1.invoke(AbstractPoller.kt:35)
      60	at com.atlassian.jira.migration.tracking.polling.AbstractPoller$startPolling$1.invoke(AbstractPoller.kt:35)
      61	at com.atlassian.jira.migration.tracking.utils.ThreadUtils.safeExecutePeriodicallyUntilStopped(ThreadUtils.kt:43)
      62	at com.atlassian.jira.migration.tracking.polling.AbstractPoller.startPolling(AbstractPoller.kt:34)
      63	at com.atlassian.jira.migration.tracking.MigrationTracker.addAndStartWorkPoller$lambda-4$lambda-3(MigrationTracker.kt:78)
      64	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      65	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      66	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
      67	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
      68	at java.lang.Thread.run(Thread.java:748)
      69Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Cannot resolve the collation conflict between "Latin1_General_CI_AI" and "SQL_Latin1_General_CP1_CI_AS" in the equal to operation.
      70	at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:256)
      71	at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1621)
      72	at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:592)
      73	at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:522)
      74	at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7194)
      75	at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:248)
      76	at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:223)
      77	at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeQuery(SQLServerPreparedStatement.java:444)
      78	at org.apache.commons.dbcp2.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:83)
      79	at org.apache.commons.dbcp2.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:83)
      80	at com.atlassian.jira.ofbiz.sql.PreparedStatementWrapper.executeQuery(PreparedStatementWrapper.java:42)
      81	at com.atlassian.jira.diagnostic.connection.DiagnosticPreparedStatement.lambda$executeQuery$5(DiagnosticPreparedStatement.java:59)
      82	at com.atlassian.diagnostics.internal.platform.monitor.db.DefaultDatabaseDiagnosticsCollector.recordExecutionTime(DefaultDatabaseDiagnosticsCollector.java:69)
      83	at com.atlassian.jira.diagnostic.connection.DatabaseDiagnosticsCollectorDelegate.recordExecutionTime(DatabaseDiagnosticsCollectorDelegate.java:55)
      84	at com.atlassian.jira.diagnostic.connection.DiagnosticPreparedStatement.executeQuery(DiagnosticPreparedStatement.java:59)
      85	at com.querydsl.sql.AbstractSQLQuery.fetch(AbstractSQLQuery.java:446)
      86	... 65 more 

      Workaround

      Change the instance-level collation to match the Jira database collation to SQL_Latin1_General_CP437_CI_AI or Latin1_General_CI_AI. Customer can use this guide to do so: Set or Change the Server Collation.

      If the above doesn't work then it's possible customer will need to change the database collation as per the instructions on this article.

            Assignee:
            vsemeniuk
            Reporter:
            vsemeniuk
            Votes:
            5 Vote for this issue
            Watchers:
            12 Start watching this issue

              Created:
              Updated:
              Resolved: