AtlasOfLivingAustralia / volunteer-portal

DigiVol (Biodiversity Volunteer Portal)
https://volunteer.ala.org.au
17 stars 15 forks source link

Deleting opted out user has no transaction #561

Closed cdausmus closed 1 year ago

cdausmus commented 1 year ago

Deleting an opted out user results in a Transaction Required Exception:

2022-10-07 16:47:18.789 ERROR --- [io-8080-exec-40] o.g.web.errors.GrailsExceptionResolver   : TransactionRequiredException occurred when processing request: [POST] /user/deleteOptOut/2404460
no transaction is in progress. Stacktrace follows:

javax.persistence.TransactionRequiredException: no transaction is in progress
        at org.hibernate.internal.SessionImpl.checkTransactionNeeded(SessionImpl.java:3505)
        at org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1427)
        at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1423)
        at org.grails.orm.hibernate.AbstractHibernateGormInstanceApi$_delete_closure1.doCall(AbstractHibernateGormInstanceApi.groovy:206)
        at org.grails.orm.hibernate.GrailsHibernateTemplate.doExecute(GrailsHibernateTemplate.java:299)
        at org.grails.orm.hibernate.GrailsHibernateTemplate.execute(GrailsHibernateTemplate.java:243)
        at org.grails.orm.hibernate.GrailsHibernateTemplate.execute(GrailsHibernateTemplate.java:117)
        at org.grails.orm.hibernate.AbstractHibernateGormInstanceApi.delete(AbstractHibernateGormInstanceApi.groovy:203)
        at org.grails.datastore.gorm.GormEntity$Trait$Helper.delete(GormEntity.groovy:195)
        at au.org.ala.volunteer.UserController.deleteOptOut(UserController.groovy:113)
        at org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(DefaultGrailsControllerClass.java:223)
        at org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControllerClass.java:188)
        at org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMappingsInfoHandlerAdapter.groovy:90)
        at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
        at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
        at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
        at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872)
        at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
        at org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilterInternal(ApplicationContextHeaderFilter.java:54)
        at au.org.ala.volunteer.BVPServletFilter.doFilter(BVPServletFilter.groovy:63)
        at org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:77)
        at org.jasig.cas.client.util.HttpServletRequestWrapperFilter.doFilter(HttpServletRequestWrapperFilter.java:71)
        at org.jasig.cas.client.validation.AbstractTicketValidationFilter.doFilter(AbstractTicketValidationFilter.java:236)
        at org.jasig.cas.client.authentication.AuthenticationFilter.doFilter(AuthenticationFilter.java:168)
        at au.org.ala.web.CooperatingFilterWrapper.doFilter(CooperatingFilterWrapper.groovy:31)
        at org.jasig.cas.client.session.SingleSignOutFilter.doFilter(SingleSignOutFilter.java:97)
        at org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:67)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)