Topic
  • 3 replies
  • Latest Post - ‏2013-05-16T12:24:02Z by bpaskin
Y35Q_Gabriel_Jimenez
2 Posts

Pinned topic WebSphere 7.0 - Connection/ Transaction Management

‏2013-05-13T23:48:55Z | connection management performance transaction was was7.0 websphere

Hello, 

I am working on a Java EE application that is connecting to an IMS database. We are running on WebSphere Application Server version 7.0.0.25. For hardware, we have 1 CPU and 4 GB of RAM. Our OS is Linux 6.1 Redhat.

While running our application with1,2 or 3 threads we have no issues. However, just passed 3 threads we start receiving the below errors. We have no transaction management written code in our application as we expect WAS to handle transactions, connection, and thread pooling.  However, we are leveraging an IMS DB Resource Adapter - imsudbJXA.rar to maintain our IMS Connection properties outside of our application. 

Could you please help us determine what is causing our issues? I understand we are running on small hardware, but a load of 5 threads is truly nothing. :-)

 

[5/13/13 16:20:56:936 MST] 0000006d ConnectionEve W   CWWJC0167W: An attempt to concurrently use the same connection handle by multiple threads has been detected. The connection handle is: <null>.
 

 

[5/13/13 16:20:55:016 MST] 0000006d               W com.ibm.ejs.j2c.MCWrapper evaluateTriggerConditions CWWJC0501W: Connection Low Efficiency Alert for ConnectionFactory or DataSoure eis/IMSRemote. The usage efficiency for a connection is 4.166666666666666 which is below the configured alert threshold of 50 percent efficiency. If callstack capture is enabled, the callstack at the time the connection was requested will be provided in the alert contents.
 

 

[5/13/13 16:21:24:327 MST] 00000075 AlertControll E com.ibm.ws.rasdiag.AlertController checkPoint CWRSD0010W: Runtime Throwable Exception in evaluteTriggerConditions
                                 java.lang.NullPointerException
        at com.ibm.ejs.j2c.ConnectionEventListener.evaluateTriggerConditions(ConnectionEventListener.java:1397)
        at com.ibm.ws.rasdiag.AlertController.checkPoint(AlertController.java:68)
        at com.ibm.ejs.j2c.ConnectionEventListener.checkForHandleUseViolation(ConnectionEventListener.java:1341)
        at com.ibm.ejs.j2c.ConnectionEventListener.localTransactionStarted(ConnectionEventListener.java:769)
        at com.ibm.ims.db.spi.ManagedConnectionImpl.localTransactionStarted(ManagedConnectionImpl.java:1260)
        at com.ibm.ims.db.spi.ManagedConnectionImpl.dbWorkIsBeingDone(ManagedConnectionImpl.java:1121)
        at com.ibm.ims.db.hybrid.HybridConnectionImpl.prepareStatement(HybridConnectionImpl.java:233)
        at com.myCompany.common.dao.implementations.AbstractDBConnectionDAO.executeDataRetrievalQuery(AbstractDBConnectionDAO.java:80)
        at com.myCompany.common.dao.implementations.CreditFraudCrossRefDAO.getCreditFraudCorssRefInfo(CreditFraudCrossRefDAO.java:70)
        at com.myCompany.common.businessdelegate.implementations.CreditFraudCrossRefBD.getCreditFraudCorssRefInfo(CreditFraudCrossRefBD.java:34)
        at com.myCompany.common.crossrefrenceinfo.CrossRefInfoProvider.getCreditFraudCorssRefInfo(CrossRefInfoProvider.java:35)
        at com.myCompany.common.helper.CommonUtilitiesRequestHandler.getCreditFraudCorssRefInfo(CommonUtilitiesRequestHandler.java:48)
        at com.myCompany.wcc.wccch.service.CreditFraudHistoryServiceBindingImpl.getCreditFraudHistory(CreditFraudHistoryServiceBindingImpl.java:71)
        at sun.reflect.GeneratedMethodAccessor110.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
        at java.lang.reflect.Method.invoke(Method.java:611)
        at org.apache.axis2.jaxws.server.dispatcher.JavaDispatcher.invokeTargetOperation(JavaDispatcher.java:100)
        at org.apache.axis2.jaxws.server.dispatcher.JavaBeanDispatcher.invoke(JavaBeanDispatcher.java:117)
        at org.apache.axis2.jaxws.server.EndpointController.invoke(EndpointController.java:111)
        at org.apache.axis2.jaxws.server.JAXWSMessageReceiver.receive(JAXWSMessageReceiver.java:161)
        at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:189)
        at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
        at com.ibm.ws.websvcs.transport.http.WASAxis2Servlet.doPost(WASAxis2Servlet.java:1431)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:738)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
        at com.ibm.ws.cache.servlet.ServletWrapper.serviceProxied(ServletWrapper.java:307)
        at com.ibm.ws.cache.servlet.CacheHook.handleFragment(CacheHook.java:576)
        at com.ibm.ws.cache.servlet.CacheHook.handleServlet(CacheHook.java:250)
        at com.ibm.ws.cache.servlet.ServletWrapper.service(ServletWrapper.java:259)
        at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1657)
        at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:939)
        at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:502)
        at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:181)
        at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:91)
        at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:864)
        at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1592)
        at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:186)
        at com.ibm.ws.ard.channel.ARDChannelConnLink.handleDiscrimination(ARDChannelConnLink.java:188)
        at com.ibm.ws.ard.channel.ARDChannelConnLink.ready(ARDChannelConnLink.java:93)
        at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:452)
        at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:511)
        at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:305)
        at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:83)
        at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
        at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
        at com.ibm.io.async.AsyncChannelFuture$1.run(AsyncChannelFuture.java:205)
        at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1646)
 
