When uploading files over 2 Gb, I get the following exception:
java.lang.NumberFormatException
at com.sun.grizzly.util.buf.Ascii.parseLong(Ascii.java:232)
at com.sun.grizzly.util.buf.ByteChunk.getLong(ByteChunk.java:542)
at com.sun.grizzly.util.buf.MessageBytes.getLong(MessageBytes.java:712)
at com.sun.grizzly.tcp.Request.getContentLengthLong(Request.java:367)
at com.sun.grizzly.http.ProcessorTask.prepareRequest(ProcessorTask.java:1350)
at com.sun.grizzly.http.ProcessorTask.parseRequest(ProcessorTask.java:867)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:659)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)
at java.lang.Thread.run(Thread.java:619)
|#]
It looks like somewhere the file size in bytes is not being kept as a long, since ints cannot store the bytesize for files over 2Gb. Can this be fixed in Grizzly? 2Gb is not such a big file size.
[Message sent by forum member 'makoto1337']
http://forums.java.net/jive/thread.jspa?messageID=395811