Dear Sirs,
What could be the problem?
Big file upload problem. Below is the listing from the console.
My computer: ------------------- CPU: 4 cores RAM: 8G OS: Linux BaseX: 107 and BaseX108-20230816.163639 Java: Adoptium idk-17.0.8+7
I'm creating files: dd if=/dev/random of=file_512M bs=1M count=512 …………………………file_530M …………………………file_1G …………………………file_2G and etc.
Launching “basexhttp" ( default ...-Xmx2g … ) Let's go in … http://192.168.1.120:8080/dba/files http://192.168.1.120:8080/dba/files Downloading files - no problem.
Uploading: file 512MB size - no problem. Uploading file 530MB and more - PROBLEM ( looking console output below )
OK, relaunching basexhttp whith -Xmx4G ….. Uploading file 512MB - ok Uploading file 1GB - ok More size - crashes
What could be the problem?
Thank you very much.
Dmitriy Gorskiy.
HTTP ERROR 500 java.lang.OutOfMemoryError: Java heap space
URI: /dba/file-upload STATUS: 500 MESSAGE: java.lang.OutOfMemoryError: Java heap space SERVLET: RESTXQ CAUSED BY: java.lang.OutOfMemoryError: Java heap space Caused by:
java.lang.OutOfMemoryError: Java heap space at java.base/java.util.Arrays.copyOf(Arrays.java:3537) at org.basex.util.list.ByteList.add(ByteList.java:43) at org.basex.io.in.BufferInput.content(BufferInput.java:216) at org.basex.http.RequestContext.body(RequestContext.java:119) at org.basex.http.RequestContext.addMultipart(RequestContext.java:137) at org.basex.http.RequestContext.formValues(RequestContext.java:103) at org.basex.http.restxq.RestXqFunction.bind(RestXqFunction.java:223) at org.basex.http.restxq.RestXqResponse.init(RestXqResponse.java:60) at org.basex.http.web.WebResponse.create(WebResponse.java:54) at org.basex.http.restxq.RestXqServlet.run(RestXqServlet.java:72) at org.basex.http.BaseXServlet.service(BaseXServlet.java:69) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder$NotAsync.service(ServletHolder.java:1450) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:554) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:600) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1440) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:505) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1355) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) at org.eclipse.jetty.server.Server.handle(Server.java:516) at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:487) at org.eclipse.jetty.server.HttpChannel$$Lambda$140/0x00007f5974196000.dispatch(Unknown Source) Powered by Jetty:// 9.4.51.v20230217 https://eclipse.org/jetty
Hi Dimitry,
Do you get the same error if you increase the Xmx value?
The DBA code is based on RESTXQ. The binary contents of uploaded files are bound to a main-memory variable, and the underlying byte array is of limited size. We should probably limit the file size in the client before it is actually uploaded.
Best, Christian
Dmitry Gorskiy dv.gorskiy@gmail.com schrieb am Do., 17. Aug. 2023, 19:37:
Dear Sirs,
What could be the problem?
Big file upload problem. Below is the listing from the console.
My computer:
CPU: 4 cores RAM: 8G OS: Linux BaseX: 107 and BaseX108-20230816.163639 Java: Adoptium idk-17.0.8+7
I'm creating files: dd if=/dev/random of=file_512M bs=1M count=512 …………………………file_530M …………………………file_1G …………………………file_2G and etc.
Launching “basexhttp" ( default ...-Xmx2g … ) Let's go in … http://192.168.1.120:8080/dba/files Downloading files - no problem.
Uploading: file 512MB size - no problem. Uploading file 530MB and more - PROBLEM ( looking console output below )
OK, relaunching basexhttp whith -Xmx4G ….. Uploading file 512MB - ok Uploading file 1GB - ok More size - crashes
What could be the problem?
Thank you very much.
Dmitriy Gorskiy.
HTTP ERROR 500 java.lang.OutOfMemoryError: Java heap space URI: /dba/file-upload STATUS: 500 MESSAGE: java.lang.OutOfMemoryError: Java heap space SERVLET: RESTXQ CAUSED BY: java.lang.OutOfMemoryError: Java heap space Caused by:
java.lang.OutOfMemoryError: Java heap space at java.base/java.util.Arrays.copyOf(Arrays.java:3537) at org.basex.util.list.ByteList.add(ByteList.java:43) at org.basex.io.in.BufferInput.content(BufferInput.java:216) at org.basex.http.RequestContext.body(RequestContext.java:119) at org.basex.http.RequestContext.addMultipart(RequestContext.java:137) at org.basex.http.RequestContext.formValues(RequestContext.java:103) at org.basex.http.restxq.RestXqFunction.bind(RestXqFunction.java:223) at org.basex.http.restxq.RestXqResponse.init(RestXqResponse.java:60) at org.basex.http.web.WebResponse.create(WebResponse.java:54) at org.basex.http.restxq.RestXqServlet.run(RestXqServlet.java:72) at org.basex.http.BaseXServlet.service(BaseXServlet.java:69) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder$NotAsync.service(ServletHolder.java:1450) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:554) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:600) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1440) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:505) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1355) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) at org.eclipse.jetty.server.Server.handle(Server.java:516) at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:487) at org.eclipse.jetty.server.HttpChannel$$Lambda$140/0x00007f5974196000.dispatch(Unknown Source)
Powered by Jetty:// 9.4.51.v20230217 https://eclipse.org/jetty
basex-talk@mailman.uni-konstanz.de