Uploaded image for project: 'CloudStack'
  1. CloudStack
  2. CLOUDSTACK-9595

Transactions are not getting retried in case of database deadlock errors

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 4.8.0
    • 4.8.1
    • None
    • Security Level: Public (Anyone can view this level - this is the default.)
    • None

    Description

      Customer is seeing occasional error 'Deadlock found when trying to get lock; try restarting transaction' messages in their management server logs. It happens regularly at least once a day. The following is the error seen

      2015-12-09 19:23:19,450 ERROR [cloud.api.ApiServer] (catalina-exec-3:ctx-f05c58fc ctx-39c17156 ctx-7becdf6e) unhandled exception executing api command: [Ljava.lang.String;@230a6e7f
      com.cloud.utils.exception.CloudRuntimeException: DB Exception on: com.mysql.jdbc.JDBC4PreparedStatement@74f134e3: DELETE FROM instance_group_vm_map WHERE instance_group_vm_map.instance_id = 941374
      at com.cloud.utils.db.GenericDaoBase.expunge(GenericDaoBase.java:1209)
      at sun.reflect.GeneratedMethodAccessor360.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:606)
      at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
      at com.cloud.utils.db.TransactionContextInterceptor.invoke(TransactionContextInterceptor.java:34)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161)
      at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:91)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
      at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
      at com.sun.proxy.$Proxy237.expunge(Unknown Source)
      at com.cloud.vm.UserVmManagerImpl$2.doInTransactionWithoutResult(UserVmManagerImpl.java:2593)
      at com.cloud.utils.db.TransactionCallbackNoReturn.doInTransaction(TransactionCallbackNoReturn.java:25)
      at com.cloud.utils.db.Transaction$2.doInTransaction(Transaction.java:57)
      at com.cloud.utils.db.Transaction.execute(Transaction.java:45)
      at com.cloud.utils.db.Transaction.execute(Transaction.java:54)
      at com.cloud.vm.UserVmManagerImpl.addInstanceToGroup(UserVmManagerImpl.java:2575)
      at com.cloud.vm.UserVmManagerImpl.updateVirtualMachine(UserVmManagerImpl.java:2332)

      Attachments

        Activity

          People

            Unassigned Unassigned
            yvsubhash subhash yedugundla
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated: