users@glassfish.java.net

Re: Global (User) Transaction Not Timing Out

From: <glassfish_at_javadesktop.org>
Date: Fri, 22 May 2009 09:18:48 PDT

Yes, that was the first thing I tried...doesn't seem to work :-(

I also tried setting the following properties in config.xml under the transaction-service node:
          <property name="xaresource-txn-timeout" value="10" />
          <property name="pending-txn-cleanup-interval" value="10" />
          <property name="wait-time-before-recovery-insec" value="10" />

Still, no timeouts...

I also turned logging way up and I am getting the follwing messages that seem to indicate that it's TRYING to do something with the transaction...it's just not clear why it's not aborting...

    TimeoutManager.timeoutCoordinator():case ACTIVE_TIMEOUTRecoveryManager.getLocalCoordinator() returned non-null,which means txn is still around. Marking for Rollback thetransaction...: GTID is : 02000000917A176754333430302D342C5431323432393735313339303133
    Incomplete transaction recovery is not requeired, waiting for the next interval
    (this repeats every 10 seconds or so)


I also tried clicking "Recover Transaction..." on "Application Server" page and that produces the following messages in the log, including a couple of NullPointerExceptions...:

Performing recovery of incomplete Tx...
ResourcesUtil :: isResourceReferenceEnabled ref enabled ?true
ResourcesUtil :: isResourceReferenceEnabled ref enabled ?true
ResourcesUtil :: isResourceReferenceEnabled ref enabled ?true
ResourcesUtil :: isResourceReferenceEnabled ref enabled ?true
ResourcesUtil :: isEnabled
ResourcesUtil :: isResourceReferenceEnabled ref enabled ?true
ResourceInstaller:: recoverJdbcXAResources :: adding : __TimerPool
ResourcesUtil :: isEnabled
ResourcesUtil :: isResourceReferenceEnabled ref enabled ?true
ResourceInstaller:: recoverJdbcXAResources :: adding : __CallFlowPool
ResourcesUtil :: isEnabled
ResourcesUtil :: isResourceReferenceEnabled ref enabled ?true
ResourceInstaller:: recoverJdbcXAResources :: adding : DerbyPool
ResourcesUtil :: isEnabled
ResourcesUtil :: isResourceReferenceEnabled ref enabled ?true
ResourceInstaller:: recoverJdbcXAResources :: adding : connectionPool
ResourcesUtil :: isResourceReferenceEnabled ref enabled ?true
ResourcesUtil :: isResourceReferenceEnabled ref enabled ?true
ResourcesUtil :: isResourceReferenceEnabled ref enabled ?true
ResourcesUtil :: isResourceReferenceEnabled ref enabled ?true
returning/found the resource adapter from connector registry
isMCFCreated __TimerPool - true
Returning the MCF from connector registry.
returning the connector registry
@@@@ Creating plain ConnectionManager
isMCFCreated __TimerPool - true
Returning the MCF from connector registry.
returning the connector registry
In createConnectionFactory(javax.resource.spi.ConnectionManager cxManager)
returning/found the resource adapter from connector registry
isMCFCreated __CallFlowPool - true
Returning the MCF from connector registry.
returning the connector registry
@@@@ Creating plain ConnectionManager
isMCFCreated __CallFlowPool - true
Returning the MCF from connector registry.
returning the connector registry
In createConnectionFactory(javax.resource.spi.ConnectionManager cxManager)
returning/found the resource adapter from connector registry
isMCFCreated DerbyPool - true
Returning the MCF from connector registry.
returning the connector registry
@@@@ Creating plain ConnectionManager
isMCFCreated DerbyPool - true
Returning the MCF from connector registry.
returning the connector registry
In createConnectionFactory(javax.resource.spi.ConnectionManager cxManager)
returning/found the resource adapter from connector registry
isMCFCreated connectionPool - true
Returning the MCF from connector registry.
returning the connector registry
@@@@ Creating plain ConnectionManager
isMCFCreated connectionPool - true
Returning the MCF from connector registry.
returning the connector registry
In createConnectionFactory(javax.resource.spi.ConnectionManager cxManager)
isMCFCreated connectionPool - true
Returning the MCF from connector registry.
In createManagedConnection
In equals
In equals
In getXAResource
isMCFCreated __TimerPool - true
Returning the MCF from connector registry.
RAR5005:Error in accessing XA resource with JNDI name [__TimerPool] for recovery
RAR5042:Error in accessing XA resource for recovery
java.lang.NullPointerException
        at com.sun.enterprise.resource.ResourceInstaller.recoverJdbcXAResources(ResourceInstaller.java:498)
        at com.sun.enterprise.resource.ResourceInstaller.recoverIncompleteTx(ResourceInstaller.java:270)
        at com.sun.enterprise.transaction.monitor.JTSMonitorMBean.recover(JTSMonitorMBean.java:548)
        at com.sun.enterprise.transaction.TransactionsRecoveryEventListenerImpl.processEvent(TransactionsRecoveryEventListenerImpl.java:69)
        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 com.sun.enterprise.admin.event.BaseAdminEventHandler.invokeNotification(BaseAdminEventHandler.java:90)
        at com.sun.enterprise.admin.event.BaseAdminEventHandler.invokeNotification(BaseAdminEventHandler.java:81)
        at com.sun.enterprise.admin.event.BaseAdminEventHandler.invokeAdminEventListener(BaseAdminEventHandler.java:110)
        at com.sun.enterprise.admin.event.BaseAdminEventHandler.processEvent(BaseAdminEventHandler.java:72)
        at com.sun.enterprise.admin.event.AdminEventMulticaster.processEvent(AdminEventMulticaster.java:501)
        at com.sun.enterprise.admin.event.AdminEventMulticaster.multicastEvent(AdminEventMulticaster.java:182)
        at com.sun.enterprise.admin.mbeans.TransactionsRecoveryMBean.forwardEvent(TransactionsRecoveryMBean.java:113)
        at com.sun.enterprise.admin.mbeans.TransactionsRecoveryMBean.sendTransactionsRecoveryEvent(TransactionsRecoveryMBean.java:96)
        at com.sun.enterprise.admin.mbeans.TransactionsRecoveryMBean.recoverTransactions(TransactionsRecoveryMBean.java:82)
        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 com.sun.enterprise.admin.MBeanHelper.invokeOperationInBean(MBeanHelper.java:381)
        at com.sun.enterprise.admin.MBeanHelper.invokeOperationInBean(MBeanHelper.java:364)
        at com.sun.enterprise.admin.config.BaseConfigMBean.invoke(BaseConfigMBean.java:477)
        at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
        at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
        at sun.reflect.GeneratedMethodAccessor14.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at com.sun.enterprise.admin.util.proxy.ProxyClass.invoke(ProxyClass.java:90)
        at $Proxy1.invoke(Unknown Source)
        at com.sun.enterprise.admin.server.core.jmx.SunoneInterceptor.invoke(SunoneInterceptor.java:304)
        at com.sun.enterprise.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:174)
        at com.sun.enterprise.tools.admingui.util.JMXUtil.invoke(JMXUtil.java:119)
        at com.sun.enterprise.tools.admingui.util.JMXUtil.invoke(JMXUtil.java:75)
        at com.sun.enterprise.tools.admingui.handlers.ServerHandlers.recoverTransactions(ServerHandlers.java:1639)
        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 com.sun.jsftemplating.layout.descriptors.handler.Handler.invoke(Handler.java:422)
        at com.sun.jsftemplating.layout.descriptors.LayoutElementBase.dispatchHandlers(LayoutElementBase.java:424)
        at com.sun.jsftemplating.layout.descriptors.LayoutElementBase.dispatchHandlers(LayoutElementBase.java:398)
        at com.sun.jsftemplating.layout.event.CommandActionListener.invokeCommandHandlers(CommandActionListener.java:132)
        at com.sun.jsftemplating.layout.event.CommandActionListener.processAction(CommandActionListener.java:80)
        at javax.faces.event.ActionEvent.processListener(ActionEvent.java:77)
        at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:746)
        at javax.faces.component.UICommand.broadcast(UICommand.java:368)
        at com.sun.webui.jsf.component.WebuiCommand.broadcast(WebuiCommand.java:160)
        at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:447)
        at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:752)
        at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
        at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
        at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
        at com.sun.faces.extensions.avatar.lifecycle.PartialTraversalLifecycle.execute(PartialTraversalLifecycle.java:80)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
        at com.sun.enterprise.tools.admingui.servlet.DelayedInitFacesServlet.service(DelayedInitFacesServlet.java:89)
        at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:427)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:333)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
        at com.sun.webui.jsf.util.UploadFilter.doFilter(UploadFilter.java:240)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:313)
        at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:287)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:218)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
        at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
        at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:222)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1096)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:166)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1096)
        at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:288)
        at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:647)
        at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:579)
        at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:831)
        at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
        at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
        at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
        at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
        at com.sun.enterprise.web.connector.grizzly.WorkerThreadImpl.run(WorkerThreadImpl.java:116)