[5/13/13 16:21:24:329 MST] 00000075 ConnectionEve W   CWWJC0167W: An attempt to concurrently use the same connection handle by multiple threads has been detected. The connection handle is: <null>.

 

 

 

[5/13/13 12:40:14:391 MST] 0000002f PmiRegistry   W   CWPMI0023W: Unable to register PMI module due to duplicate name: /_WS/EH
[5/13/13 12:40:14:452 MST] 0000002f StatsFactoryU W   CWPMI0103W: Unable to register custom PMI module due to duplicate name under the same parent or invalid PMI tree path: /_WS/EH
[5/13/13 12:40:14:455 MST] 0000002f stats         E com.ibm.ws.ard.stats.ARDModule ARDModule CWRDI0007W: Failed to initialize PMI ARDModule com.ibm.wsspi.pmi.factory.StatsFactoryException: CWPMI0103W: Unable to register custom PMI module due to duplicate name under the same parent or invalid PMI tree path: /_WS/EH
[5/13/13 12:40:16:897 MST] 00000030 SystemOut     O 0    [WebContainer : 5] ERROR com.myCompany.imsconnect.IMSConnectHandler  - Inside getInstace
[5/13/13 12:40:16:898 MST] 00000030 SystemOut     O 3    [WebContainer : 5] ERROR com.myCompany.imsconnect.IMSConnectHandler  - Enter getImsdataSourceConnection method.
[5/13/13 12:40:17:050 MST] 00000030 WorkSpaceMana A   CWWKP0500I: Workspace configuration consistency check is disabled.
[5/13/13 12:40:17:182 MST] 00000030 PoolManager   I   CWWJC0288I: Configuration property connErrorAlertEnabled changed from false to true for pool eis/IMSRemote
[5/13/13 12:40:17:188 MST] 00000030 PoolManager   I   CWWJC0288I: Configuration property connErrorAlertWindowMillis changed from 0 to 30000 for pool eis/IMSRemote
[5/13/13 12:40:17:189 MST] 00000030 PoolManager   I   CWWJC0288I: Configuration property connLowEffAlertEnabled changed from false to true for pool eis/IMSRemote
[5/13/13 12:40:17:191 MST] 00000030 PoolManager   I   CWWJC0288I: Configuration property efficiencyGroupEnabled changed from false to true for pool eis/IMSRemote
[5/13/13 12:40:17:193 MST] 00000030 PoolManager   I   CWWJC0288I: Configuration property poolLowEffAlertEnabled changed from false to true for pool eis/IMSRemote
[5/13/13 12:40:17:194 MST] 00000030 PoolManager   I   CWWJC0288I: Configuration property poolLowEffAlertWindowMillis changed from 0 to 30000 for pool eis/IMSRemote
[5/13/13 12:40:17:200 MST] 00000030 PoolManager   I   CWWJC0288I: Configuration property surgeModeAlertEnabled changed from false to true for pool eis/IMSRemote
[5/13/13 12:40:17:203 MST] 00000030 PoolManager   I   CWWJC0288I: Configuration property LTCNestingAlertEnabled changed from false to true for pool eis/IMSRemote
[5/13/13 12:40:17:206 MST] 00000030 PoolManager   I   CWWJC0288I: Configuration property LTCGrooupEnabled changed from false to true for pool eis/IMSRemote
[5/13/13 12:40:17:208 MST] 00000030 PoolManager   I   CWWJC0288I: Configuration property LTCConnPerThreadLimitAlertEnabled changed from false to true for pool eis/IMSRemote
[5/13/13 12:40:17:209 MST] 00000030 PoolManager   I   CWWJC0288I: Configuration property LTCSerialReuseViolationAlertEnabled changed from false to true for pool eis/IMSRemote
[5/13/13 12:40:17:258 MST] 00000030 PoolManager   I   CWWJC0288I: Configuration property connErrorAlertWindowMillis changed from 300000 to 30000 for pool eis/IMSRemote
[5/13/13 12:40:17:261 MST] 00000030 PoolManager   I   CWWJC0288I: Configuration property poolLowEffAlertWindowMillis changed from 300000 to 30000 for pool eis/IMSRemote
[5/13/13 12:40:17:262 MST] 00000030 PoolManager   I   CWWJC0288I: Configuration property poolLowEffAlertWindowMillis changed from 300000 to 30000 for pool eis/IMSRemote
 
