Details
-
Bug
-
Resolution: Fixed
-
Low
-
7.7.0, 7.6.1
-
7.06
-
Severity 2 - Major
-
Description
Summary
DVCS fails with SQL Caught PSQLException for delete from "public"."AO_E8B6CC_MESSAGE"
Environment
- Clean JIRA 7.6.1 or upgraded instance
- Postgres (supported version)
- Github
Steps to Reproduce
- Connect to GitHub
Expected Results
It works
Actual Results
Operation fails. You can see the following error in the log:
2018-03-28 08:58:25,387 http-nio-8080-exec-21 ERROR admin 538x208x1 1jkt6tr 172.21.44.34 /secure/admin/AddGithubOrganization!finish.jspa [c.a.j.p.d.sync.impl.DefaultSynchronizer] Caught PSQLException for delete from "public"."AO_E8B6CC_MESSAGE" com.querydsl.core.QueryException: Caught PSQLException for delete from "public"."AO_E8B6CC_MESSAGE" at com.querydsl.sql.DefaultSQLExceptionTranslator.translate(DefaultSQLExceptionTranslator.java:50) at com.querydsl.sql.Configuration.translate(Configuration.java:453) at com.querydsl.sql.dml.SQLDeleteClause.execute(SQLDeleteClause.java:209) at com.atlassian.jira.plugins.dvcs.dao.impl.querydsl.MessageDaoQueryDsl.lambda$deleteAllByTag$6(MessageDaoQueryDsl.java:158) at com.atlassian.pocketknife.internal.querydsl.DatabaseAccessorImpl.lambda$execute$0(DatabaseAccessorImpl.java:66) 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.$Proxy374.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.$Proxy374.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:64) at com.atlassian.pocketknife.internal.querydsl.DatabaseAccessorImpl.runInTransaction(DatabaseAccessorImpl.java:40) at com.atlassian.jira.plugins.dvcs.dao.impl.querydsl.MessageDaoQueryDsl.deleteAllByTag(MessageDaoQueryDsl.java:128) at com.atlassian.jira.plugins.dvcs.service.MessagingServiceImpl.cancel(MessagingServiceImpl.java:317) at com.atlassian.jira.plugins.dvcs.sync.impl.DefaultSynchronizer.stopSynchronization(DefaultSynchronizer.java:293) at com.atlassian.jira.plugins.dvcs.sync.impl.DefaultSynchronizer.removeRepoDataForFullSync(DefaultSynchronizer.java:231) at com.atlassian.jira.plugins.dvcs.sync.impl.DefaultSynchronizer.doSync(DefaultSynchronizer.java:159) at com.atlassian.jira.plugins.dvcs.service.RepositorySyncServiceImpl.doSync(RepositorySyncServiceImpl.java:469) at com.atlassian.jira.plugins.dvcs.service.RepositorySyncServiceImpl.syncNewRepo(RepositorySyncServiceImpl.java:415) at com.atlassian.jira.plugins.dvcs.service.RepositorySyncServiceImpl.syncRepos(RepositorySyncServiceImpl.java:401) at com.atlassian.jira.plugins.dvcs.service.RepositorySyncServiceImpl.syncAllInOrganization(RepositorySyncServiceImpl.java:380) at com.atlassian.jira.plugins.dvcs.service.RepositorySyncServiceImpl.syncRepositoryList(RepositorySyncServiceImpl.java:202) at com.atlassian.jira.plugins.dvcs.service.OrganizationServiceImpl.save(OrganizationServiceImpl.java:188) at com.atlassian.jira.plugins.dvcs.spi.github.webwork.AddGithubOrganization.doAddOrganization(AddGithubOrganization.java:151) at com.atlassian.jira.plugins.dvcs.spi.github.webwork.AddGithubOrganization.doFinish(AddGithubOrganization.java:120) ... Caused by: org.postgresql.util.PSQLException: ERROR: update or delete on table "AO_E8B6CC_MESSAGE" violates foreign key constraint "fk_ao_e8b6cc_message_queue_item_message_id" on table "AO_E8B6CC_MESSAGE_QUEUE_ITEM" Detail: Key (ID)=(3) is still referenced from table "AO_E8B6CC_MESSAGE_QUEUE_ITEM". at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2455) at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2155) at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:288) at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:430) at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:168) at org.postgresql.jdbc.PgPreparedStatement.executeUpdate(PgPreparedStatement.java:135) at org.apache.commons.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:98) at org.apache.commons.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:98) at com.querydsl.sql.dml.SQLDeleteClause.execute(SQLDeleteClause.java:195) ... 284 more
Notes
This appears to affect versions of JIRA running DVCS version 4.2.0. This issue is resolved along with several other database related issues in DVCS 4.2.1 which is bundled starting in JIRA 7.6.3
Workaround
Upgrade to 7.6.3 or higher