Uploaded image for project: 'Nuxeo Platform'
  1. Nuxeo Platform
  2. NXP-30903

Don't timeout on big download

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Open
    • Priority: Minor
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: QualifiedToSchedule
    • Component/s: Core

      Description

      We've observed that big downloads could generate transaction timeouts on Nuxeo Server without incidence on the functional behavior, ie: user succeed to download the blob.

      We should try to improve that to do the effective download outside of the transaction.

      See the related error below:

      Cannot forward to error page: response is already committed
      javax.servlet.ServletException: org.nuxeo.runtime.transaction.TransactionRuntimeException: Unable to commit: Transaction timeout
      
      javax.transaction.RollbackException: Unable to commit: Transaction timeout
      	at org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:267) ~[geronimo-transaction-2.2.1.jar:2.2.1]
      	at org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(TransactionManagerImpl.java:252) ~[geronimo-transaction-2.2.1.jar:2.2.1]
      	at org.nuxeo.runtime.jtajca.NuxeoContainer$UserTransactionImpl.commit(NuxeoContainer.java:538) ~[nuxeo-runtime-jtajca-10.10-HF41.jar:?]
      	at org.nuxeo.runtime.transaction.TransactionHelper.commitOrRollbackTransaction(TransactionHelper.java:422) ~[nuxeo-runtime-jtajca-10.10-HF41.jar:?]
      	at org.nuxeo.ecm.core.io.download.DownloadServiceImpl.handleDownload(DownloadServiceImpl.java:410) ~[nuxeo-core-io-10.10-HF58.jar:?]
      	at org.nuxeo.ecm.core.io.download.DownloadServiceImpl.handleDownload(DownloadServiceImpl.java:327) ~[nuxeo-core-io-10.10-HF58.jar:?]
      	at org.nuxeo.ecm.platform.ui.web.download.DownloadServlet.handleDownload(DownloadServlet.java:83) ~[nuxeo-platform-web-common-10.10-HF58.jar:?]
      	at org.nuxeo.ecm.platform.ui.web.download.DownloadServlet.doGet(DownloadServlet.java:61) ~[nuxeo-platform-web-common-10.10-HF58.jar:?]
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:655) ~[servlet-api-9.0.58.jar:4.0.FR]
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:764) ~[servlet-api-9.0.58.jar:4.0.FR]
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) ~[catalina-9.0.58.jar:9.0.58]
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[catalina-9.0.58.jar:9.0.58]
      	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-websocket-9.0.58.jar:9.0.58]
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[catalina-9.0.58.jar:9.0.58]
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[catalina-9.0.58.jar:9.0.58]
      	at org.nuxeo.ecm.platform.web.common.requestcontroller.filter.NuxeoThreadTrackerFilter.doFilter(NuxeoThreadTrackerFilter.java:43) ~[nuxeo-platform-web-common-10.10-HF58.jar:?]
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[catalina-9.0.58.jar:9.0.58]
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[catalina-9.0.58.jar:9.0.58]
      	at org.nuxeo.ecm.platform.web.common.requestcontroller.filter.NuxeoStandbyFilter.doFilter(NuxeoStandbyFilter.java:67) ~[nuxeo-platform-web-common-10.10-HF58.jar:?]
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[catalina-9.0.58.jar:9.0.58]
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[catalina-9.0.58.jar:9.0.58]
      	at org.nuxeo.ecm.core.management.jtajca.internal.Log4jWebFilter.doFilter(Log4jWebFilter.java:69) ~[nuxeo-core-management-jtajca-10.10.jar:?]
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[catalina-9.0.58.jar:9.0.58]
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[catalina-9.0.58.jar:9.0.58]
      	at org.nuxeo.ecm.platform.ui.web.rest.FancyURLFilter.doFilter(FancyURLFilter.java:120) ~[nuxeo-platform-ui-web-10.10-HF54.jar:?]
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[catalina-9.0.58.jar:9.0.58]
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[catalina-9.0.58.jar:9.0.58]
      	at org.nuxeo.ecm.platform.ui.web.auth.NuxeoAuthenticationFilter.doFilterInternal(NuxeoAuthenticationFilter.java:643) ~[nuxeo-platform-web-common-10.10-HF58.jar:?]
      	at org.nuxeo.ecm.platform.ui.web.auth.NuxeoAuthenticationFilter.doFilter(NuxeoAuthenticationFilter.java:431) ~[nuxeo-platform-web-common-10.10-HF58.jar:?]
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[catalina-9.0.58.jar:9.0.58]
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[catalina-9.0.58.jar:9.0.58]
      	at org.nuxeo.ecm.platform.web.common.idempotency.NuxeoIdempotentFilter.doFilter(NuxeoIdempotentFilter.java:114) ~[nuxeo-platform-web-common-10.10-HF58.jar:?]
      	at javax.servlet.http.HttpFilter.doFilter(HttpFilter.java:57) ~[servlet-api-9.0.58.jar:4.0.FR]
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[catalina-9.0.58.jar:9.0.58]
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[catalina-9.0.58.jar:9.0.58]
      	at org.nuxeo.ecm.platform.web.common.requestcontroller.filter.NuxeoRequestControllerFilter.doFilter(NuxeoRequestControllerFilter.java:134) ~[nuxeo-platform-web-common-10.10-HF58.jar:?]
      

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              kleturc Kevin Leturc
              Participants:
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated: