Uploaded image for project: 'Bamboo Data Center'
  1. Bamboo Data Center
  2. BAM-15068

Bamboo scheduled backups fail due to [JDBCTransaction] Rollback failed

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • Medium
    • None
    • 5.5.1, 5.7.2, 5.8.1, 5.9.4, 5.9.7, 5.10.3

    Description

      Bamboo schedule backup fails with the following error:

      ...
      2014-09-25 01:16:39,314 INFO [QuartzScheduler_Worker-5] [XmlMigrator] Finished writing to file: /opt/atlassian/bamboo-home/backups/bamboo_backup_2014_09_25.zip/db-export/variableDefinitions.xml
      2014-09-25 01:16:39,462 INFO [QuartzScheduler_Worker-5] [XmlMigrator] Writing xml to file: /opt/atlassian/bamboo-home/backups/bamboo_backup_2014_09_25.zip/db-export/variableSubstitutions.xml
      2014-09-25 01:16:39,462 INFO [QuartzScheduler_Worker-5] [XmlMigrator] Exporting with: com.atlassian.bamboo.migration.stream.VariableSubstitutionMapper@264b590
      ...
      2014-09-25 01:35:12,910 INFO [QuartzScheduler_Worker-5] [XmlMigrator] Ensuring the the file has been unmounted
      2014-09-25 01:35:12,910 INFO [QuartzScheduler_Worker-5] [XmlMigrator] Unmounted /opt/atlassian/bamboo-home/backups/bamboo_backup_2014_09_25.zip
      2014-09-25 01:35:12,948 WARN [QuartzScheduler_Worker-5] [DefaultConnectionTester] SQL State '08007' of Exception tested by statusOnException() implies that the database is invalid, and the pool should refill itself with fresh Connections.
      com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Communications link failure during rollback(). Transaction resolution unknown.
      	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
      	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
      	at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
      	at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
      	at com.mysql.jdbc.Util.getInstance(Util.java:386)
      	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1014)
      	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:988)
      	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:974)
      	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:919)
      	at com.mysql.jdbc.ConnectionImpl.rollback(ConnectionImpl.java:4808)
      	at com.mchange.v2.c3p0.impl.NewProxyConnection.rollback(NewProxyConnection.java:855)
      	at net.sf.hibernate.transaction.JDBCTransaction.rollback(JDBCTransaction.java:86)
      	at org.springframework.orm.hibernate.HibernateTransactionManager.doRollback(HibernateTransactionManager.java:529)
      	at org.springframework.transaction.support.AbstractPlatformTransactionManager.processRollback(AbstractPlatformTransactionManager.java:753)
      	at org.springframework.transaction.support.AbstractPlatformTransactionManager.rollback(AbstractPlatformTransactionManager.java:730)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:616)
      	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304)
      	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:198)
      	at $Proxy17.rollback(Unknown Source)
      	at org.springframework.transaction.interceptor.TransactionAspectSupport.completeTransactionAfterThrowing(TransactionAspectSupport.java:332)
      	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      	at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:629)
      	at com.atlassian.bamboo.migration.XmlMigrator$$EnhancerByCGLIB$$9599a377.exportXml(<generated>)
      	at com.atlassian.bamboo.migration.ImportExportManagerImpl.bambooExport(ImportExportManagerImpl.java:95)
      	at com.atlassian.bamboo.configuration.ScheduledBackupJob.execute(ScheduledBackupJob.java:74)
      	at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
      	at com.atlassian.bamboo.utils.BambooRunnables$1.run(BambooRunnables.java:49)
      	at com.atlassian.bamboo.security.ImpersonationHelper.runWith(ImpersonationHelper.java:31)
      	at com.atlassian.bamboo.security.ImpersonationHelper.runWithSystemAuthority(ImpersonationHelper.java:20)
      	at com.atlassian.bamboo.security.ImpersonationHelper$1.run(ImpersonationHelper.java:52)
      	at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:525)
      2014-09-25 01:35:12,952 WARN [QuartzScheduler_Worker-5] [C3P0PooledConnectionPool] A ConnectionTest has failed, reporting that all previously acquired Connections are likely invalid. The pool will be reset.
      2014-09-25 01:35:12,952 ERROR [QuartzScheduler_Worker-5] [JDBCTransaction] Rollback failed
      com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Communications link failure during rollback(). Transaction resolution unknown.
      	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
      	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
      	at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
      	at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
      	at com.mysql.jdbc.Util.getInstance(Util.java:386)
      	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1014)
      	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:988)
      	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:974)
      	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:919)
      	at com.mysql.jdbc.ConnectionImpl.rollback(ConnectionImpl.java:4808)
      	at com.mchange.v2.c3p0.impl.NewProxyConnection.rollback(NewProxyConnection.java:855)
      	at net.sf.hibernate.transaction.JDBCTransaction.rollback(JDBCTransaction.java:86)
      	at org.springframework.orm.hibernate.HibernateTransactionManager.doRollback(HibernateTransactionManager.java:529)
      	at org.springframework.transaction.support.AbstractPlatformTransactionManager.processRollback(AbstractPlatformTransactionManager.java:753)
      	at org.springframework.transaction.support.AbstractPlatformTransactionManager.rollback(AbstractPlatformTransactionManager.java:730)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:616)
      	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304)
      	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:198)
      	at $Proxy17.rollback(Unknown Source)
      	at org.springframework.transaction.interceptor.TransactionAspectSupport.completeTransactionAfterThrowing(TransactionAspectSupport.java:332)
      	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      	at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:629)
      	at com.atlassian.bamboo.migration.XmlMigrator$$EnhancerByCGLIB$$9599a377.exportXml(<generated>)
      	at com.atlassian.bamboo.migration.ImportExportManagerImpl.bambooExport(ImportExportManagerImpl.java:95)
      	at com.atlassian.bamboo.configuration.ScheduledBackupJob.execute(ScheduledBackupJob.java:74)
      	at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
      	at com.atlassian.bamboo.utils.BambooRunnables$1.run(BambooRunnables.java:49)
      	at com.atlassian.bamboo.security.ImpersonationHelper.runWith(ImpersonationHelper.java:31)
      	at com.atlassian.bamboo.security.ImpersonationHelper.runWithSystemAuthority(ImpersonationHelper.java:20)
      	at com.atlassian.bamboo.security.ImpersonationHelper$1.run(ImpersonationHelper.java:52)
      	at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:525)
      ...
      
      Workaround

      For large instances we recommend the using filesystem and DB backups instead of Bamboo built-in backup.

      You might try replacing the JDBC Connector Bamboo uses with version 5.1.45, although it's not guaranteed it will work

      Attachments

        Activity

          People

            Unassigned Unassigned
            rsperafico Rafael Sperafico (Inactive)
            Votes:
            9 Vote for this issue
            Watchers:
            17 Start watching this issue

            Dates

              Created:
              Updated: