5 Replies Latest reply: Jul 10, 2013 2:44 PM by Joe Weinstein-Oracle Branched from an earlier discussion. RSS

    Re: ORA-24784: Transaction exists

    b1d09754-b8fe-4030-b4e2-4e95ea2c043e

      Hi we are facing the same issue , What is the solution to this issue ?

        • 1. Re: ORA-24784: Transaction exists
          Vijaya Moderator -Oracle

          Please share the complete stacktrace of the error to help you on the issue.

           

          Thanks,

          Vijaya

          • 2. Re: ORA-24784: Transaction exists
            b1d09754-b8fe-4030-b4e2-4e95ea2c043e

            2013-06-26 13:33:56,376 ERROR com.ekaplus.common.db.ContainerConnectionProvider  -

            com.ekaplus.common.exception.SystemException: java.sql.SQLException: Unexpected exception while enlisting XAConnection java.sql.SQLException: XA error: XAResource.XAER_RMERR start() failed on resource 'MyPool_EKA8X_QA': XAER_RMERR : A resource manager error has occured in the transaction branch

            oracle.jdbc.xa.OracleXAException

              at oracle.jdbc.xa.OracleXAResource.checkError(OracleXAResource.java:1110)

              at oracle.jdbc.xa.client.OracleXAResource.start(OracleXAResource.java:240)

              at weblogic.jdbc.wrapper.VendorXAResource.start(VendorXAResource.java:50)

              at weblogic.jdbc.jta.DataSource.start(DataSource.java:729)

              at weblogic.transaction.internal.XAServerResourceInfo.start(XAServerResourceInfo.java:1231)

              at weblogic.transaction.internal.XAServerResourceInfo.xaStart(XAServerResourceInfo.java:1164)

              at weblogic.transaction.internal.XAServerResourceInfo.enlist(XAServerResourceInfo.java:285)

              at weblogic.transaction.internal.ServerTransactionImpl.enlistResource(ServerTransactionImpl.java:522)

              at weblogic.transaction.internal.ServerTransactionImpl.enlistResource(ServerTransactionImpl.java:449)

              at weblogic.jdbc.jta.DataSource.enlist(DataSource.java:1599)

              at weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1503)

              at weblogic.jdbc.jta.DataSource.getConnection(DataSource.java:446)

              at weblogic.jdbc.jta.DataSource.connect(DataSource.java:403)

              at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:364)

              at com.ekaplus.common.db.ContainerConnectionProvider.getConnection(ContainerConnectionProvider.java:79)

              at com.ekaplus.dao.common.ConnectionManager.getDSConnection(ConnectionManager.java:24)

              at com.ekaplus.dao.common.ConnectionManager.getConnection(ConnectionManager.java:14)

              at com.ekaplus.dao.common.JdbcDAO.getConnection(JdbcDAO.java:372)

              at com.ekaplus.dao.general.ReferenceNumberGeneratorDAO.getLatestSequenceNumerForInternalRefNo(ReferenceNumberGeneratorDAO.java:63)

              at com.ekaplus.service.general.util.ReferenceNumberGenerator.getInternalReferenceNumber(ReferenceNumberGenerator.java:67)

              at com.ekaplus.service.physical.logistics.bookingnote.BookingNoteManagementService.saveBookingNoteDetails(BookingNoteManagementService.java:248)

              at com.ekaplus.servicefacade.physical.logistics.bookingnote.BookingNoteManagementServiceFacade.saveBookingNoteDetails(BookingNoteManagementServiceFacade.java:86)

              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

              at java.lang.reflect.Method.invoke(Method.java:597)

              at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)

              at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)

              at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)

              at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)

              at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)

              at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)

              at $Proxy209.saveBookingNoteDetails(Unknown Source)

              at com.ekaplus.presentation.physical.logistics.bookingnote.action.BookingNoteManagementAction.saveBookingNote(BookingNoteManagementAction.java:452)

              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

              at java.lang.reflect.Method.invoke(Method.java:597)

              at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:276)

              at com.ekaplus.presentation.common.EkaBaseDispatchAction.dispatchMethod(EkaBaseDispatchAction.java:71)

              at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:196)

              at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)

              at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)

              at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)

              at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)

              at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)

              at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)

              at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)

              at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)

              at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)

              at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)

              at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

              at com.ekaplus.sso.web.filter.EkaSSOLogoutFilter.doFilter(EkaSSOLogoutFilter.java:55)

              at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

              at com.ekaplus.sso.web.filter.EkaSSOLoginFilter.doFilter(EkaSSOLoginFilter.java:106)

              at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

              at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)

              at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

              at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

              at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)

              at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)

              at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)

              at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)

              at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)

              at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)

              at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)

              at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)

              at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)

             

             

              at weblogic.jdbc.jta.DataSource.enlist(DataSource.java:1604)

              at weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1503)

              at weblogic.jdbc.jta.DataSource.getConnection(DataSource.java:446)

              at weblogic.jdbc.jta.DataSource.connect(DataSource.java:403)

              at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:364)

              at com.ekaplus.common.db.ContainerConnectionProvider.getConnection(ContainerConnectionProvider.java:79)

              at com.ekaplus.dao.common.ConnectionManager.getDSConnection(ConnectionManager.java:24)

              at com.ekaplus.dao.common.ConnectionManager.getConnection(ConnectionManager.java:14)

              at com.ekaplus.dao.common.JdbcDAO.getConnection(JdbcDAO.java:372)

              at com.ekaplus.dao.general.ReferenceNumberGeneratorDAO.getLatestSequenceNumerForInternalRefNo(ReferenceNumberGeneratorDAO.java:63)

              at com.ekaplus.service.general.util.ReferenceNumberGenerator.getInternalReferenceNumber(ReferenceNumberGenerator.java:67)

              at com.ekaplus.service.physical.logistics.bookingnote.BookingNoteManagementService.saveBookingNoteDetails(BookingNoteManagementService.java:248)

              at com.ekaplus.servicefacade.physical.logistics.bookingnote.BookingNoteManagementServiceFacade.saveBookingNoteDetails(BookingNoteManagementServiceFacade.java:86)

              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

              at java.lang.reflect.Method.invoke(Method.java:597)

              at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)

              at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)

              at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)

              at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)

              at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)

              at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)

              at $Proxy209.saveBookingNoteDetails(Unknown Source)

              at com.ekaplus.presentation.physical.logistics.bookingnote.action.BookingNoteManagementAction.saveBookingNote(BookingNoteManagementAction.java:452)

              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

              at java.lang.reflect.Method.invoke(Method.java:597)

              at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:276)

              at com.ekaplus.presentation.common.EkaBaseDispatchAction.dispatchMethod(EkaBaseDispatchAction.java:71)

              at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:196)

              at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)

              at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)

              at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)

              at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)

              at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)

              at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)

              at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)

              at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)

              at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)

              at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)

              at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

              at com.ekaplus.sso.web.filter.EkaSSOLogoutFilter.doFilter(EkaSSOLogoutFilter.java:55)

              at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

              at com.ekaplus.sso.web.filter.EkaSSOLoginFilter.doFilter(EkaSSOLoginFilter.java:106)

              at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

              at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)

              at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

              at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

              at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)

              at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)

              at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)

              at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)

              at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)

              at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)

              at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)

              at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)

              at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)

             

             

              at com.ekaplus.common.db.ContainerConnectionProvider.getConnection(ContainerConnectionProvider.java:81)

              at com.ekaplus.dao.common.ConnectionManager.getDSConnection(ConnectionManager.java:24)

              at com.ekaplus.dao.common.ConnectionManager.getConnection(ConnectionManager.java:14)

              at com.ekaplus.dao.common.JdbcDAO.getConnection(JdbcDAO.java:372)

              at com.ekaplus.dao.general.ReferenceNumberGeneratorDAO.getLatestSequenceNumerForInternalRefNo(ReferenceNumberGeneratorDAO.java:63)

              at com.ekaplus.service.general.util.ReferenceNumberGenerator.getInternalReferenceNumber(ReferenceNumberGenerator.java:67)

              at com.ekaplus.service.physical.logistics.bookingnote.BookingNoteManagementService.saveBookingNoteDetails(BookingNoteManagementService.java:248)

              at com.ekaplus.servicefacade.physical.logistics.bookingnote.BookingNoteManagementServiceFacade.saveBookingNoteDetails(BookingNoteManagementServiceFacade.java:86)

              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

              at java.lang.reflect.Method.invoke(Method.java:597)

              at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)

              at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)

              at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)

              at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)

              at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)

              at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)

              at $Proxy209.saveBookingNoteDetails(Unknown Source)

              at com.ekaplus.presentation.physical.logistics.bookingnote.action.BookingNoteManagementAction.saveBookingNote(BookingNoteManagementAction.java:452)

              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

              at java.lang.reflect.Method.invoke(Method.java:597)

              at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:276)

              at com.ekaplus.presentation.common.EkaBaseDispatchAction.dispatchMethod(EkaBaseDispatchAction.java:71)

              at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:196)

              at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)

              at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)

              at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)

              at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)

              at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)

              at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)

              at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)

              at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)

              at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)

              at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)

              at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

              at com.ekaplus.sso.web.filter.EkaSSOLogoutFilter.doFilter(EkaSSOLogoutFilter.java:55)

              at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

              at com.ekaplus.sso.web.filter.EkaSSOLoginFilter.doFilter(EkaSSOLoginFilter.java:106)

              at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

              at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)

              at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

              at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

              at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)

              at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)

              at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)

              at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)

              at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)

              at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)

              at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)

              at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)

              at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)

            Caused by: java.sql.SQLException: Unexpected exception while enlisting XAConnection java.sql.SQLException: XA error: XAResource.XAER_RMERR start() failed on resource 'MyPool_EKA8X_QA': XAER_RMERR : A resource manager error has occured in the transaction branch

            oracle.jdbc.xa.OracleXAException

            • 3. Re: ORA-24784: Transaction exists
              b1d09754-b8fe-4030-b4e2-4e95ea2c043e

              Thanks for the reply added is the stack trace. The problem is the same when we have a dblink which when used , that specific connection in the pool is becoming dirty and when used later from the pool gives the above error. How do we kill or make these connection clear ? 

              • 4. Re: ORA-24784: Transaction exists
                Vijaya Moderator -Oracle

                WebLogic server keeps track of the usage of XA resources.  If none of the outstanding requests to the resource was replied in the last maxXACallMillis ms, the resource is declared unhealthy.  In this state, XAER_RMFAIL is returned to all requests to the resource without actually making the call to the resource.

                 

                The solution is to set 'Maximum Duration of XA Calls' to a bigger value by referencing the documentation in the references section below.

                MaxXACallMillis: Sets the maximum allowed duration (in milliseconds) of XA calls to XA resources. This setting applies to the entire domain. (Default: 120000)

                 

                The two minute interval can be configured using the maxXACallMillis JTAMBean attribute. It is not exposed through the Administration Console. You can configuremaxXACallMillis in the config.xml file. For example

                <Domain> .... <JTA MaxXACallMillis="240000" /> .... </Domain>

                 

                1) the parameter in config.xml is max-xa-call-millis, instead of maxXACallMillis

                2) the parameter is exposed through administration console: services --> jta --> advanced --> "Maximum Duration of XA Calls:"

                 

                Thanks,

                Vijaya

                • 5. Re: ORA-24784: Transaction exists
                  Joe Weinstein-Oracle

                  contact official support and open an SR. There have been recent bug fixes made to catch and remove/replace XA connections that go bad while in use.