[5/13/13 13:18:02:332 MST] 000000a0 ConnectionEve W   CWWJC0167W: An attempt to concurrently use the same connection handle by multiple threads has been detected. The connection handle is: <null>.
[5/13/13 13:18:02:334 MST] 000000a0 ConnectionEve W   CWWJC0206W: A connection error occurred.  To help determine the problem, enable the Diagnose Connection Usage option on the Connection Factory or Data Source. This is the multithreaded access detection option.
[5/13/13 13:18:02:338 MST] 000000a0 ConnectionEve A   CWWJC0216I: The Connection Manager received a fatal connection error from the Resource Adapter for resource eis/IMSRemote. Information may be available in previous messages or exceptions.
[5/13/13 13:18:02:347 MST] 000000a6 ConnectionEve W   CWWJC0167W: An attempt to concurrently use the same connection handle by multiple threads has been detected. The connection handle is: <null>.
[5/13/13 13:18:02:357 MST] 000000a6 ConnectionEve A   CWWJC0216I: The Connection Manager received a fatal connection error from the Resource Adapter for resource eis/IMSRemote. Information may be available in previous messages or exceptions.
[5/13/13 13:18:02:362 MST] 000000a0 SystemOut     O 1589568 [WebContainer : 44] ERROR com.myCompany.common.dao.implementations.AbstractDBConnectionDAO  - Exception while closing the connection.
java.sql.SQLException: com.ibm.ims.drda.base.DisconnectException: A distributed protocol violation was detected. DSS header length less than 6. Error code: 1
        at com.ibm.ims.jdbc.ConnectionImpl.commitInternal(ConnectionImpl.java:321)
        at com.ibm.ims.jdbc.ResultSetImpl.closeInternal(ResultSetImpl.java:3221)
        at com.ibm.ims.jdbc.StatementImpl.closeInternal(StatementImpl.java:207)
        at com.ibm.ims.jdbc.ConnectionImpl.close(ConnectionImpl.java:164)
        at com.ibm.ims.db.hybrid.HybridConnectionImpl.close(HybridConnectionImpl.java:100)
        at com.myCompany.common.dao.implementations.AbstractDBConnectionDAO.executeDataRetrievalQuery(AbstractDBConnectionDAO.java:147)
        at com.myCompany.wcc.wccch.dao.implementations.CreditFraudHistoryDAO.getCreditFraudHistory(CreditFraudHistoryDAO.java:140)
        at com.myCompany.wcc.wccch.businessdelegate.implementations.CreditFraudHistoryBD.getCreditFraudHistory(CreditFraudHistoryBD.java:35)
        at com.myCompany.wcc.wccch.service.CreditFraudHistoryServiceBindingImpl.getCreditFraudHistory(CreditFraudHistoryServiceBindingImpl.java:83)
        at sun.reflect.GeneratedMethodAccessor116.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
        at java.lang.reflect.Method.invoke(Method.java:611)
        at org.apache.axis2.jaxws.server.dispatcher.JavaDispatcher.invokeTargetOperation(JavaDispatcher.java:100)
        at org.apache.axis2.jaxws.server.dispatcher.JavaBeanDispatcher.invoke(JavaBeanDispatcher.java:117)
        at org.apache.axis2.jaxws.server.EndpointController.invoke(EndpointController.java:111)
        at org.apache.axis2.jaxws.server.JAXWSMessageReceiver.receive(JAXWSMessageReceiver.java:161)
        at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:189)
        at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
        at com.ibm.ws.websvcs.transport.http.WASAxis2Servlet.doPost(WASAxis2Servlet.java:1431)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:738)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
        at com.ibm.ws.cache.servlet.ServletWrapper.serviceProxied(ServletWrapper.java:307)
        at com.ibm.ws.cache.servlet.CacheHook.handleFragment(CacheHook.java:576)
        at com.ibm.ws.cache.servlet.CacheHook.handleServlet(CacheHook.java:250)
        at com.ibm.ws.cache.servlet.ServletWrapper.service(ServletWrapper.java:259)
        at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1657)
        at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:939)
        at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:502)
        at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:181)
        at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:91)
 

 

