[ 
https://issues.apache.org/jira/browse/WICKET-5727?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14166858#comment-14166858
 ] 

Ann Baert edited comment on WICKET-5727 at 10/10/14 1:56 PM:
-------------------------------------------------------------

Quickstart and screenshot with showing the increase of the threads.


was (Author: ann):
Quickstart and screenshots with showing the increase of the threads.

> PageAccessSynchronizer$PageLock.waitForRelease problem with opening pdf files
> -----------------------------------------------------------------------------
>
>                 Key: WICKET-5727
>                 URL: https://issues.apache.org/jira/browse/WICKET-5727
>             Project: Wicket
>          Issue Type: Bug
>    Affects Versions: 6.17.0
>            Reporter: Ann Baert
>         Attachments: PdfLinkQuickstart.zip, jetty-threads.jpg
>
>
> When opening a pdf file and it takes a while, the user can keep clicking on 
> the link, so the request is send again. When the user keep's clicking on the 
> link we receive a lot of requests on the Page that is locked. And the number 
> of used threads in jetty are increasing quickly even with an application 
> crash as a result. So we are looking for a solution to freeze the page when 
> the user has clicked on the link as long as the pdf is not done.
> I've made a quickstart with a link with a sleeping time before showing to 
> simulate this problem.
> The stacktrace:
> Stacktrace: at java.lang.Object.wait(Native Method) at 
> org.apache.wicket.page.PageAccessSynchronizer$PageLock.waitForRelease(PageAccessSynchronizer.java:333)
>  at 
> org.apache.wicket.page.PageAccessSynchronizer.lockPage(PageAccessSynchronizer.java:117)
>  at 
> org.apache.wicket.page.PageAccessSynchronizer$2.getPage(PageAccessSynchronizer.java:233)
>  at 
> org.apache.wicket.DefaultMapperContext.getPageInstance(DefaultMapperContext.java:148)
>  at 
> org.apache.wicket.core.request.handler.PageProvider.getStoredPage(PageProvider.java:296)
>  at 
> org.apache.wicket.core.request.handler.PageProvider.resolvePageInstance(PageProvider.java:261)
>  at 
> org.apache.wicket.core.request.handler.PageProvider.getPageInstance(PageProvider.java:166)
>  at 
> org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.getPage(ListenerInterfaceRequestHandler.java:96)
>  at 
> org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.respond(ListenerInterfaceRequestHandler.java:157)
>  at 
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:862)
>  at 
> org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
>  at 
> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:261) 
> at 
> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:218)
>  at 
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:289)
>  at 
> org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:259)
>  at 
> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:201)
>  at 
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:282) 
> at 
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1548)
>  at 
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:524) at 
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) 
> at 
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:568) 
> at 
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221)
>  at 
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1110)
>  at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:453) 
> at 
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183)
>  at 
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1044)
>  at 
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) 
> at 
> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:199)
>  at 
> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:109)
>  at 
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
>  at 
> org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:159)
>  at 
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
>  at org.eclipse.jetty.server.Server.handle(Server.java:459) at 
> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:280) at 
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:229) 
> at org.eclipse.jetty.io.AbstractConnection$1.run(AbstractConnection.java:505) 
> at 
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:607)
>  at 
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:536)
>  at java.lang.Thread.run(Thread.java:722) 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to