Trying to delete a case (current transaction is not in progress)

1
0
-1

I'm currently running version 7.3.0 and I'm trying to use the portal to delete a case. After logging in as an administrator, selecting the case and clicking the delete button, the exception shown below is written to the log file.

Can someone please explain the problem and how I can resolve it so the case can be successfully deleted?

2018-12-01 21:41:30.353 -0500 WARNING: org.bonitasoft.engine.core.process.instance.impl.ProcessInstanceServiceImpl THREAD_ID=61 | HOSTNAME=hllpa-bntgmp.nhlbi.nih.gov | TENANT_ID=1 | org.bonitasoft.engine.core.process.instance.api.exceptions.SFlowNodeDeletionException: org.bonitasoft.engine.recorder.SRecorderException: org.bonitasoft.engine.services.SPersistenceException: org.hibernate.HibernateException: Current transaction is not in progress
2018-12-01 21:41:30.354 -0500 WARNING: org.bonitasoft.engine.core.process.instance.impl.ProcessInstanceServiceImpl THREAD_ID=61 | HOSTNAME=hllpa-bntgmp.nhlbi.nih.gov | TENANT_ID=1 | org.bonitasoft.engine.core.process.instance.api.exceptions.SFlowNodeDeletionException: org.bonitasoft.engine.core.process.instance.api.exceptions.SFlowNodeReadException: org.bonitasoft.engine.persistence.SBonitaReadException: org.bonitasoft.engine.services.SPersistenceException: org.hibernate.HibernateException: Current transaction is not in progress
2018-12-01 21:41:30.374 -0500 SEVERE: org.bonitasoft.web.toolkit.server.servlet.ToolkitHttpServlet org.bonitasoft.engine.exception.DeletionException: USERNAME=gmpadmin | org.bonitasoft.engine.core.process.instance.api.exceptions.SProcessInstanceModificationException: org.bonitasoft.engine.commons.exceptions.SObjectModificationException: Unable to delete SARefBusinessDataInstance's for processInstanceId: 14033
org.bonitasoft.web.toolkit.client.common.exception.api.APIException: org.bonitasoft.engine.exception.DeletionException: USERNAME=gmpadmin | org.bonitasoft.engine.core.process.instance.api.exceptions.SProcessInstanceModificationException: org.bonitasoft.engine.commons.exceptions.SObjectModificationException: Unable to delete SARefBusinessDataInstance's for processInstanceId: 14033
at org.bonitasoft.web.rest.server.datastore.bpm.cases.CaseDatastore.delete(CaseDatastore.java:159)
at org.bonitasoft.web.rest.server.api.bpm.cases.APICase.delete(APICase.java:130)
at org.bonitasoft.web.rest.server.framework.API.runDelete(API.java:279)
at org.bonitasoft.web.rest.server.framework.APIServletCall.doDelete(APIServletCall.java:305)
at org.bonitasoft.web.toolkit.server.servlet.ToolkitHttpServlet.doDelete(ToolkitHttpServlet.java:198)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:656)
at org.bonitasoft.web.toolkit.server.servlet.ToolkitHttpServlet.service(ToolkitHttpServlet.java:75)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
at org.bonitasoft.web.toolkit.server.servlet.ToolkitHttpServlet.service(ToolkitHttpServlet.java:226)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:394)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.bonitasoft.console.common.server.login.filter.AbstractAuthorizationFilter.doFilter(AbstractAuthorizationFilter.java:60)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:747)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:485)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:410)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:337)
at org.tuckey.web.filters.urlrewrite.NormalRewrittenUrl.doRewrite(NormalRewrittenUrl.java:213)
at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:171)
at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:394)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.bonitasoft.console.common.server.login.filter.AbstractAuthorizationFilter.doFilter(AbstractAuthorizationFilter.java:60)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.bonitasoft.console.common.server.login.filter.AbstractAuthorizationFilter.doFilter(AbstractAuthorizationFilter.java:60)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.bonitasoft.console.security.SessionFixationValve.invoke(SessionFixationValve.java:77)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
Caused by: org.bonitasoft.engine.exception.DeletionException: USERNAME=gmpadmin | org.bonitasoft.engine.core.process.instance.api.exceptions.SProcessInstanceModificationException: org.bonitasoft.engine.commons.exceptions.SObjectModificationException: Unable to delete SARefBusinessDataInstance's for processInstanceId: 14033
at org.bonitasoft.engine.api.impl.ProcessAPIImpl.deleteArchivedProcessInstancesInAllStates(ProcessAPIImpl.java:3528)
at org.bonitasoft.engine.api.impl.ProcessAPIImpl.deleteArchivedProcessInstancesInAllStates(ProcessAPIImpl.java:3534)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.bonitasoft.engine.api.impl.ServerAPIImpl.invokeAPI(ServerAPIImpl.java:462)
at org.bonitasoft.engine.api.impl.ServerAPIImpl$2.call(ServerAPIImpl.java:431)
at org.bonitasoft.engine.transaction.JTATransactionServiceImpl.executeInTransaction(JTATransactionServiceImpl.java:312)
at org.bonitasoft.engine.api.impl.ServerAPIImpl.invokeAPIInTransaction(ServerAPIImpl.java:438)
at org.bonitasoft.engine.api.impl.ServerAPIImpl.invokeAPI(ServerAPIImpl.java:272)
at org.bonitasoft.engine.api.impl.ServerAPIImpl.invokeMethod(ServerAPIImpl.java:124)
at org.bonitasoft.engine.api.impl.ClientInterceptor.invoke(ClientInterceptor.java:86)
at com.sun.proxy.$Proxy61.deleteArchivedProcessInstancesInAllStates(Unknown Source)
at org.bonitasoft.web.rest.server.datastore.bpm.cases.CaseDatastore.delete(CaseDatastore.java:156)
... 54 more
Caused by: org.bonitasoft.engine.core.process.instance.api.exceptions.SProcessInstanceModificationException: org.bonitasoft.engine.commons.exceptions.SObjectModificationException: Unable to delete SARefBusinessDataInstance's for processInstanceId: 14033
at org.bonitasoft.engine.core.process.instance.impl.ProcessInstanceServiceImpl.deleteArchivedParentProcessInstancesAndElements(ProcessInstanceServiceImpl.java:273)
at org.bonitasoft.engine.api.impl.ProcessAPIImpl.deleteArchivedProcessInstancesInAllStates(ProcessAPIImpl.java:3524)
... 68 more
Caused by: org.bonitasoft.engine.commons.exceptions.SObjectModificationException: Unable to delete SARefBusinessDataInstance's for processInstanceId: 14033
at org.bonitasoft.engine.core.process.instance.impl.RefBusinessDataServiceImpl.deleteArchivedRefBusinessDataInstance(RefBusinessDataServiceImpl.java:242)
at org.bonitasoft.engine.core.process.instance.impl.ProcessInstanceServiceImpl.deleteArchivedParentProcessInstancesAndElements(ProcessInstanceServiceImpl.java:271)
... 69 more
Caused by: org.bonitasoft.engine.recorder.SRecorderException: org.bonitasoft.engine.services.SPersistenceException: org.hibernate.HibernateException: Current transaction is not in progress
at org.bonitasoft.engine.archive.impl.ArchiveServiceImpl.deleteFromQuery(ArchiveServiceImpl.java:156)
at org.bonitasoft.engine.core.process.instance.impl.RefBusinessDataServiceImpl.deleteArchivedRefBusinessDataInstance(RefBusinessDataServiceImpl.java:237)
... 70 more
Caused by: org.bonitasoft.engine.services.SPersistenceException: org.hibernate.HibernateException: Current transaction is not in progress
at org.bonitasoft.engine.persistence.AbstractHibernatePersistenceService.getSession(AbstractHibernatePersistenceService.java:211)
at org.bonitasoft.engine.persistence.TenantHibernatePersistenceService.getSession(TenantHibernatePersistenceService.java:103)
at org.bonitasoft.engine.persistence.AbstractHibernatePersistenceService.update(AbstractHibernatePersistenceService.java:263)
at org.bonitasoft.engine.archive.impl.ArchiveServiceImpl.deleteFromQuery(ArchiveServiceImpl.java:154)
... 71 more
Caused by: org.hibernate.HibernateException: Current transaction is not in progress
at org.hibernate.context.internal.JTASessionContext.currentSession(JTASessionContext.java:95)
at org.hibernate.internal.SessionFactoryImpl.getCurrentSession(SessionFactoryImpl.java:993)
at org.bonitasoft.engine.persistence.AbstractHibernatePersistenceService.getSession(AbstractHibernatePersistenceService.java:209)
... 74 more