Updated on 2013-05-15T23:07:11Z at 2013-05-15T23:07:11Z by Y35Q_Gabriel_Jimenez
  • bpaskin
    bpaskin
    5705 Posts

    Re: WebSphere 7.0 - Connection/ Transaction Management

    ‏2013-05-14T11:39:07Z  

    Hi, Are you using shared or unshared connections?  Please see this document:

    http://www.ibm.com/developerworks/websphere/library/techarticles/0506_johnsen/0506_johnsen.html

    Regards,

    Brian

  • Y35Q_Gabriel_Jimenez
    2 Posts

    Re: WebSphere 7.0 - Connection/ Transaction Management

    ‏2013-05-15T19:31:39Z  
    • bpaskin
    • ‏2013-05-14T11:39:07Z

    Hi, Are you using shared or unshared connections?  Please see this document:

    http://www.ibm.com/developerworks/websphere/library/techarticles/0506_johnsen/0506_johnsen.html

    Regards,

    Brian

    Shared connections

    It looks like the article states if we are facing issues on the default LTC, use instead Global Transaction context. However, I am using JDBC XA Resource Adapter that is used for global transaction management. 

     

     

  • bpaskin
    bpaskin
    5705 Posts

    Re: WebSphere 7.0 - Connection/ Transaction Management

    ‏2013-05-16T12:24:02Z  

    Shared connections

    It looks like the article states if we are facing issues on the default LTC, use instead Global Transaction context. However, I am using JDBC XA Resource Adapter that is used for global transaction management. 

     

     

    Hi, you will have to do some tracing to find out what is happening. This document explains what needs to be turned on and collected:

    http://www-01.ibm.com/support/docview.wss?uid=swg21254645#show-hide

    Regards, Brian