Uploaded image for project: 'Jira Software Data Center'
  1. Jira Software Data Center
  2. JSWSERVER-16513

JIRA 7.6 DVCS Sync fails with PSQLException

    XMLWordPrintable

Details

    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

      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

      Attachments

        Activity

          People

            Unassigned Unassigned
            ddiblasio David Di Blasio
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: