-
Bug
-
Resolution: Fixed
-
High
-
None
-
JCMA - 1.9.0
-
None
-
Severity 2 - Major
Issue Summary
JCMA versions 1.9.0+ are not compatible with Jira 9.8.0 because of 2 issues -
- AR Preflight failures
- User assessment failures
See https://atlassian.slack.com/archives/C0558GD27KN for more details.
This is reproducible on Data Center: Yes
Issue 1:
Steps to Reproduce
- Enable AR and create a migration plan.
- Include an AR plan in the migration.
- Run preflight checks
Expected Results
Preflight checks should succeed.
Actual Results
Preflight checks fail with the following error message -
023-04-27 04:51:28,676+0000 pool-67-thread-16 WARN [c.a.j.migration.preflight.PreflightService] check execution 977686989c0c1ddddc4a88571ece9e5a04413891 failed com.querydsl.core.QueryException: Caught SQLException for select "AO_D9132D_ISSUE_SOURCE"."ID", "AO_D9132D_ISSUE_SOURCE"."CONVERSION_FACTOR", "AO_D9132D_ISSUE_SOURCE"."PLAN_ID", "AO_D9132D_ISSUE_SOURCE"."SOURCE_TYPE", "AO_D9132D_ISSUE_SOURCE"."SOURCE_VALUE" from "public"."AO_D9132D_ISSUE_SOURCE" "AO_D9132D_ISSUE_SOURCE" where "AO_D9132D_ISSUE_SOURCE"."SOURCE_VALUE" is null or length("AO_D9132D_ISSUE_SOURCE"."SOURCE_VALUE") = 0 or "AO_D9132D_ISSUE_SOURCE"."SOURCE_TYPE" = 'Project' and not "AO_D9132D_ISSUE_SOURCE"."SOURCE_VALUE" in ('10100', '10200', '10201') or "AO_D9132D_ISSUE_SOURCE"."SOURCE_TYPE" = 'Filter' and not "AO_D9132D_ISSUE_SOURCE"."SOURCE_VALUE" in ('10000', '10100', '10101', '10102', '10200', '10201') or "AO_D9132D_ISSUE_SOURCE"."SOURCE_TYPE" = 'Board' and not "AO_D9132D_ISSUE_SOURCE"."SOURCE_VALUE" in ('1', '2', '3') at com.querydsl.sql.DefaultSQLExceptionTranslator.translate(DefaultSQLExceptionTranslator.java:50) at com.querydsl.sql.Configuration.translate(Configuration.java:459) at com.querydsl.sql.AbstractSQLQuery.fetch(AbstractSQLQuery.java:502) at com.atlassian.jira.migration.export.db.advancedroadmaps.IssueSourceDataReader.getAllNonExistentIssueSources$lambda$8(IssueSourceDataReader.kt:89) at com.atlassian.pocketknife.internal.querydsl.DatabaseAccessorImpl.lambda$execute$0(DatabaseAccessorImpl.java:69) at com.atlassian.sal.core.rdbms.DefaultTransactionalExecutor.executeInternal(DefaultTransactionalExecutor.java:109) at com.atlassian.sal.core.rdbms.DefaultTransactionalExecutor.lambda$execute$0(DefaultTransactionalExecutor.java:64) at com.atlassian.jira.database.DatabaseAccessorImpl.runInManagedTransaction(DatabaseAccessorImpl.java:134) at jdk.internal.reflect.GeneratedMethodAccessor161.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26) at com.sun.proxy.$Proxy301.runInManagedTransaction(Unknown Source) at jdk.internal.reflect.GeneratedMethodAccessor161.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at com.atlassian.plugin.osgi.bridge.external.HostComponentFactoryBean$DynamicServiceInvocationHandler.invoke(HostComponentFactoryBean.java:130) at com.sun.proxy.$Proxy301.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:61) 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.export.db.advancedroadmaps.IssueSourceDataReader.getAllNonExistentIssueSources(IssueSourceDataReader.kt:81) at com.atlassian.jira.migration.export.db.advancedroadmaps.IssueSourceDataReader.getAllIssueSourcesForPlans(IssueSourceDataReader.kt:42) at com.atlassian.jira.migration.serverdataextractors.RelatedEntitiesDataReader.getIssueSourceIdsByTypeFromPlans(RelatedEntitiesDataReader.kt:131) at com.atlassian.jira.migration.serverdataextractors.RelatedEntitiesDataReader.getAllProjectIdsDirectlyReferencedByPlan(RelatedEntitiesDataReader.kt:117) at com.atlassian.jira.migration.serverdataextractors.RelatedEntitiesDataReader.getProjectsFromPlans(RelatedEntitiesDataReader.kt:43) at com.atlassian.jira.migration.serverdataextractors.RelatedEntitiesDataReader.getProjectKeysFromPlanIds(RelatedEntitiesDataReader.kt:32) at com.atlassian.jira.migration.preflight.UserDefinedCustomFieldService.performCheck(UserDefinedCustomFieldService.kt:34) at com.atlassian.jira.migration.preflight.UserDefinedCustomFieldsCheck.performCheck(UserDefinedCustomFieldsCheck.kt:37) at com.atlassian.jira.migration.preflight.AsyncCheckExecutor.runCheck(AsyncCheckExecutor.kt:223) at com.atlassian.jira.migration.preflight.AsyncCheckExecutor.access$runCheck(AsyncCheckExecutor.kt:34) at com.atlassian.jira.migration.preflight.AsyncCheckExecutor$executeChecksListenable$1.invoke$lambda$6$lambda$4(AsyncCheckExecutor.kt:140) at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:131) at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:74) at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:82) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829) Caused by: java.sql.SQLException: Connection is null. at org.apache.commons.dbcp2.DelegatingConnection.checkOpen(DelegatingConnection.java:115) at org.apache.commons.dbcp2.DelegatingConnection.prepareStatement(DelegatingConnection.java:694) at org.ofbiz.core.entity.jdbc.interceptors.connection.DelegatingConnection.prepareStatement(DelegatingConnection.java:37) at com.atlassian.jira.ofbiz.sql.ConnectionWrapper.prepareStatement(ConnectionWrapper.java:42) at com.atlassian.jira.diagnostic.connection.DiagnosticConnection.prepareStatement(DiagnosticConnection.java:45) at com.atlassian.jira.database.AbstractDelegatingConnection.prepareStatement(AbstractDelegatingConnection.java:42) at com.atlassian.sal.core.rdbms.WrappedConnection.prepareStatement(WrappedConnection.java:170) at com.atlassian.pocketknife.internal.querydsl.SpecificBehaviourConnection.prepareStatement(SpecificBehaviourConnection.java:232) at com.querydsl.sql.AbstractSQLQuery.getPreparedStatement(AbstractSQLQuery.java:318) at com.querydsl.sql.AbstractSQLQuery.fetch(AbstractSQLQuery.java:439) ... 38 more slack:https://atlassian.slack.com/archives/C02UDAPE1H7/p1682512529711019
Issue 2:
Steps to Reproduce
- Open "Assess and Prepare your Users" section.
- Connect cloud site and try to assess users
Expected Results
User assessment results should appear.
Actual Results
User assessment fails with a similar log message as Issue 1.
Connection is null
Workaround
No workarounds are known for this issue. Customers either need to use Jira 9.8.1 where the issue is fixed (recommended) or use JCMA versions < 1.9.0 (not recommended).