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
+1
-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

Comments

Submitted by mashah1220 on Tue, 10/20/2020 - 11:12

Hi Roy,

I'm facing a similar issue. Can you please tell how you accessed the Schema DB (I'm trying to do so using the "Browse data (h2 console)" option), and which tables did you update ?

Would truly be grateful if you could help out.

Submitted by Dibyajit.Roy on Tue, 10/20/2020 - 13:09

Hello
There 2 Databases.
1) Business Data - This is where you create Tables. All Tables here are user created. The data will be saved by User. No need to change anything here.

2) Schema DB - This is where Bonita will create Tables. All Table screated here are System tables . All Data stored here are created by System. You need to connect to Schema DB using a Database tool like SQl Developer or DBeaver .

database url - jdbc:h2:tcp://localhost:9091/bonita_journal.db
database schema name - bonita_journal.db

Check certain tables like ARCH_FLOWNODE or any table where there is any entry for ProcessId or Case id.

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