Uploaded image for project: 'OpenOLAT'
  1. OpenOLAT
  2. OO-1629

Deleting of very large resource folders fails

    XMLWordPrintable

    Details

      Description

      How to reproduce

      • Create an insanely large resource folder with millions of files
      • Delete resource folder
        => Error in logfile
        => files are deleted, however the repo entry itself still exists
        => WebDAV resource folder dont's show up anymore (Nullpointer)
        => Resource folder appears in authoring listing, but can be opened (Nullpointer because sharedfolder dir does not exist anymore)

      I guess it is due to a db timeout because the deletion of the files takes so long. The following errors could be related (unsure)

      2015-07-29 10:53:53,574 [ajp-nio2-8022-exec-31] WARN  DBImpl  - OLAT::WARN ^%^ N22-W1336 ^%^ org.olat.core.commons.persistence ^%^ doz46 ^%^ xxx.xxx.xxx.xxx ^%^ https://gugs.com/auth/1%3A1%3A0%3A0%3A0/ ^%^ Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.107 Safari/537.36 ^%^ Could not rollback transaction! ^%^ >>>stack of 1.cause::javax.persistence.PersistenceException: org.hibernate.TransactionException: Already have an associated managed connection ->  at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1763) at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1677) at org.hibernate.jpa.spi.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:1771) at org.hibernate.jpa.internal.TransactionImpl.begin(TransactionImpl.java:64) at org.olat.core.commons.persistence.DBImpl.getCurrentEntityManager(DBImpl.java:226) at org.olat.core.commons.persistence.DBImpl.rollback(DBImpl.java:799) at org.olat.core.gui.components.Window.dispatchRequest(Window.java:534) at org.olat.core.gui.components.Window.doDispatchRequest(Window.java:234) at org.olat.core.gui.components.AbstractComponent.dispatchRequest(AbstractComponent.java:193) at org.olat.dispatcher.AuthenticatedDispatcher.processValidDispatchURI(AuthenticatedDispatcher.java:245) at org.olat.dispatcher.AuthenticatedDispatcher.execute(AuthenticatedDispatcher.java:201)>>>stack of 2.cause::org.hibernate.TransactionException: Already have an associated managed connection ->  at org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.doBegin(JdbcTransaction.java:65) at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.begin(AbstractTransactionImpl.java:162) at org.hibernate.internal.SessionImpl.beginTransaction(SessionImpl.java:1471) at org.hibernate.jpa.internal.TransactionImpl.begin(TransactionImpl.java:61) at org.olat.core.commons.persistence.DBImpl.getCurrentEntityManager(DBImpl.java:226) at org.olat.core.commons.persistence.DBImpl.rollback(DBImpl.java:799) at org.olat.core.gui.components.Window.dispatchRequest(Window.java:534) at org.olat.core.gui.components.Window.doDispatchRequest(Window.java:234) at org.olat.core.gui.components.AbstractComponent.dispatchRequest(AbstractComponent.java:193) at org.olat.dispatcher.AuthenticatedDispatcher.processValidDispatchURI(AuthenticatedDispatcher.java:245) at org.olat.dispatcher.AuthenticatedDispatcher.execute(AuthenticatedDispatcher.java:201)
      2015-07-29 10:53:53,575 [ajp-nio2-8022-exec-31] ERROR Window  - OLAT::ERROR ^%^ N22-E32 ^%^ org.olat.core.gui.components ^%^ doz46 ^%^ xxx.xxx.xxx.xxx  ^%^ https://gugus.com/auth/1%3A1%3A0%3A0%3A0/ ^%^ Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.107 Safari/537.36 ^%^ Exception while handling exception!!!! ^%^ >>>stack of 1.cause::org.olat.core.logging.DBRuntimeException: rollback failed ->  at org.olat.core.commons.persistence.DBImpl.rollback(DBImpl.java:814) at org.olat.core.gui.components.Window.dispatchRequest(Window.java:534) at org.olat.core.gui.components.Window.doDispatchRequest(Window.java:234) at org.olat.core.gui.components.AbstractComponent.dispatchRequest(AbstractComponent.java:193) at org.olat.dispatcher.AuthenticatedDispatcher.processValidDispatchURI(AuthenticatedDispatcher.java:245) at org.olat.dispatcher.AuthenticatedDispatcher.execute(AuthenticatedDispatcher.java:201) at org.olat.core.servlets.OpenOLATServlet.executeUserRequest(OpenOLATServlet.java:280) at org.olat.core.servlets.OpenOLATServlet.doPost(OpenOLATServlet.java:223) at javax.servlet.http.HttpServlet.service(HttpServlet.java:648) at org.olat.core.servlets.OpenOLATServlet.service(OpenOLATServlet.java:166) at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)>>>stack of 2.cause::javax.persistence.PersistenceException: org.hibernate.TransactionException: Already have an associated managed connection ->  at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1763) at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1677) at org.hibernate.jpa.spi.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:1771) at org.hibernate.jpa.internal.TransactionImpl.begin(TransactionImpl.java:64) at org.olat.core.commons.persistence.DBImpl.getCurrentEntityManager(DBImpl.java:226) at org.olat.core.commons.persistence.DBImpl.rollback(DBImpl.java:799) at org.olat.core.gui.components.Window.dispatchRequest(Window.java:534) at org.olat.core.gui.components.Window.doDispatchRequest(Window.java:234) at org.olat.core.gui.components.AbstractComponent.dispatchRequest(AbstractComponent.java:193) at org.olat.dispatcher.AuthenticatedDispatcher.processValidDispatchURI(AuthenticatedDispatcher.java:245) at org.olat.dispatcher.AuthenticatedDispatcher.execute(AuthenticatedDispatcher.java:201)>>>stack of 3.cause::org.hibernate.TransactionException: Already have an associated managed connection ->  at org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.doBegin(JdbcTransaction.java:65) at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.begin(AbstractTransactionImpl.java:162) at org.hibernate.internal.SessionImpl.beginTransaction(SessionImpl.java:1471) at org.hibernate.jpa.internal.TransactionImpl.begin(TransactionImpl.java:61) at org.olat.core.commons.persistence.DBImpl.getCurrentEntityManager(DBImpl.java:226) at org.olat.core.commons.persistence.DBImpl.rollback(DBImpl.java:799) at org.olat.core.gui.components.Window.dispatchRequest(Window.java:534) at org.olat.core.gui.components.Window.doDispatchRequest(Window.java:234) at org.olat.core.gui.components.AbstractComponent.dispatchRequest(AbstractComponent.java:193) at org.olat.dispatcher.AuthenticatedDispatcher.processValidDispatchURI(AuthenticatedDispatcher.java:245) at org.olat.dispatcher.AuthenticatedDispatcher.execute(AuthenticatedDispatcher.java:201)
      
      

        Attachments

          Activity

            People

            • Assignee:
              srosse Stéphane Rossé
              Reporter:
              gnaegi Florian Gnägi
              Tester:
              Kirsten Scherer
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - 0 minutes
                0m
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 1 hour, 45 minutes
                1h 45m