eclipse-ee4j / grizzly

Grizzly
https://eclipse-ee4j.github.io/grizzly
Other
147 stars 69 forks source link

IllegalStateException: Response has not been set When making many multipart requests #2121

Closed amberream closed 1 year ago

amberream commented 3 years ago

I am running the Multipart sample found here: https://github.com/eclipse-ee4j/grizzly/tree/master/samples/http-multipart-samples

Everything works fine when I upload via the html page found at http://localhost:18080

BUT when I use a tool like Postman or ARC to upload directly to http://localhost:18080/upload and make several requests in a row I get the exception below. I'm not sure if this is related to repeated requests or the fact that I'm doing it back to back fairly quickly. For the server I'm building with grizzly's multipart function I need multiple back to back requests to work!

java.lang.IllegalStateException: Internal org.glassfish.grizzly.http.server.Response has not been set
    at org.glassfish.grizzly.http.server.Response.checkResponse(Response.java:1951)
    at org.glassfish.grizzly.http.server.Response.resume(Response.java:1924)
    at org.glassfish.grizzly.samples.httpmultipart.UploaderHttpHandler$1.failed(UploaderHttpHandler.java:96)
    at org.glassfish.grizzly.http.multipart.MultipartReadHandler.onError(MultipartReadHandler.java:174)
    at org.glassfish.grizzly.http.io.InputBuffer.invokeHandlerAllRead(InputBuffer.java:791)
    at org.glassfish.grizzly.http.io.InputBuffer.finishedInTheCurrentThread(InputBuffer.java:769)
    at org.glassfish.grizzly.http.io.InputBuffer.invokeHandler(InputBuffer.java:1093)
    at org.glassfish.grizzly.http.io.InputBuffer.access$000(InputBuffer.java:83)
    at org.glassfish.grizzly.http.io.InputBuffer$3.run(InputBuffer.java:1076)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:591)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:571)
    at java.lang.Thread.run(Thread.java:748)