APAR status
Closed as program error.
Error description
The SystemOut.log log stack trace shows a database connection leak was triggered when a workflow is being initiated and there are multiple revisions. [22/12/21 11:12:17:122 GMT] 000000dc SystemOut O 22 Dec 2021 11:12:17:122 [INFO] [UI1] [] BMXAA7084I - The database connection has been opened for: 244737 ms DbConnectionWatchDog:Db Connection reference id=33535 SPID=3096 The code is calling the MboSet.isEmpty method and that is known to leak DB connections if there are multiple records in the MBOSet. The logs show that this is leaked for 4 minutes. See Connection reference: 33535 Stack trace: [22/12/21 11:12:17:122 GMT] 000000dc SystemOut O 22 Dec 2021 11:12:17:122 [INFO] [UI1] [] BMXAA7084I - The database connection has been opened for: 244737 ms DbConnectionWatchDog:Db Connection reference id=33535 SPID=3096 Create time:1640171292384 Create stack trace: psdi.server.DbConnectionWatchDog$ConnectionData.<init>(DbConnec tionWatchDog.java:60) psdi.server.DbConnectionWatchDog.addConnection(DbConnectionWatc hDog.java:252) psdi.server.ConRef.notifyDBConnectionWatchDog(ConRef.java:238) psdi.server.DBManager.getConnectionDetail(DBManager.java:1732) psdi.server.DBManager.getConnection(DBManager.java:1472) psdi.server.AppService.getDBConnection(AppService.java:572) psdi.mbo.MboSet.getNextRecordData(MboSet.java:3289) psdi.mbo.MboSet.fetchMbosActual(MboSet.java:2948) psdi.mbo.MboSet.fetchMbos(MboSet.java:2905) psdi.mbo.MboSet.getMbo(MboSet.java:2121) psdi.mbo.MboSet.isEmpty(MboSet.java:4417) psdi.workflow.WFRevisionSet.getRevision(WFRevisionSet.java:67) psdi.workflow.WFProcess.initiateWorkflow(WFProcess.java:735) psdi.workflow.virtual.InitiateWorkflowMboSet.execute(InitiateWo rkflowMboSet.java:93) psdi.workflow.WorkflowDirector.doSpecificProcess(WorkflowDirect or.java:830) psdi.workflow.WorkflowDirector.doStateChangeFromStart(WorkflowD irector.java:545) psdi.workflow.WorkflowDirector.doStateChange(WorkflowDirector.j ava:420) psdi.workflow.WorkflowDirector.input(WorkflowDirector.java:299) psdi.workflow.WorkflowDirector.startInput(WorkflowDirector.java :1306) psdi.webclient.system.beans.AppBean.ROUTEWF(AppBean.java:2140) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccesso rImpl.java:90) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMetho dAccessorImpl.java:55) java.lang.reflect.Method.invoke(Method.java:508) psdi.webclient.system.session.WebClientSession.defaultHandler(W ebClientSession.java:1510) psdi.webclient.system.session.WebClientSession.handleEvent(WebC lientSession.java:1403) psdi.webclient.system.session.WebClientSession.processRequestEv ent(WebClientSession.java:6219) psdi.webclient.system.session.WebClientSession.handleClientSide QueueRequest(WebClientSession.java:6175) psdi.webclient.system.session.WebClientSession.handleRequest(We bClientSession.java:892) psdi.webclient.system.session.AsyncRequestManager.handleRequest (AsyncRequestManager.java:555) psdi.webclient.system.session.AsyncRequestManager.manageRequest (AsyncRequestManager.java:253) psdi.webclient.system.controller.RequestManager.manageRequest(R equestManager.java:290) psdi.webclient.servlet.WebClientServlet.handleRequest(WebClient Servlet.java:141) psdi.webclient.servlet.WebClientServlet.doPost(WebClientServlet .java:52) javax.servlet.http.HttpServlet.service(HttpServlet.java:707) javax.servlet.http.HttpServlet.service(HttpServlet.java:790) com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletW rapper.java:1235) com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(Se rvletWrapper.java:779) com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(Se rvletWrapper.java:478) com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleReques t(ServletWrapperImpl.java:179) com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(W ebAppFilterChain.java:143) com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAp pFilterChain.java:96) psdi.webclient.system.filter.HttpCrossSiteScriptingSecurity.doF ilter(HttpCrossSiteScriptingSecurity.java:66) com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(F ilterInstanceWrapper.java:197) com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAp pFilterChain.java:90) psdi.webclient.system.filter.MXCorrelationFilter.doFilter(MXCor relationFilter.java:137) com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(F ilterInstanceWrapper.java:197) com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAp pFilterChain.java:90) psdi.webclient.system.filter.PerformanceMonitor.doFilter(Perfor manceMonitor.java:126) com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(F ilterInstanceWrapper.java:197) com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAp pFilterChain.java:90) psdi.webclient.system.filter.HttpXFrameOptionsFilter.doFilter(H ttpXFrameOptionsFilter.java:38) com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(F ilterInstanceWrapper.java:197) com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAp pFilterChain.java:90) psdi.webclient.system.filter.MTContextFilter.doFilter(MTContext Filter.java:53) com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(F ilterInstanceWrapper.java:197) com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAp pFilterChain.java:90) com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(Web AppFilterManager.java:979) com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilter s(WebAppFilterManager.java:1119) com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleReque st(CacheServletWrapper.java:82) com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer .java:963) com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebConta iner.java:1817) com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLi nk.java:382) com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDisc rimination(HttpInboundLink.java:465) com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewR equest(HttpInboundLink.java:532) com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processReq uest(HttpInboundLink.java:318) com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.comple te(HttpICLReadCallback.java:88) com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCom pleted(AioReadCompletionListener.java:175) com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsy ncFuture.java:217) com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(Async ChannelFuture.java:161) com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138) com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204) com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultH andler.java:775) com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905) com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1909) Life time:244738 ms Unexpected Results: The DB connection watchdog is generating a warning. MBOSet/DB connection related resources are being used too long. Expected Results: MBOSet should be closed immediately after it is used. It should not be leaked and generate this warning. The isEmpty call can be replaced by a call to notExists. notExists does not leak a DB connection. Environment: Tivoli's process automation engine 7.6.1.2
Local fix
N/A - Dev to provide fix
Problem summary
**************************************************************** * USERS AFFECTED: * * Maximo users * **************************************************************** * PROBLEM DESCRIPTION: * * Database connection leak on WFRevisionSet when a workflow is * * being initiated and there are multiple revisions. * **************************************************************** The SystemOut.log log stack trace shows a database connection leak was triggered when a workflow is being initiated and there are multiple revisions. [22/12/21 11:12:17:122 GMT] 000000dc SystemOut O 22 Dec 2021 11:12:17:122 [INFO] [UI1] [] BMXAA7084I - The database connection has been opened for: 244737 ms DbConnectionWatchDog:Db Connection reference id=33535 SPID=3096 The code is calling the MboSet.isEmpty method and that is known to leak DB connections if there are multiple records in the MBOSet. The logs show that this is leaked for 4 minutes. See Connection reference: 33535 Stack trace: [22/12/21 11:12:17:122 GMT] 000000dc SystemOut O 22 Dec 2021 11:12:17:122 [INFO] [UI1] [] BMXAA7084I - The database connection has been opened for: 244737 ms DbConnectionWatchDog:Db Connection reference id=33535 SPID=3096 Create time:1640171292384 Create stack trace: psdi.server.DbConnectionWatchDog$ConnectionData.<init>(DbConnec tionWatchDog.java:60) psdi.server.DbConnectionWatchDog.addConnection(DbConnectionWatc hDog.java:252) psdi.server.ConRef.notifyDBConnectionWatchDog(ConRef.java:238) psdi.server.DBManager.getConnectionDetail(DBManager.java:1732) psdi.server.DBManager.getConnection(DBManager.java:1472) psdi.server.AppService.getDBConnection(AppService.java:572) psdi.mbo.MboSet.getNextRecordData(MboSet.java:3289) psdi.mbo.MboSet.fetchMbosActual(MboSet.java:2948) psdi.mbo.MboSet.fetchMbos(MboSet.java:2905) psdi.mbo.MboSet.getMbo(MboSet.java:2121) psdi.mbo.MboSet.isEmpty(MboSet.java:4417) psdi.workflow.WFRevisionSet.getRevision(WFRevisionSet.java:67) psdi.workflow.WFProcess.initiateWorkflow(WFProcess.java:735) psdi.workflow.virtual.InitiateWorkflowMboSet.execute(InitiateWo rkflowMboSet.java:93) psdi.workflow.WorkflowDirector.doSpecificProcess(WorkflowDirect or.java:830) psdi.workflow.WorkflowDirector.doStateChangeFromStart(WorkflowD irector.java:545) psdi.workflow.WorkflowDirector.doStateChange(WorkflowDirector.j ava:420) psdi.workflow.WorkflowDirector.input(WorkflowDirector.java:299) psdi.workflow.WorkflowDirector.startInput(WorkflowDirector.java :1306) psdi.webclient.system.beans.AppBean.ROUTEWF(AppBean.java:2140) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ... Life time:244738 ms Unexpected Results: The DB connection watchdog is generating a warning. MBOSet/DB connection related resources are being used too long. Expected Results: MBOSet should be closed immediately after it is used. It should not be leaked and generate this warning.
Problem conclusion
The fix for this APAR will be contained in a future release
Temporary fix
Comments
APAR Information
APAR number
IJ40696
Reported component name
MAXIMO SYSTEMS
Reported component ID
5724R46AV
Reported release
761
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2022-06-17
Closed date
2022-09-19
Last modified date
2022-09-19
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
MAXIMO SYSTEMS
Fixed component ID
5724R46AV
Applicable component levels
[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSLKT6","label":"Maximo Asset Management"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"761","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]
Document Information
Modified date:
19 September 2022