isMCFCreated __CallFlowPool - true
Returning the MCF from connector registry.
RAR5005:Error in accessing XA resource with JNDI name [__CallFlowPool] for recovery
RAR5042:Error in accessing XA resource for recovery
java.lang.NullPointerException
        at com.sun.enterprise.resource.ResourceInstaller.recoverJdbcXAResources(ResourceInstaller.java:498)
        at com.sun.enterprise.resource.ResourceInstaller.recoverIncompleteTx(ResourceInstaller.java:270)
        at com.sun.enterprise.transaction.monitor.JTSMonitorMBean.recover(JTSMonitorMBean.java:548)
        at com.sun.enterprise.transaction.TransactionsRecoveryEventListenerImpl.processEvent(TransactionsRecoveryEventListenerImpl.java:69)
        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 com.sun.enterprise.admin.event.BaseAdminEventHandler.invokeNotification(BaseAdminEventHandler.java:90)
        at com.sun.enterprise.admin.event.BaseAdminEventHandler.invokeNotification(BaseAdminEventHandler.java:81)
        at com.sun.enterprise.admin.event.BaseAdminEventHandler.invokeAdminEventListener(BaseAdminEventHandler.java:110)
        at com.sun.enterprise.admin.event.BaseAdminEventHandler.processEvent(BaseAdminEventHandler.java:72)
        at com.sun.enterprise.admin.event.AdminEventMulticaster.processEvent(AdminEventMulticaster.java:501)
        at com.sun.enterprise.admin.event.AdminEventMulticaster.multicastEvent(AdminEventMulticaster.java:182)
        at com.sun.enterprise.admin.mbeans.TransactionsRecoveryMBean.forwardEvent(TransactionsRecoveryMBean.java:113)
        at com.sun.enterprise.admin.mbeans.TransactionsRecoveryMBean.sendTransactionsRecoveryEvent(TransactionsRecoveryMBean.java:96)
        at com.sun.enterprise.admin.mbeans.TransactionsRecoveryMBean.recoverTransactions(TransactionsRecoveryMBean.java:82)
        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 com.sun.enterprise.admin.MBeanHelper.invokeOperationInBean(MBeanHelper.java:381)
        at com.sun.enterprise.admin.MBeanHelper.invokeOperationInBean(MBeanHelper.java:364)
        at com.sun.enterprise.admin.config.BaseConfigMBean.invoke(BaseConfigMBean.java:477)
        at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
        at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
        at sun.reflect.GeneratedMethodAccessor14.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at com.sun.enterprise.admin.util.proxy.ProxyClass.invoke(ProxyClass.java:90)
        at $Proxy1.invoke(Unknown Source)
        at com.sun.enterprise.admin.server.core.jmx.SunoneInterceptor.invoke(SunoneInterceptor.java:304)
        at com.sun.enterprise.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:174)
        at com.sun.enterprise.tools.admingui.util.JMXUtil.invoke(JMXUtil.java:119)
        at com.sun.enterprise.tools.admingui.util.JMXUtil.invoke(JMXUtil.java:75)
        at com.sun.enterprise.tools.admingui.handlers.ServerHandlers.recoverTransactions(ServerHandlers.java:1639)
        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 com.sun.jsftemplating.layout.descriptors.handler.Handler.invoke(Handler.java:422)
        at com.sun.jsftemplating.layout.descriptors.LayoutElementBase.dispatchHandlers(LayoutElementBase.java:424)
        at com.sun.jsftemplating.layout.descriptors.LayoutElementBase.dispatchHandlers(LayoutElementBase.java:398)
        at com.sun.jsftemplating.layout.event.CommandActionListener.invokeCommandHandlers(CommandActionListener.java:132)
        at com.sun.jsftemplating.layout.event.CommandActionListener.processAction(CommandActionListener.java:80)
        at javax.faces.event.ActionEvent.processListener(ActionEvent.java:77)
        at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:746)
        at javax.faces.component.UICommand.broadcast(UICommand.java:368)
        at com.sun.webui.jsf.component.WebuiCommand.broadcast(WebuiCommand.java:160)
        at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:447)
        at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:752)
        at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
        at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
        at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
        at com.sun.faces.extensions.avatar.lifecycle.PartialTraversalLifecycle.execute(PartialTraversalLifecycle.java:80)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
        at com.sun.enterprise.tools.admingui.servlet.DelayedInitFacesServlet.service(DelayedInitFacesServlet.java:89)
        at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:427)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:333)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
        at com.sun.webui.jsf.util.UploadFilter.doFilter(UploadFilter.java:240)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:313)
        at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:287)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:218)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
        at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
        at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:222)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1096)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:166)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1096)
        at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:288)
        at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:647)
        at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:579)
        at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:831)
        at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
        at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
        at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
        at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
        at com.sun.enterprise.web.connector.grizzly.WorkerThreadImpl.run(WorkerThreadImpl.java:116)


I don't know if those errors are related to the missing timeout, or are a separate issue.

Thanks again for following up...
[Message sent by forum member 'christopherrued' (christopherrued)]

http://forums.java.net/jive/thread.jspa?messageID=347329