AndrewG10i
AndrewG10i

Reputation: 681

XPages + DAOS: upload of files with huge size >3Gb gives Error 500

Trying to upload file with size around 3Gb gives an Error 500:

enter image description here

Log.nsf doesn't contain any useful info about the error and refers to trace-log-0.xml, which contain the following exception:

CLFAD0169E: Error writing to persisted content to response 30EC97558DFA85F701A8264A917629CAF0A0329A/DominoDoc-738E-preview/Videoclip_2017_InternationalMarketing_preview.wmv/{3}
java.io.IOException: HTTP: Internal error: 
    at com.ibm.domino.xsp.bridge.http.servlet.XspCmdHttpServletResponse.write(XspCmdHttpServletResponse.java:860)
    at com.ibm.domino.xsp.bridge.http.servlet.XspCmdServletOutputStream.write(XspCmdServletOutputStream.java:72)
    at com.ibm.commons.util.io.StreamUtil.copyStream(StreamUtil.java:137)
    at com.ibm.commons.util.io.StreamUtil.copyStream(StreamUtil.java:118)
    at com.ibm.xsp.webapp.PersistenceServiceResourceProvider$PersistenceServiceResource.write(PersistenceServiceResourceProvider.java:116)
    at com.ibm.xsp.webapp.FacesResourceServlet.doGet(FacesResourceServlet.java:110)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
    at com.ibm.xsp.webapp.FacesModuleResourceServlet.service(FacesModuleResourceServlet.java:85)
    at com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:588)
    at com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1335)
    at com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:865)
    at com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:808)
    at com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:577)
    at com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1319)
    at com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:662)
    at com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:482)
    at com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:357)
    at com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:313)
    at com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:272)

Files with smaller sizes ~900Mb are uploaded fine. What can be the reason of the issue? Is it related to Domino limitations, like:

Rich text field size: Limited only by available disk space up to 1GB

Mentioned here: Table of Notes and Domino known limits, because upload from XPages is actually performed to the Domino Document field defined as Mime by the following code snippet:

doc.createMIMEEntity("preview");

Notes:

Thanks for any thoughts!

Upvotes: 1

Views: 472

Answers (1)

Paul Stephen Withers
Paul Stephen Withers

Reputation: 15739

Check "Maximum size of request content". As this technote says, that also affects it http://www-01.ibm.com/support/docview.wss?uid=swg21096111.

Also, file uploads get written to the xspupload folder as specified in xsp.properties or the default temp file location. That drive could be limited on space that can be used, which would also cause errors in serialization.

But I'd agree with Frantisek that uploading 3Gb via HTTP is not advisable. As well as timeout issues and performance, the limit is per attachment. So if many people upload large files at the same time, the drive the xspupload folder is on may run out of space. Of course once any of those Notes Documents is saved, the temp file gets removed, so I'm not sure how you would be able to diagnose that scenario. I'm not an expert in this area, but possibly FTP to a file system may be a better approach or administrative intervention to manually store occasional very large files in a specific area.

Upvotes: 1

Related Questions