2 answers

1
0
-1

hello
I faced a similar error a while ago.
By mistake I created a process where a loop was initiated and there was no proper condition set. As a result, the loop went on infinite Times.The Number of Pending tasks and on going tasks were huge around 40K.
As a result, the portal became unresponsive. I could not delete the case. Same error as above. Also could not delete the process as well.
I did restart Bonita several times but no effect. Within a few minutes of coming up, system would become unresponsive.
Ultimately, I went to Schema DB, checked each table and delete all reference of the case id .
There are a few tables where case details, actor details , task details are stored.
After deleting, everything went back to normal.
Regards

1
0
-1

Hello,

If it is a large case (large number of activities, gateways, etc) you might be experiencing performance issue:

  • Try to increase (temporarily!) the bitronix.tm.timer.defaultTransactionTimeout property value located in the "tomcat-templates/bitronix-resources.properties" property file using the Platform setup tool and restarting the server

  • Migrate to 7.8.x (GA release in a few days) ASAP as there are many improvements including some major performance upgrades for case deletion

BTW, if you are a Bonitasoft customer running a Subscription edition I do recommend to get help from the Bonitasoft Support. You can create a case if you have access to the Bonitasoft Custumer Portal.

HIH,

Comments

Submitted by ed.kennedy on Tue, 01/22/2019 - 16:43

The System Operations personnel did not use the "Platform Setup Tool". They simply installed the Tomcat version of the BPM. Without the setup tool, they weren't sure how to change the bitronix.tm.timer.defaultTransactionTimeout property value as they couldn't even find the correct property file to change. Is there another way to change this property value and any recommendations as to what to change it to?

Submitted by antoine.mottier on Mon, 01/28/2019 - 15:28

Bonita Tomcat bundle package include Bonita setup tool so you should be able to use it to update your Bitronix settings. Also I really recommend as suggested by Pierrick to upgrade to 7.8 in order to benefit from performance improvements.

Notifications