[Building Sakai] Unable to upload large file/resource, but still smaller than content.upload.max?
will at serensoft.com
will at serensoft.com
Tue Nov 17 12:22:49 PST 2009
We're running into an interesting problem with uploading via the
Resource (web interface) tool on Sakai 2.6.x. We've got
content.upload.max=50, but we can't upload a file that's 39.7 MB
(41,717,760 bytes). Smaller files (20mb-30mb range) are accepted;
larger files (36mb+) are not.
It takes quite a bit longer for a 40mb file to upload and then be
rejected, than for a 8mb file to upload and be accepted. As if it's
uploading the whole file to a temporary location before trying to save
it permanently.
Here's an example, trying to upload a 41,717,760-byte file (39.7 MB):
"Unable to add item stellarium-0.10.0beta.exe" appears in the
interface, and the logs contain:
2009-11-17 14:30:16,223 WARN http-80-Processor58
org.sakaiproject.content.impl.DbContentService - : failed to write
resource: /group/ff1b69b8-4a18-4b07-8a50-d8df77c55a24/stellarium-0.10.0beta.exe
: java.io.IOException: Insufficient system resources exist to complete
the requested service
2009-11-17 14:30:16,239 WARN http-80-Processor58
org.sakaiproject.content.impl.DbContentService - failed to write file
from byte-array to file
org.sakaiproject.exception.ServerOverloadException id=failed to write
file from byte-array to file
at org.sakaiproject.content.impl.DbContentService$DbStorage.commitResource(DbContentService.java:1726)
at org.sakaiproject.content.impl.BaseContentService.commitResourceEdit(BaseContentService.java:5570)
at org.sakaiproject.content.impl.BaseContentService.commitResource(BaseContentService.java:5533)
at org.sakaiproject.content.cover.ContentHostingService.commitResource(ContentHostingService.java:522)
at org.sakaiproject.content.tool.ResourcesAction.createResources(ResourcesAction.java:1384)
at org.sakaiproject.content.tool.ResourcesAction.finishAction(ResourcesAction.java:7247)
at org.sakaiproject.content.tool.ResourcesAction.buildMainPanelContext(ResourcesAction.java:4754)
at sun.reflect.GeneratedMethodAccessor881.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.sakaiproject.cheftool.VelocityPortletPaneledAction.toolModeDispatch(VelocityPortletPaneledAction.java:401)
at org.sakaiproject.cheftool.ToolServlet.doGet(ToolServlet.java:227)
at org.sakaiproject.cheftool.VelocityPortletPaneledAction.doGet(VelocityPortletPaneledAction.java:1014)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
at org.sakaiproject.vm.ComponentServlet.service(ComponentServlet.java:56)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:565)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:679)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:461)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:364)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
at org.sakaiproject.tool.impl.ActiveToolComponent$MyActiveTool.forward(ActiveToolComponent.java:475)
at org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1216)
at org.sakaiproject.portal.charon.handlers.ToolHandler.doTool(ToolHandler.java:188)
at org.sakaiproject.portal.charon.handlers.ToolHandler.doGet(ToolHandler.java:93)
at org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:768)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:616)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:595)
It's not that disk space is in question -- there are hundreds of gigs
of free space on the bodyPath filesystem (note that we're using a
bodyPath to get files from/to a different machine as a file server in
case that's relevant) and over a hundred gb free on the Sakai/Tomcat
filesystem.
# from sakai.properties
content.upload.max=50
bodyPath at org.sakaiproject.content.api.ContentHostingService=\\\\192.168.9.99\\SakaiResources
Where should we look for the gremlin, here?
--
will trillich
"Tis the set of the sails / And not the gales / That tells the way we
go." -- Ella Wheeler Wilcox
More information about the sakai-dev
mailing list