JIRA 7.6 DVCS Sync fails with PSQLException

XMLWordPrintable

    • 7.06
    • Severity 2 - Major

      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

      1. 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

            Assignee:
            Unassigned
            Reporter:
            David Di Blasio (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: