-
Type:
Bug
-
Resolution: Fixed
-
Priority:
High
-
Component/s: Backup & Restore - Import From JIRA Server
-
None
-
8
-
Severity 2 - Major
Problem Description
JIRA Import fails with the following message in the UI:
Caught PSQLException for delete from "public"."jiraissue" where "jiraissue"."project" in (select "jiraissue"."project" from "public"."jiraissue" "jiraissue" left join "public"."project" "PROJECT" on "jiraissue"."project" = "PROJECT"."id" where "jiraissue"."project" is not null and "PROJECT"."id" is null)
Steps to Replicate
It seems to be only affecting customers with a larger instance as it took longer time to execute the query.
Actual Results
The above error message is seen, and in the logs:
com.querydsl.core.QueryException: Caught PSQLException for delete from "public"."jiraissue" where "jiraissue"."project" in (select "jiraissue"."project" from "public"."jiraissue" "jiraissue" left join "public"."project" "PROJECT" on "jiraissue"."project" = "PROJECT"."id" where "jiraissue"."project" is not null and "PROJECT"."id" is null) at com.querydsl.sql.DefaultSQLExceptionTranslator.translate(DefaultSQLExceptionTranslator.java:50) at com.querydsl.sql.Configuration.translate(Configuration.java:459) at com.querydsl.sql.dml.SQLDeleteClause.execute(SQLDeleteClause.java:222) at com.atlassian.jira.database.constraints.ForeignKeyConstraint.lambda$null$1(ForeignKeyConstraint.java:83) at com.atlassian.jira.database.constraints.ForeignKeyConstraint.lambda$getCleaner$3(ForeignKeyConstraint.java:89) at com.atlassian.jira.database.constraints.DefaultConstraintManager.lambda$null$21(DefaultConstraintManager.java:414) at com.atlassian.jira.database.constraints.DefaultConstraintManager.runTimed(DefaultConstraintManager.java:449) at com.atlassian.jira.database.constraints.DefaultConstraintManager.lambda$executeGroup$25(DefaultConstraintManager.java:413) at com.atlassian.jira.database.SqlCallback.runQuery(SqlCallback.java:23) at com.atlassian.jira.database.SqlCallback.runQuery(SqlCallback.java:13) at com.atlassian.jira.database.ConnectionUtils.lambda$null$0(ConnectionUtils.java:60) at com.atlassian.jira.database.ConnectionTimeoutUtils.withStatementTimeout(ConnectionTimeoutUtils.java:48) at com.atlassian.jira.database.ConnectionUtils.lambda$withTimeout$1(ConnectionUtils.java:60) at com.atlassian.jira.database.DefaultQueryDslAccessor.lambda$execute$1(DefaultQueryDslAccessor.java:57) at com.atlassian.jira.database.DatabaseAccessorImpl.lambda$runInTransaction$0(DatabaseAccessorImpl.java:67) at com.atlassian.jira.database.DatabaseAccessorImpl.executeQuery(DatabaseAccessorImpl.java:36) at com.atlassian.jira.database.DatabaseAccessorImpl.runInTransaction(DatabaseAccessorImpl.java:62) at com.atlassian.jira.database.DefaultQueryDslAccessor.execute(DefaultQueryDslAccessor.java:56) at com.atlassian.jira.database.constraints.DefaultConstraintManager.executeGroup(DefaultConstraintManager.java:409) at com.atlassian.jira.database.constraints.ProjectNotNullCleanupTaskDefinition.runRolloutTask(ProjectNotNullCleanupTaskDefinition.java:83) at com.atlassian.jira.task.adhoc.ReversibleAdHocUpgradeDefinition$RolloutTask.runUpgradeTask(ReversibleAdHocUpgradeDefinition.java:75) at com.atlassian.jira.task.adhoc.AdHocUpgradeServiceImpl.runTaskReportingProgress(AdHocUpgradeServiceImpl.java:174) at com.atlassian.jira.task.adhoc.AdHocUpgradeServiceImpl.runTask(AdHocUpgradeServiceImpl.java:202) at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374) at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) at com.atlassian.jira.upgrade.UpgradeServiceImpl.runPendingAdhocUpgradeTasks(UpgradeServiceImpl.java:157) at com.atlassian.jira.upgrade.UpgradeService$UpgradeResult.andThen(UpgradeService.java:136) at com.atlassian.jira.upgrade.UpgradeServiceImpl.lambda$runUpgradesForImport$3(UpgradeServiceImpl.java:145) at com.atlassian.jira.upgrade.UpgradeServiceImpl.runWithTaskLogging(UpgradeServiceImpl.java:363) at com.atlassian.jira.upgrade.UpgradeServiceImpl.runUpgradesForImport(UpgradeServiceImpl.java:138) at com.atlassian.jira.bc.dataimport.CloudImportService.runUpgradesForImport(CloudImportService.java:273) at com.atlassian.jira.bc.dataimport.CloudImportService.performDbImport(CloudImportService.java:231) at com.atlassian.jira.bc.dataimport.CloudImportTaskRunner.performTasksOnImportDb(CloudImportTaskRunner.java:306) at com.atlassian.jira.bc.dataimport.CloudImportTaskRunner.performTasksOnImportDb(CloudImportTaskRunner.java:357) at com.atlassian.jira.bc.dataimport.CloudImportTaskRunner.lambda$null$1(CloudImportTaskRunner.java:167) at com.atlassian.connpool.impl.AbstractConnectionPoolProvider.withPrivatePool(AbstractConnectionPoolProvider.java:134) at com.atlassian.jira.connpool.JiraViburConnectionPoolProvider.withPrivatePool(JiraViburConnectionPoolProvider.java:97) at com.atlassian.jira.bc.dataimport.AbstractBackupTaskRunner.lambda$null$0(AbstractBackupTaskRunner.java:60) at java.util.Optional.map(Optional.java:215) at com.atlassian.jira.bc.dataimport.AbstractBackupTaskRunner.lambda$runWithSeparateContextAsync$1(AbstractBackupTaskRunner.java:59) at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1590) 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:748) Caused by: org.postgresql.util.PSQLException: ERROR: canceling statement due to statement timeout at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2477) at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2190) at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:300) at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:428) at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:354) at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:169) at org.postgresql.jdbc.PgPreparedStatement.executeUpdate(PgPreparedStatement.java:136) at sun.reflect.GeneratedMethodAccessor687.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.vibur.dbcp.proxy.AbstractInvocationHandler.targetInvoke(AbstractInvocationHandler.java:145) at org.vibur.dbcp.proxy.StatementInvocationHandler.doProcessExecute(StatementInvocationHandler.java:204) at org.vibur.dbcp.proxy.StatementInvocationHandler.on(StatementInvocationHandler.java:195) at com.atlassian.jira.connpool.JiraViburConnectionPoolProvider.lambda$null$5(JiraViburConnectionPoolProvider.java:149) at org.vibur.dbcp.proxy.StatementInvocationHandler.processExecute(StatementInvocationHandler.java:137) at org.vibur.dbcp.proxy.StatementInvocationHandler.restrictedInvoke(StatementInvocationHandler.java:91) at org.vibur.dbcp.proxy.StatementInvocationHandler.restrictedInvoke(StatementInvocationHandler.java:41) at org.vibur.dbcp.proxy.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:81) at com.sun.proxy.$Proxy4936.executeUpdate(Unknown Source) at com.querydsl.sql.dml.SQLDeleteClause.execute(SQLDeleteClause.java:208) ... 47 more
Note: Caused by: org.postgresql.util.PSQLException: ERROR: canceling statement due to statement timeout
Workaround
None at this moment
More information
Please do not confuse with JRACLOUD-68436 which is also PSQLException, however that issue can be workaround