I have a theory about what is causing this issue.  Just wanted to run it by
you guys.  In my log files, I first see this:

org.apache.wicket.protocol.http.request.InvalidUrlException:
org.apache.wicket.WicketRuntimeException: After 1 minute the Pagemap null is
still locked by: Thread[http-10080-Processor23,5,main], giv
ing up trying to get the page for path: 3:projects
    at
org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:262)
    at org.apache.wicket.RequestCycle.step(RequestCycle.java:1310)
    at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1428)
    at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
    at
org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:479)
    at
org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:312)
    at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)


Then, a bit lower in the file, I see:

org.apache.wicket.util.upload.FileUploadBase$IOFileUploadException:
Processing of multipart/form-data request failed. Connection reset
    at
org.apache.wicket.util.upload.FileUploadBase.parseRequest(FileUploadBase.java:386)
    at
org.apache.wicket.util.upload.ServletFileUpload.parseRequest(ServletFileUpload.java:129)
    at
org.apache.wicket.protocol.http.servlet.MultipartServletWebRequest.<init>(MultipartServletWebRequest.java:155)
    at
org.apache.wicket.protocol.http.servlet.MultipartServletWebRequest.<init>(MultipartServletWebRequest.java:83)
    at
org.apache.wicket.protocol.http.servlet.ServletWebRequest.newMultipartWebRequest(ServletWebRequest.java:500)
    at
org.apache.wicket.markup.html.form.Form.handleMultiPart(Form.java:1668)
    at
org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:862)
    at
org.apache.wicket.ajax.form.AjaxFormSubmitBehavior.onEvent(AjaxFormSubmitBehavior.java:135)
    at
org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:177)
    at
org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:286)
    at
org.apache.wicket.request.target.component.listener.BehaviorRequestTarget.processEvents(BehaviorRequestTarget.java:119)
    at
org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:92)
    at
org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1250)
    at org.apache.wicket.RequestCycle.step(RequestCycle.java:1329)
    at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1428)
    at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
    at
org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:479)
    at
org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:312)


My theory is that our users are beginning the file upload, but hitting F5
(reload) or something before letting the file upload complete.  Does that
sound feasible?  It's hard for me to test this because I'm running locally
and the file upload happens almost instantaneously.  The user that is
causing this to happen is in Europe, so I'm thinking the file upload (only
8.5 MB) might take a bit longer and they are getting impatient.  If this can
happen, is there something Wicket can do to not lock up the pagemap in this
case, because there's nothing really I can do to block the user from hitting
F5?

Reply via email to