RE: Pagemap null is still locked by blah exception, help!! why does wicket have to lock the pagemap
I have just started encountering this issue with one of my Wicket apps. Seems to have cropped up now that I am using the 1.3 rc1 (will be moving to release this Friday), but this could wholly be coincidence. What I have noticed is, for me at least, this only happens on my Weblogic servers (9.2) and not in my local dev environment running Jetty. The Weblogic logs reveal that after manually stopping a page load or after a page timeout, threads go into a [STUCK] status and, I am theorizing, locking the pagemap indefinitely. Thanks, -scott -Original Message- From: cemeterygate [mailto:[EMAIL PROTECTED] Sent: Tuesday, January 29, 2008 10:51 AM To: users@wicket.apache.org Subject: Re: Pagemap null is still locked by blah exception, help!! why does wicket have to lock the pagemap that's right, i am screwed anyway if request takes too long, but from the browser user decide to give up current search by click the stop button and fire a new search. Since the pagemap is still locked by previous request, the second request will have to wait. sounds like i will end up handle this senario by pulling. is it possible to have a page that's not single thread model? Can we have two interface, such as SingleThreadPage, and ConcurrentThreadPage? igor.vaynberg wrote: yeah, if it takes a while the browser will timeout and you are screwed anyways... what do you mean they cant start a new search? you mean they no longer for the results of the currently running search and just press the search button again? if they would open a new tab with the search page, and you had automultiwindowsupport option enabled that new opened page would be created in a new pagemap, and so you wouldnt have a locking problem... -igor On Jan 28, 2008 2:51 PM, Johan Compagner [EMAIL PROTECTED] wrote: shared resources are not synced thats one way of going round it. the other way is as igor describes. do the search in a seperate thread. If it really takes that long then you do know that browsers also can just time out after they don't get anything for a while? If it really takes that long then you should build a page where people can fire searches to the system and the page is just displayig the searches they did and then if the search is finished that page can bring them to the result johan On Jan 28, 2008 11:46 PM, cemeterygate [EMAIL PROTECTED] wrote: that's nice to have but is there a way to work around this issue? Our application for customer service and they perform a lot search on a huge database, in some cases, customer service would like to start new search. Since wicket is locked by page path, there is no way for CSR to start a new request until previous one is finished. igor.vaynberg wrote: the pages are locked on the pagemap. so you cannot have two concurrent requests from the same user to the same pagemap. this is so when you are coding your pages you can use the much simpler single-threaded model. every have fields in your servlet implementation? those have to be synchronized or you will run into threading issues. this is the stuff we make sure you dont have to worry about. the trade off is that if you have long running requests you should probably process them in a different thread and let the UI poll for status. -igor On Jan 28, 2008 2:08 PM, cemeterygate [EMAIL PROTECTED] wrote: So I developed my first wicket application and I kept getting exception below as soon as i point my application to production database. Can someone tell me why wicket can't handle concurrent request? to replicate this issue, i have a page with a form component and regular submit button. on the onSubmit method, protected void onSubmit() { try { Thread.sleep(3 * 60 * 1000); } catch (InterruptedException e) { } } i put the thread into sleep for 3 minutes. I hit submit, then stop the request on browser and submit another request. then result to a internal error page. Why can't wicket handle mutiple submit? i dont' get it, shouldn't wicket process the new require like how servlet works? Someone please tell me how to work around this issue. Thanks in advance. 2008-01-25 14:45:05,443 ERROR [org.apache.wicket.RequestCycle] - After 1 minute the Pagemap null is still locked by: Thread[resin-tcp-connection-*:8080-45,5,main], giving up trying to get the page for path: 5 org.apache.wicket.WicketRuntimeException: After 1 minute the Pagemap null is still locked by: Thread[resin-tcp-connection-*:8080-45,5,main], giving up trying to get the page for path: 5 at org.apache.wicket.Session.getPage(Session.java:734
Re: Pagemap null is still locked by blah exception, help!! why does wicket have to lock the pagemap
Ah, the wonders of Weblogic. My first Wicket app runs on Weblogic. A big problem was that the datasource connection fell away after some time of inactivity. We solved it by letting Weblogic run a test query every x minutes. We also ran into very long lasting queries. Where database optimizations didn't help, we solved that by simply not allowing complex queries. Anyway, you should never let the pagelock expire. Wicket 1.2.* blows up on you. I guess this is still the case. Regards, Erik. Weaver, Scott wrote: I have just started encountering this issue with one of my Wicket apps. Seems to have cropped up now that I am using the 1.3 rc1 (will be moving to release this Friday), but this could wholly be coincidence. What I have noticed is, for me at least, this only happens on my Weblogic servers (9.2) and not in my local dev environment running Jetty. The Weblogic logs reveal that after manually stopping a page load or after a page timeout, threads go into a [STUCK] status and, I am theorizing, locking the pagemap indefinitely. Thanks, -scott -Original Message- From: cemeterygate [mailto:[EMAIL PROTECTED] Sent: Tuesday, January 29, 2008 10:51 AM To: users@wicket.apache.org Subject: Re: Pagemap null is still locked by blah exception, help!! why does wicket have to lock the pagemap that's right, i am screwed anyway if request takes too long, but from the browser user decide to give up current search by click the stop button and fire a new search. Since the pagemap is still locked by previous request, the second request will have to wait. sounds like i will end up handle this senario by pulling. is it possible to have a page that's not single thread model? Can we have two interface, such as SingleThreadPage, and ConcurrentThreadPage? igor.vaynberg wrote: yeah, if it takes a while the browser will timeout and you are screwed anyways... what do you mean they cant start a new search? you mean they no longer for the results of the currently running search and just press the search button again? if they would open a new tab with the search page, and you had automultiwindowsupport option enabled that new opened page would be created in a new pagemap, and so you wouldnt have a locking problem... -igor On Jan 28, 2008 2:51 PM, Johan Compagner [EMAIL PROTECTED] wrote: shared resources are not synced thats one way of going round it. the other way is as igor describes. do the search in a seperate thread. If it really takes that long then you do know that browsers also can just time out after they don't get anything for a while? If it really takes that long then you should build a page where people can fire searches to the system and the page is just displayig the searches they did and then if the search is finished that page can bring them to the result johan On Jan 28, 2008 11:46 PM, cemeterygate [EMAIL PROTECTED] wrote: that's nice to have but is there a way to work around this issue? Our application for customer service and they perform a lot search on a huge database, in some cases, customer service would like to start new search. Since wicket is locked by page path, there is no way for CSR to start a new request until previous one is finished. igor.vaynberg wrote: the pages are locked on the pagemap. so you cannot have two concurrent requests from the same user to the same pagemap. this is so when you are coding your pages you can use the much simpler single-threaded model. every have fields in your servlet implementation? those have to be synchronized or you will run into threading issues. this is the stuff we make sure you dont have to worry about. the trade off is that if you have long running requests you should probably process them in a different thread and let the UI poll for status. -igor On Jan 28, 2008 2:08 PM, cemeterygate [EMAIL PROTECTED] wrote: So I developed my first wicket application and I kept getting exception below as soon as i point my application to production database. Can someone tell me why wicket can't handle concurrent request? to replicate this issue, i have a page with a form component and regular submit button. on the onSubmit method, protected void onSubmit() { try { Thread.sleep(3 * 60 * 1000); } catch (InterruptedException e) { } } i put the thread into sleep for 3
Re: Pagemap null is still locked by blah exception, help!! why does wicket have to lock the pagemap
If 1 page instance can be accessed by multiply threads we suddenly have to have synchronize blocks all over the place in our wicket code (especially the response area, rendering) Also in the request phase where you can alter components and so on. Also needs to be synched. (add/remove of components, behaviours or validatiors) Even when i just quickly think about it, there are s many things that can go horrible wrong.. that i even dont dare to start coding for that. What you can do is post your search to a bookmarkable page. Those are not locked because you create a new instance johan On Jan 29, 2008 4:51 PM, cemeterygate [EMAIL PROTECTED] wrote: that's right, i am screwed anyway if request takes too long, but from the browser user decide to give up current search by click the stop button and fire a new search. Since the pagemap is still locked by previous request, the second request will have to wait. sounds like i will end up handle this senario by pulling. is it possible to have a page that's not single thread model? Can we have two interface, such as SingleThreadPage, and ConcurrentThreadPage? igor.vaynberg wrote: yeah, if it takes a while the browser will timeout and you are screwed anyways... what do you mean they cant start a new search? you mean they no longer for the results of the currently running search and just press the search button again? if they would open a new tab with the search page, and you had automultiwindowsupport option enabled that new opened page would be created in a new pagemap, and so you wouldnt have a locking problem... -igor On Jan 28, 2008 2:51 PM, Johan Compagner [EMAIL PROTECTED] wrote: shared resources are not synced thats one way of going round it. the other way is as igor describes. do the search in a seperate thread. If it really takes that long then you do know that browsers also can just time out after they don't get anything for a while? If it really takes that long then you should build a page where people can fire searches to the system and the page is just displayig the searches they did and then if the search is finished that page can bring them to the result johan On Jan 28, 2008 11:46 PM, cemeterygate [EMAIL PROTECTED] wrote: that's nice to have but is there a way to work around this issue? Our application for customer service and they perform a lot search on a huge database, in some cases, customer service would like to start new search. Since wicket is locked by page path, there is no way for CSR to start a new request until previous one is finished. igor.vaynberg wrote: the pages are locked on the pagemap. so you cannot have two concurrent requests from the same user to the same pagemap. this is so when you are coding your pages you can use the much simpler single-threaded model. every have fields in your servlet implementation? those have to be synchronized or you will run into threading issues. this is the stuff we make sure you dont have to worry about. the trade off is that if you have long running requests you should probably process them in a different thread and let the UI poll for status. -igor On Jan 28, 2008 2:08 PM, cemeterygate [EMAIL PROTECTED] wrote: So I developed my first wicket application and I kept getting exception below as soon as i point my application to production database. Can someone tell me why wicket can't handle concurrent request? to replicate this issue, i have a page with a form component and regular submit button. on the onSubmit method, protected void onSubmit() { try { Thread.sleep(3 * 60 * 1000); } catch (InterruptedException e) { } } i put the thread into sleep for 3 minutes. I hit submit, then stop the request on browser and submit another request. then result to a internal error page. Why can't wicket handle mutiple submit? i dont' get it, shouldn't wicket process the new require like how servlet works? Someone please tell me how to work around this issue. Thanks in advance. 2008-01-25 14:45:05,443 ERROR [org.apache.wicket.RequestCycle] - After 1 minute the Pagemap null is still locked by: Thread[resin-tcp-connection-*:8080-45,5,main], giving up trying to get the page for path: 5 org.apache.wicket.WicketRuntimeException: After 1 minute the Pagemap null is still locked by: Thread[resin-tcp-connection-*:8080-45,5,main], giving up trying to get the page for path: 5 at org.apache.wicket.Session.getPage(Session.java:734) at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage (AbstractRequestCycleProcessor.java:443) at
Re: Pagemap null is still locked by blah exception, help!! why does wicket have to lock the pagemap
arrrg, I've already changed the implementation by using auto refresh, which isn't that bad either, I can interupt the previous search request. but if i have saw ur post earlier, i wouldn't go long way to make those changes. Thanks anyway. Johan Compagner wrote: If 1 page instance can be accessed by multiply threads we suddenly have to have synchronize blocks all over the place in our wicket code (especially the response area, rendering) Also in the request phase where you can alter components and so on. Also needs to be synched. (add/remove of components, behaviours or validatiors) Even when i just quickly think about it, there are s many things that can go horrible wrong.. that i even dont dare to start coding for that. What you can do is post your search to a bookmarkable page. Those are not locked because you create a new instance johan On Jan 29, 2008 4:51 PM, cemeterygate [EMAIL PROTECTED] wrote: that's right, i am screwed anyway if request takes too long, but from the browser user decide to give up current search by click the stop button and fire a new search. Since the pagemap is still locked by previous request, the second request will have to wait. sounds like i will end up handle this senario by pulling. is it possible to have a page that's not single thread model? Can we have two interface, such as SingleThreadPage, and ConcurrentThreadPage? igor.vaynberg wrote: yeah, if it takes a while the browser will timeout and you are screwed anyways... what do you mean they cant start a new search? you mean they no longer for the results of the currently running search and just press the search button again? if they would open a new tab with the search page, and you had automultiwindowsupport option enabled that new opened page would be created in a new pagemap, and so you wouldnt have a locking problem... -igor On Jan 28, 2008 2:51 PM, Johan Compagner [EMAIL PROTECTED] wrote: shared resources are not synced thats one way of going round it. the other way is as igor describes. do the search in a seperate thread. If it really takes that long then you do know that browsers also can just time out after they don't get anything for a while? If it really takes that long then you should build a page where people can fire searches to the system and the page is just displayig the searches they did and then if the search is finished that page can bring them to the result johan On Jan 28, 2008 11:46 PM, cemeterygate [EMAIL PROTECTED] wrote: that's nice to have but is there a way to work around this issue? Our application for customer service and they perform a lot search on a huge database, in some cases, customer service would like to start new search. Since wicket is locked by page path, there is no way for CSR to start a new request until previous one is finished. igor.vaynberg wrote: the pages are locked on the pagemap. so you cannot have two concurrent requests from the same user to the same pagemap. this is so when you are coding your pages you can use the much simpler single-threaded model. every have fields in your servlet implementation? those have to be synchronized or you will run into threading issues. this is the stuff we make sure you dont have to worry about. the trade off is that if you have long running requests you should probably process them in a different thread and let the UI poll for status. -igor On Jan 28, 2008 2:08 PM, cemeterygate [EMAIL PROTECTED] wrote: So I developed my first wicket application and I kept getting exception below as soon as i point my application to production database. Can someone tell me why wicket can't handle concurrent request? to replicate this issue, i have a page with a form component and regular submit button. on the onSubmit method, protected void onSubmit() { try { Thread.sleep(3 * 60 * 1000); } catch (InterruptedException e) { } } i put the thread into sleep for 3 minutes. I hit submit, then stop the request on browser and submit another request. then result to a internal error page. Why can't wicket handle mutiple submit? i dont' get it, shouldn't wicket process the new require like how servlet works? Someone please tell me how to work around this issue. Thanks in advance. 2008-01-25 14:45:05,443 ERROR [org.apache.wicket.RequestCycle] - After 1 minute the Pagemap null is still locked by: Thread[resin-tcp-connection-*:8080-45,5,main], giving up trying to get the page for path: 5 org.apache.wicket.WicketRuntimeException: After 1 minute the Pagemap null is still locked by: Thread[resin-tcp-connection-*:8080-45,5,main],
Re: Pagemap null is still locked by blah exception, help!! why does wicket have to lock the pagemap
what you have now is better - doing a search in a different thread - because it doesnt bogged on servlet contains's threadpool. -igor On Jan 30, 2008 9:11 AM, cemeterygate [EMAIL PROTECTED] wrote: arrrg, I've already changed the implementation by using auto refresh, which isn't that bad either, I can interupt the previous search request. but if i have saw ur post earlier, i wouldn't go long way to make those changes. Thanks anyway. Johan Compagner wrote: If 1 page instance can be accessed by multiply threads we suddenly have to have synchronize blocks all over the place in our wicket code (especially the response area, rendering) Also in the request phase where you can alter components and so on. Also needs to be synched. (add/remove of components, behaviours or validatiors) Even when i just quickly think about it, there are s many things that can go horrible wrong.. that i even dont dare to start coding for that. What you can do is post your search to a bookmarkable page. Those are not locked because you create a new instance johan On Jan 29, 2008 4:51 PM, cemeterygate [EMAIL PROTECTED] wrote: that's right, i am screwed anyway if request takes too long, but from the browser user decide to give up current search by click the stop button and fire a new search. Since the pagemap is still locked by previous request, the second request will have to wait. sounds like i will end up handle this senario by pulling. is it possible to have a page that's not single thread model? Can we have two interface, such as SingleThreadPage, and ConcurrentThreadPage? igor.vaynberg wrote: yeah, if it takes a while the browser will timeout and you are screwed anyways... what do you mean they cant start a new search? you mean they no longer for the results of the currently running search and just press the search button again? if they would open a new tab with the search page, and you had automultiwindowsupport option enabled that new opened page would be created in a new pagemap, and so you wouldnt have a locking problem... -igor On Jan 28, 2008 2:51 PM, Johan Compagner [EMAIL PROTECTED] wrote: shared resources are not synced thats one way of going round it. the other way is as igor describes. do the search in a seperate thread. If it really takes that long then you do know that browsers also can just time out after they don't get anything for a while? If it really takes that long then you should build a page where people can fire searches to the system and the page is just displayig the searches they did and then if the search is finished that page can bring them to the result johan On Jan 28, 2008 11:46 PM, cemeterygate [EMAIL PROTECTED] wrote: that's nice to have but is there a way to work around this issue? Our application for customer service and they perform a lot search on a huge database, in some cases, customer service would like to start new search. Since wicket is locked by page path, there is no way for CSR to start a new request until previous one is finished. igor.vaynberg wrote: the pages are locked on the pagemap. so you cannot have two concurrent requests from the same user to the same pagemap. this is so when you are coding your pages you can use the much simpler single-threaded model. every have fields in your servlet implementation? those have to be synchronized or you will run into threading issues. this is the stuff we make sure you dont have to worry about. the trade off is that if you have long running requests you should probably process them in a different thread and let the UI poll for status. -igor On Jan 28, 2008 2:08 PM, cemeterygate [EMAIL PROTECTED] wrote: So I developed my first wicket application and I kept getting exception below as soon as i point my application to production database. Can someone tell me why wicket can't handle concurrent request? to replicate this issue, i have a page with a form component and regular submit button. on the onSubmit method, protected void onSubmit() { try { Thread.sleep(3 * 60 * 1000); } catch (InterruptedException e) { } } i put the thread into sleep for 3 minutes. I hit submit, then stop the request on browser and submit another request. then result to a internal error page. Why can't wicket handle mutiple submit? i dont' get it, shouldn't wicket process the new require like how servlet works? Someone please tell me how to work around this issue. Thanks in advance. 2008-01-25 14:45:05,443 ERROR
Re: Pagemap null is still locked by blah exception, help!! why does wicket have to lock the pagemap
On Jan 30, 2008 10:00 AM, Igor Vaynberg [EMAIL PROTECTED] wrote: what you have now is better - doing a search in a different thread - because it doesnt bogged on servlet contains's threadpool. The only thing to consider is that you might want to limit the number of threads you can spawn. Consider using a thread pool. Eelco - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Pagemap null is still locked by blah exception, help!! why does wicket have to lock the pagemap
I agreed, able to interupt previous request and start a new is nice to have :) i am pulling per 1 second because some queries actually come back pretty quick. i hope this is not going to put stress on the server when there are excessive number of long requests. Thanks for answering my questions. igor.vaynberg wrote: what you have now is better - doing a search in a different thread - because it doesnt bogged on servlet contains's threadpool. -igor On Jan 30, 2008 9:11 AM, cemeterygate [EMAIL PROTECTED] wrote: arrrg, I've already changed the implementation by using auto refresh, which isn't that bad either, I can interupt the previous search request. but if i have saw ur post earlier, i wouldn't go long way to make those changes. Thanks anyway. Johan Compagner wrote: If 1 page instance can be accessed by multiply threads we suddenly have to have synchronize blocks all over the place in our wicket code (especially the response area, rendering) Also in the request phase where you can alter components and so on. Also needs to be synched. (add/remove of components, behaviours or validatiors) Even when i just quickly think about it, there are s many things that can go horrible wrong.. that i even dont dare to start coding for that. What you can do is post your search to a bookmarkable page. Those are not locked because you create a new instance johan On Jan 29, 2008 4:51 PM, cemeterygate [EMAIL PROTECTED] wrote: that's right, i am screwed anyway if request takes too long, but from the browser user decide to give up current search by click the stop button and fire a new search. Since the pagemap is still locked by previous request, the second request will have to wait. sounds like i will end up handle this senario by pulling. is it possible to have a page that's not single thread model? Can we have two interface, such as SingleThreadPage, and ConcurrentThreadPage? igor.vaynberg wrote: yeah, if it takes a while the browser will timeout and you are screwed anyways... what do you mean they cant start a new search? you mean they no longer for the results of the currently running search and just press the search button again? if they would open a new tab with the search page, and you had automultiwindowsupport option enabled that new opened page would be created in a new pagemap, and so you wouldnt have a locking problem... -igor On Jan 28, 2008 2:51 PM, Johan Compagner [EMAIL PROTECTED] wrote: shared resources are not synced thats one way of going round it. the other way is as igor describes. do the search in a seperate thread. If it really takes that long then you do know that browsers also can just time out after they don't get anything for a while? If it really takes that long then you should build a page where people can fire searches to the system and the page is just displayig the searches they did and then if the search is finished that page can bring them to the result johan On Jan 28, 2008 11:46 PM, cemeterygate [EMAIL PROTECTED] wrote: that's nice to have but is there a way to work around this issue? Our application for customer service and they perform a lot search on a huge database, in some cases, customer service would like to start new search. Since wicket is locked by page path, there is no way for CSR to start a new request until previous one is finished. igor.vaynberg wrote: the pages are locked on the pagemap. so you cannot have two concurrent requests from the same user to the same pagemap. this is so when you are coding your pages you can use the much simpler single-threaded model. every have fields in your servlet implementation? those have to be synchronized or you will run into threading issues. this is the stuff we make sure you dont have to worry about. the trade off is that if you have long running requests you should probably process them in a different thread and let the UI poll for status. -igor On Jan 28, 2008 2:08 PM, cemeterygate [EMAIL PROTECTED] wrote: So I developed my first wicket application and I kept getting exception below as soon as i point my application to production database. Can someone tell me why wicket can't handle concurrent request? to replicate this issue, i have a page with a form component and regular submit button. on the onSubmit method, protected void onSubmit() { try { Thread.sleep(3 * 60 * 1000); } catch (InterruptedException e) { } } i put the thread into sleep for 3 minutes. I hit submit, then stop the request on
Re: Pagemap null is still locked by blah exception, help!! why does wicket have to lock the pagemap
yea, i am using a thread pool. thanks Eelco Hillenius wrote: On Jan 30, 2008 10:00 AM, Igor Vaynberg [EMAIL PROTECTED] wrote: what you have now is better - doing a search in a different thread - because it doesnt bogged on servlet contains's threadpool. The only thing to consider is that you might want to limit the number of threads you can spawn. Consider using a thread pool. Eelco - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- View this message in context: http://www.nabble.com/Pagemap-null-is-still-locked-by-blah-exception%2C-help%21%21-why-does-wicket-have-to-lock-the-pagemap-tp15146763p15190992.html Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Pagemap null is still locked by blah exception, help!! why does wicket have to lock the pagemap
that's right, i am screwed anyway if request takes too long, but from the browser user decide to give up current search by click the stop button and fire a new search. Since the pagemap is still locked by previous request, the second request will have to wait. sounds like i will end up handle this senario by pulling. is it possible to have a page that's not single thread model? Can we have two interface, such as SingleThreadPage, and ConcurrentThreadPage? igor.vaynberg wrote: yeah, if it takes a while the browser will timeout and you are screwed anyways... what do you mean they cant start a new search? you mean they no longer for the results of the currently running search and just press the search button again? if they would open a new tab with the search page, and you had automultiwindowsupport option enabled that new opened page would be created in a new pagemap, and so you wouldnt have a locking problem... -igor On Jan 28, 2008 2:51 PM, Johan Compagner [EMAIL PROTECTED] wrote: shared resources are not synced thats one way of going round it. the other way is as igor describes. do the search in a seperate thread. If it really takes that long then you do know that browsers also can just time out after they don't get anything for a while? If it really takes that long then you should build a page where people can fire searches to the system and the page is just displayig the searches they did and then if the search is finished that page can bring them to the result johan On Jan 28, 2008 11:46 PM, cemeterygate [EMAIL PROTECTED] wrote: that's nice to have but is there a way to work around this issue? Our application for customer service and they perform a lot search on a huge database, in some cases, customer service would like to start new search. Since wicket is locked by page path, there is no way for CSR to start a new request until previous one is finished. igor.vaynberg wrote: the pages are locked on the pagemap. so you cannot have two concurrent requests from the same user to the same pagemap. this is so when you are coding your pages you can use the much simpler single-threaded model. every have fields in your servlet implementation? those have to be synchronized or you will run into threading issues. this is the stuff we make sure you dont have to worry about. the trade off is that if you have long running requests you should probably process them in a different thread and let the UI poll for status. -igor On Jan 28, 2008 2:08 PM, cemeterygate [EMAIL PROTECTED] wrote: So I developed my first wicket application and I kept getting exception below as soon as i point my application to production database. Can someone tell me why wicket can't handle concurrent request? to replicate this issue, i have a page with a form component and regular submit button. on the onSubmit method, protected void onSubmit() { try { Thread.sleep(3 * 60 * 1000); } catch (InterruptedException e) { } } i put the thread into sleep for 3 minutes. I hit submit, then stop the request on browser and submit another request. then result to a internal error page. Why can't wicket handle mutiple submit? i dont' get it, shouldn't wicket process the new require like how servlet works? Someone please tell me how to work around this issue. Thanks in advance. 2008-01-25 14:45:05,443 ERROR [org.apache.wicket.RequestCycle] - After 1 minute the Pagemap null is still locked by: Thread[resin-tcp-connection-*:8080-45,5,main], giving up trying to get the page for path: 5 org.apache.wicket.WicketRuntimeException: After 1 minute the Pagemap null is still locked by: Thread[resin-tcp-connection-*:8080-45,5,main], giving up trying to get the page for path: 5 at org.apache.wicket.Session.getPage(Session.java:734) at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage (AbstractRequestCycleProcessor.java:443) at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve( WebRequestCycleProcessor.java:139) at org.apache.wicket.RequestCycle.step(RequestCycle.java:1152) at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1245) at org.apache.wicket.RequestCycle.request(RequestCycle.java :489) at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java :354) at org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java :121) at javax.servlet.http.HttpServlet.service(HttpServlet.java:115) at javax.servlet.http.HttpServlet.service(HttpServlet.java:92) at com.caucho.server.dispatch.ServletFilterChain.doFilter( ServletFilterChain.java:106) -- View this message
Re: Pagemap null is still locked by blah exception, help!! why does wicket have to lock the pagemap
cant we thread.interrupt() ? or will that actually kill the servlet thread without restarting it? havent throught this through all the way, just brainstorming. -igor On Jan 28, 2008 3:11 PM, Johan Compagner [EMAIL PROTECTED] wrote: how do you kill a current request? you can't shoot down the thread, and we dont have any control of what somebody is doing.. Ofcourse when it comes back at an wicket entry point at some time at some place we could check for a specific boolean and just throw an exception... But that is pretty error prone i think. On Jan 28, 2008 11:57 PM, Igor Vaynberg [EMAIL PROTECTED] wrote: maybe instead of waiting on the page to finish we should have an option to kill it, rollback, and start again with the new request? with the diskstore we have the old version serialized... -igor On Jan 28, 2008 2:51 PM, Johan Compagner [EMAIL PROTECTED] wrote: shared resources are not synced thats one way of going round it. the other way is as igor describes. do the search in a seperate thread. If it really takes that long then you do know that browsers also can just time out after they don't get anything for a while? If it really takes that long then you should build a page where people can fire searches to the system and the page is just displayig the searches they did and then if the search is finished that page can bring them to the result johan On Jan 28, 2008 11:46 PM, cemeterygate [EMAIL PROTECTED] wrote: that's nice to have but is there a way to work around this issue? Our application for customer service and they perform a lot search on a huge database, in some cases, customer service would like to start new search. Since wicket is locked by page path, there is no way for CSR to start a new request until previous one is finished. igor.vaynberg wrote: the pages are locked on the pagemap. so you cannot have two concurrent requests from the same user to the same pagemap. this is so when you are coding your pages you can use the much simpler single-threaded model. every have fields in your servlet implementation? those have to be synchronized or you will run into threading issues. this is the stuff we make sure you dont have to worry about. the trade off is that if you have long running requests you should probably process them in a different thread and let the UI poll for status. -igor On Jan 28, 2008 2:08 PM, cemeterygate [EMAIL PROTECTED] wrote: So I developed my first wicket application and I kept getting exception below as soon as i point my application to production database. Can someone tell me why wicket can't handle concurrent request? to replicate this issue, i have a page with a form component and regular submit button. on the onSubmit method, protected void onSubmit() { try { Thread.sleep(3 * 60 * 1000); } catch (InterruptedException e) { } } i put the thread into sleep for 3 minutes. I hit submit, then stop the request on browser and submit another request. then result to a internal error page. Why can't wicket handle mutiple submit? i dont' get it, shouldn't wicket process the new require like how servlet works? Someone please tell me how to work around this issue. Thanks in advance. 2008-01-25 14:45:05,443 ERROR [org.apache.wicket.RequestCycle] - After 1 minute the Pagemap null is still locked by: Thread[resin-tcp-connection-*:8080-45,5,main], giving up trying to get the page for path: 5 org.apache.wicket.WicketRuntimeException: After 1 minute the Pagemap null is still locked by: Thread[resin-tcp-connection-*:8080-45,5,main], giving up trying to get the page for path: 5 at org.apache.wicket.Session.getPage(Session.java:734) at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage (AbstractRequestCycleProcessor.java:443) at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve( WebRequestCycleProcessor.java:139) at org.apache.wicket.RequestCycle.step(RequestCycle.java :1152) at org.apache.wicket.RequestCycle.steps(RequestCycle.java :1245) at org.apache.wicket.RequestCycle.request(RequestCycle.java :489) at org.apache.wicket.protocol.http.WicketFilter.doGet( WicketFilter.java :354) at org.apache.wicket.protocol.http.WicketServlet.doGet( WicketServlet.java :121) at javax.servlet.http.HttpServlet.service(HttpServlet.java :115) at javax.servlet.http.HttpServlet.service(HttpServlet.java :92)
Re: Pagemap null is still locked by blah exception, help!! why does wicket have to lock the pagemap
you can do that polling with an ajax request and if the searches take that long anyway polling every second doesn't make sense to me anyway you can do that every 5 or 10 seconds, because if a search can take much more then a minute a few more seconds doesn't matter... johan On Jan 29, 2008 12:07 AM, cemeterygate [EMAIL PROTECTED] wrote: as for pulling, the page need to constantly refresh to check for new data and i also need to manage order of the requests. shared resources sounds like more close to how servlet would work. i am still new with wicket, is there any example out there i can use as reference? thanks for answering all the puzzles in my head. Johan Compagner wrote: shared resources are not synced thats one way of going round it. the other way is as igor describes. do the search in a seperate thread. If it really takes that long then you do know that browsers also can just time out after they don't get anything for a while? If it really takes that long then you should build a page where people can fire searches to the system and the page is just displayig the searches they did and then if the search is finished that page can bring them to the result johan On Jan 28, 2008 11:46 PM, cemeterygate [EMAIL PROTECTED] wrote: that's nice to have but is there a way to work around this issue? Our application for customer service and they perform a lot search on a huge database, in some cases, customer service would like to start new search. Since wicket is locked by page path, there is no way for CSR to start a new request until previous one is finished. igor.vaynberg wrote: the pages are locked on the pagemap. so you cannot have two concurrent requests from the same user to the same pagemap. this is so when you are coding your pages you can use the much simpler single-threaded model. every have fields in your servlet implementation? those have to be synchronized or you will run into threading issues. this is the stuff we make sure you dont have to worry about. the trade off is that if you have long running requests you should probably process them in a different thread and let the UI poll for status. -igor On Jan 28, 2008 2:08 PM, cemeterygate [EMAIL PROTECTED] wrote: So I developed my first wicket application and I kept getting exception below as soon as i point my application to production database. Can someone tell me why wicket can't handle concurrent request? to replicate this issue, i have a page with a form component and regular submit button. on the onSubmit method, protected void onSubmit() { try { Thread.sleep(3 * 60 * 1000); } catch (InterruptedException e) { } } i put the thread into sleep for 3 minutes. I hit submit, then stop the request on browser and submit another request. then result to a internal error page. Why can't wicket handle mutiple submit? i dont' get it, shouldn't wicket process the new require like how servlet works? Someone please tell me how to work around this issue. Thanks in advance. 2008-01-25 14:45:05,443 ERROR [org.apache.wicket.RequestCycle] - After 1 minute the Pagemap null is still locked by: Thread[resin-tcp-connection-*:8080-45,5,main], giving up trying to get the page for path: 5 org.apache.wicket.WicketRuntimeException: After 1 minute the Pagemap null is still locked by: Thread[resin-tcp-connection-*:8080-45,5,main], giving up trying to get the page for path: 5 at org.apache.wicket.Session.getPage(Session.java:734) at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage (AbstractRequestCycleProcessor.java:443) at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve( WebRequestCycleProcessor.java:139) at org.apache.wicket.RequestCycle.step(RequestCycle.java :1152) at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1245) at org.apache.wicket.RequestCycle.request(RequestCycle.java :489) at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java :354) at org.apache.wicket.protocol.http.WicketServlet.doGet( WicketServlet.java :121) at javax.servlet.http.HttpServlet.service(HttpServlet.java:115) at javax.servlet.http.HttpServlet.service(HttpServlet.java :92) at com.caucho.server.dispatch.ServletFilterChain.doFilter( ServletFilterChain.java:106) -- View this message in context: http://www.nabble.com/Pagemap-null-is-still-locked-by-blah-exception%2C-help%21%21-why-does-wicket-have-to-lock-the-pagemap-tp15146763p15146763.html Sent from the Wicket - User mailing list archive at Nabble.com http://nabble.com/http://nabble.com/ .
Re: Pagemap null is still locked by blah exception, help!! why does wicket have to lock the pagemap
do you have request that take more then 1 minute? Wicket has to do that to make sure that you as a developer doesnt have to think about multi threaded programming and we as a framework also doesn't have to worry about 2 render cycles at the same time of the same page. johan On Jan 28, 2008 11:08 PM, cemeterygate [EMAIL PROTECTED] wrote: So I developed my first wicket application and I kept getting exception below as soon as i point my application to production database. Can someone tell me why wicket can't handle concurrent request? to replicate this issue, i have a page with a form component and regular submit button. on the onSubmit method, protected void onSubmit() { try { Thread.sleep(3 * 60 * 1000); } catch (InterruptedException e) { } } i put the thread into sleep for 3 minutes. I hit submit, then stop the request on browser and submit another request. then result to a internal error page. Why can't wicket handle mutiple submit? i dont' get it, shouldn't wicket process the new require like how servlet works? Someone please tell me how to work around this issue. Thanks in advance. 2008-01-25 14:45:05,443 ERROR [org.apache.wicket.RequestCycle] - After 1 minute the Pagemap null is still locked by: Thread[resin-tcp-connection-*:8080-45,5,main], giving up trying to get the page for path: 5 org.apache.wicket.WicketRuntimeException: After 1 minute the Pagemap null is still locked by: Thread[resin-tcp-connection-*:8080-45,5,main], giving up trying to get the page for path: 5 at org.apache.wicket.Session.getPage(Session.java:734) at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage (AbstractRequestCycleProcessor.java:443) at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve( WebRequestCycleProcessor.java:139) at org.apache.wicket.RequestCycle.step(RequestCycle.java:1152) at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1245) at org.apache.wicket.RequestCycle.request(RequestCycle.java:489) at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:354) at org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java :121) at javax.servlet.http.HttpServlet.service(HttpServlet.java:115) at javax.servlet.http.HttpServlet.service(HttpServlet.java:92) at com.caucho.server.dispatch.ServletFilterChain.doFilter( ServletFilterChain.java:106) -- View this message in context: http://www.nabble.com/Pagemap-null-is-still-locked-by-blah-exception%2C-help%21%21-why-does-wicket-have-to-lock-the-pagemap-tp15146763p15146763.html Sent from the Wicket - User mailing list archive at Nabble.comhttp://nabble.com/ . - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Pagemap null is still locked by blah exception, help!! why does wicket have to lock the pagemap
as for pulling, the page need to constantly refresh to check for new data and i also need to manage order of the requests. shared resources sounds like more close to how servlet would work. i am still new with wicket, is there any example out there i can use as reference? thanks for answering all the puzzles in my head. Johan Compagner wrote: shared resources are not synced thats one way of going round it. the other way is as igor describes. do the search in a seperate thread. If it really takes that long then you do know that browsers also can just time out after they don't get anything for a while? If it really takes that long then you should build a page where people can fire searches to the system and the page is just displayig the searches they did and then if the search is finished that page can bring them to the result johan On Jan 28, 2008 11:46 PM, cemeterygate [EMAIL PROTECTED] wrote: that's nice to have but is there a way to work around this issue? Our application for customer service and they perform a lot search on a huge database, in some cases, customer service would like to start new search. Since wicket is locked by page path, there is no way for CSR to start a new request until previous one is finished. igor.vaynberg wrote: the pages are locked on the pagemap. so you cannot have two concurrent requests from the same user to the same pagemap. this is so when you are coding your pages you can use the much simpler single-threaded model. every have fields in your servlet implementation? those have to be synchronized or you will run into threading issues. this is the stuff we make sure you dont have to worry about. the trade off is that if you have long running requests you should probably process them in a different thread and let the UI poll for status. -igor On Jan 28, 2008 2:08 PM, cemeterygate [EMAIL PROTECTED] wrote: So I developed my first wicket application and I kept getting exception below as soon as i point my application to production database. Can someone tell me why wicket can't handle concurrent request? to replicate this issue, i have a page with a form component and regular submit button. on the onSubmit method, protected void onSubmit() { try { Thread.sleep(3 * 60 * 1000); } catch (InterruptedException e) { } } i put the thread into sleep for 3 minutes. I hit submit, then stop the request on browser and submit another request. then result to a internal error page. Why can't wicket handle mutiple submit? i dont' get it, shouldn't wicket process the new require like how servlet works? Someone please tell me how to work around this issue. Thanks in advance. 2008-01-25 14:45:05,443 ERROR [org.apache.wicket.RequestCycle] - After 1 minute the Pagemap null is still locked by: Thread[resin-tcp-connection-*:8080-45,5,main], giving up trying to get the page for path: 5 org.apache.wicket.WicketRuntimeException: After 1 minute the Pagemap null is still locked by: Thread[resin-tcp-connection-*:8080-45,5,main], giving up trying to get the page for path: 5 at org.apache.wicket.Session.getPage(Session.java:734) at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage (AbstractRequestCycleProcessor.java:443) at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve( WebRequestCycleProcessor.java:139) at org.apache.wicket.RequestCycle.step(RequestCycle.java:1152) at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1245) at org.apache.wicket.RequestCycle.request(RequestCycle.java :489) at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java :354) at org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java :121) at javax.servlet.http.HttpServlet.service(HttpServlet.java:115) at javax.servlet.http.HttpServlet.service(HttpServlet.java:92) at com.caucho.server.dispatch.ServletFilterChain.doFilter( ServletFilterChain.java:106) -- View this message in context: http://www.nabble.com/Pagemap-null-is-still-locked-by-blah-exception%2C-help%21%21-why-does-wicket-have-to-lock-the-pagemap-tp15146763p15146763.html Sent from the Wicket - User mailing list archive at Nabble.comhttp://nabble.com/ . - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- View this message in context:
Re: Pagemap null is still locked by blah exception, help!! why does wicket have to lock the pagemap
btw, thank you for answer the question. cemeterygate wrote: that's nice to have but is there a way to work around this issue? Our application for customer service and they perform a lot search on a huge database, in some cases, customer service would like to start new search. Since wicket is locked by page path, there is no way for CSR to start a new request until previous one is finished. igor.vaynberg wrote: the pages are locked on the pagemap. so you cannot have two concurrent requests from the same user to the same pagemap. this is so when you are coding your pages you can use the much simpler single-threaded model. every have fields in your servlet implementation? those have to be synchronized or you will run into threading issues. this is the stuff we make sure you dont have to worry about. the trade off is that if you have long running requests you should probably process them in a different thread and let the UI poll for status. -igor On Jan 28, 2008 2:08 PM, cemeterygate [EMAIL PROTECTED] wrote: So I developed my first wicket application and I kept getting exception below as soon as i point my application to production database. Can someone tell me why wicket can't handle concurrent request? to replicate this issue, i have a page with a form component and regular submit button. on the onSubmit method, protected void onSubmit() { try { Thread.sleep(3 * 60 * 1000); } catch (InterruptedException e) { } } i put the thread into sleep for 3 minutes. I hit submit, then stop the request on browser and submit another request. then result to a internal error page. Why can't wicket handle mutiple submit? i dont' get it, shouldn't wicket process the new require like how servlet works? Someone please tell me how to work around this issue. Thanks in advance. 2008-01-25 14:45:05,443 ERROR [org.apache.wicket.RequestCycle] - After 1 minute the Pagemap null is still locked by: Thread[resin-tcp-connection-*:8080-45,5,main], giving up trying to get the page for path: 5 org.apache.wicket.WicketRuntimeException: After 1 minute the Pagemap null is still locked by: Thread[resin-tcp-connection-*:8080-45,5,main], giving up trying to get the page for path: 5 at org.apache.wicket.Session.getPage(Session.java:734) at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage(AbstractRequestCycleProcessor.java:443) at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:139) at org.apache.wicket.RequestCycle.step(RequestCycle.java:1152) at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1245) at org.apache.wicket.RequestCycle.request(RequestCycle.java:489) at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:354) at org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:121) at javax.servlet.http.HttpServlet.service(HttpServlet.java:115) at javax.servlet.http.HttpServlet.service(HttpServlet.java:92) at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:106) -- View this message in context: http://www.nabble.com/Pagemap-null-is-still-locked-by-blah-exception%2C-help%21%21-why-does-wicket-have-to-lock-the-pagemap-tp15146763p15146763.html Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- View this message in context: http://www.nabble.com/Pagemap-null-is-still-locked-by-blah-exception%2C-help%21%21-why-does-wicket-have-to-lock-the-pagemap-tp15146763p15147759.html Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Pagemap null is still locked by blah exception, help!! why does wicket have to lock the pagemap
So I developed my first wicket application and I kept getting exception below as soon as i point my application to production database. Can someone tell me why wicket can't handle concurrent request? to replicate this issue, i have a page with a form component and regular submit button. on the onSubmit method, protected void onSubmit() { try { Thread.sleep(3 * 60 * 1000); } catch (InterruptedException e) { } } i put the thread into sleep for 3 minutes. I hit submit, then stop the request on browser and submit another request. then result to a internal error page. Why can't wicket handle mutiple submit? i dont' get it, shouldn't wicket process the new require like how servlet works? Someone please tell me how to work around this issue. Thanks in advance. 2008-01-25 14:45:05,443 ERROR [org.apache.wicket.RequestCycle] - After 1 minute the Pagemap null is still locked by: Thread[resin-tcp-connection-*:8080-45,5,main], giving up trying to get the page for path: 5 org.apache.wicket.WicketRuntimeException: After 1 minute the Pagemap null is still locked by: Thread[resin-tcp-connection-*:8080-45,5,main], giving up trying to get the page for path: 5 at org.apache.wicket.Session.getPage(Session.java:734) at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage(AbstractRequestCycleProcessor.java:443) at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:139) at org.apache.wicket.RequestCycle.step(RequestCycle.java:1152) at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1245) at org.apache.wicket.RequestCycle.request(RequestCycle.java:489) at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:354) at org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:121) at javax.servlet.http.HttpServlet.service(HttpServlet.java:115) at javax.servlet.http.HttpServlet.service(HttpServlet.java:92) at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:106) -- View this message in context: http://www.nabble.com/Pagemap-null-is-still-locked-by-blah-exception%2C-help%21%21-why-does-wicket-have-to-lock-the-pagemap-tp15146763p15146763.html Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Pagemap null is still locked by blah exception, help!! why does wicket have to lock the pagemap
that's nice to have but is there a way to work around this issue? Our application for customer service and they perform a lot search on a huge database, in some cases, customer service would like to start new search. Since wicket is locked by page path, there is no way for CSR to start a new request until previous one is finished. igor.vaynberg wrote: the pages are locked on the pagemap. so you cannot have two concurrent requests from the same user to the same pagemap. this is so when you are coding your pages you can use the much simpler single-threaded model. every have fields in your servlet implementation? those have to be synchronized or you will run into threading issues. this is the stuff we make sure you dont have to worry about. the trade off is that if you have long running requests you should probably process them in a different thread and let the UI poll for status. -igor On Jan 28, 2008 2:08 PM, cemeterygate [EMAIL PROTECTED] wrote: So I developed my first wicket application and I kept getting exception below as soon as i point my application to production database. Can someone tell me why wicket can't handle concurrent request? to replicate this issue, i have a page with a form component and regular submit button. on the onSubmit method, protected void onSubmit() { try { Thread.sleep(3 * 60 * 1000); } catch (InterruptedException e) { } } i put the thread into sleep for 3 minutes. I hit submit, then stop the request on browser and submit another request. then result to a internal error page. Why can't wicket handle mutiple submit? i dont' get it, shouldn't wicket process the new require like how servlet works? Someone please tell me how to work around this issue. Thanks in advance. 2008-01-25 14:45:05,443 ERROR [org.apache.wicket.RequestCycle] - After 1 minute the Pagemap null is still locked by: Thread[resin-tcp-connection-*:8080-45,5,main], giving up trying to get the page for path: 5 org.apache.wicket.WicketRuntimeException: After 1 minute the Pagemap null is still locked by: Thread[resin-tcp-connection-*:8080-45,5,main], giving up trying to get the page for path: 5 at org.apache.wicket.Session.getPage(Session.java:734) at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage(AbstractRequestCycleProcessor.java:443) at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:139) at org.apache.wicket.RequestCycle.step(RequestCycle.java:1152) at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1245) at org.apache.wicket.RequestCycle.request(RequestCycle.java:489) at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:354) at org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:121) at javax.servlet.http.HttpServlet.service(HttpServlet.java:115) at javax.servlet.http.HttpServlet.service(HttpServlet.java:92) at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:106) -- View this message in context: http://www.nabble.com/Pagemap-null-is-still-locked-by-blah-exception%2C-help%21%21-why-does-wicket-have-to-lock-the-pagemap-tp15146763p15146763.html Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- View this message in context: http://www.nabble.com/Pagemap-null-is-still-locked-by-blah-exception%2C-help%21%21-why-does-wicket-have-to-lock-the-pagemap-tp15146763p15147756.html Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Pagemap null is still locked by blah exception, help!! why does wicket have to lock the pagemap
sounds like wicket need Optimistic concurrency control =) i will try what you guys suggested. I still feel weird, maybe i am thinking too much in servlet world. igor.vaynberg wrote: cant we thread.interrupt() ? or will that actually kill the servlet thread without restarting it? havent throught this through all the way, just brainstorming. -igor On Jan 28, 2008 3:11 PM, Johan Compagner [EMAIL PROTECTED] wrote: how do you kill a current request? you can't shoot down the thread, and we dont have any control of what somebody is doing.. Ofcourse when it comes back at an wicket entry point at some time at some place we could check for a specific boolean and just throw an exception... But that is pretty error prone i think. On Jan 28, 2008 11:57 PM, Igor Vaynberg [EMAIL PROTECTED] wrote: maybe instead of waiting on the page to finish we should have an option to kill it, rollback, and start again with the new request? with the diskstore we have the old version serialized... -igor On Jan 28, 2008 2:51 PM, Johan Compagner [EMAIL PROTECTED] wrote: shared resources are not synced thats one way of going round it. the other way is as igor describes. do the search in a seperate thread. If it really takes that long then you do know that browsers also can just time out after they don't get anything for a while? If it really takes that long then you should build a page where people can fire searches to the system and the page is just displayig the searches they did and then if the search is finished that page can bring them to the result johan On Jan 28, 2008 11:46 PM, cemeterygate [EMAIL PROTECTED] wrote: that's nice to have but is there a way to work around this issue? Our application for customer service and they perform a lot search on a huge database, in some cases, customer service would like to start new search. Since wicket is locked by page path, there is no way for CSR to start a new request until previous one is finished. igor.vaynberg wrote: the pages are locked on the pagemap. so you cannot have two concurrent requests from the same user to the same pagemap. this is so when you are coding your pages you can use the much simpler single-threaded model. every have fields in your servlet implementation? those have to be synchronized or you will run into threading issues. this is the stuff we make sure you dont have to worry about. the trade off is that if you have long running requests you should probably process them in a different thread and let the UI poll for status. -igor On Jan 28, 2008 2:08 PM, cemeterygate [EMAIL PROTECTED] wrote: So I developed my first wicket application and I kept getting exception below as soon as i point my application to production database. Can someone tell me why wicket can't handle concurrent request? to replicate this issue, i have a page with a form component and regular submit button. on the onSubmit method, protected void onSubmit() { try { Thread.sleep(3 * 60 * 1000); } catch (InterruptedException e) { } } i put the thread into sleep for 3 minutes. I hit submit, then stop the request on browser and submit another request. then result to a internal error page. Why can't wicket handle mutiple submit? i dont' get it, shouldn't wicket process the new require like how servlet works? Someone please tell me how to work around this issue. Thanks in advance. 2008-01-25 14:45:05,443 ERROR [org.apache.wicket.RequestCycle] - After 1 minute the Pagemap null is still locked by: Thread[resin-tcp-connection-*:8080-45,5,main], giving up trying to get the page for path: 5 org.apache.wicket.WicketRuntimeException: After 1 minute the Pagemap null is still locked by: Thread[resin-tcp-connection-*:8080-45,5,main], giving up trying to get the page for path: 5 at org.apache.wicket.Session.getPage(Session.java:734) at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage (AbstractRequestCycleProcessor.java:443) at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve( WebRequestCycleProcessor.java:139) at org.apache.wicket.RequestCycle.step(RequestCycle.java :1152) at org.apache.wicket.RequestCycle.steps(RequestCycle.java :1245) at org.apache.wicket.RequestCycle.request(RequestCycle.java :489) at org.apache.wicket.protocol.http.WicketFilter.doGet( WicketFilter.java :354) at
Re: Pagemap null is still locked by blah exception, help!! why does wicket have to lock the pagemap
yeah, if it takes a while the browser will timeout and you are screwed anyways... what do you mean they cant start a new search? you mean they no longer for the results of the currently running search and just press the search button again? if they would open a new tab with the search page, and you had automultiwindowsupport option enabled that new opened page would be created in a new pagemap, and so you wouldnt have a locking problem... -igor On Jan 28, 2008 2:51 PM, Johan Compagner [EMAIL PROTECTED] wrote: shared resources are not synced thats one way of going round it. the other way is as igor describes. do the search in a seperate thread. If it really takes that long then you do know that browsers also can just time out after they don't get anything for a while? If it really takes that long then you should build a page where people can fire searches to the system and the page is just displayig the searches they did and then if the search is finished that page can bring them to the result johan On Jan 28, 2008 11:46 PM, cemeterygate [EMAIL PROTECTED] wrote: that's nice to have but is there a way to work around this issue? Our application for customer service and they perform a lot search on a huge database, in some cases, customer service would like to start new search. Since wicket is locked by page path, there is no way for CSR to start a new request until previous one is finished. igor.vaynberg wrote: the pages are locked on the pagemap. so you cannot have two concurrent requests from the same user to the same pagemap. this is so when you are coding your pages you can use the much simpler single-threaded model. every have fields in your servlet implementation? those have to be synchronized or you will run into threading issues. this is the stuff we make sure you dont have to worry about. the trade off is that if you have long running requests you should probably process them in a different thread and let the UI poll for status. -igor On Jan 28, 2008 2:08 PM, cemeterygate [EMAIL PROTECTED] wrote: So I developed my first wicket application and I kept getting exception below as soon as i point my application to production database. Can someone tell me why wicket can't handle concurrent request? to replicate this issue, i have a page with a form component and regular submit button. on the onSubmit method, protected void onSubmit() { try { Thread.sleep(3 * 60 * 1000); } catch (InterruptedException e) { } } i put the thread into sleep for 3 minutes. I hit submit, then stop the request on browser and submit another request. then result to a internal error page. Why can't wicket handle mutiple submit? i dont' get it, shouldn't wicket process the new require like how servlet works? Someone please tell me how to work around this issue. Thanks in advance. 2008-01-25 14:45:05,443 ERROR [org.apache.wicket.RequestCycle] - After 1 minute the Pagemap null is still locked by: Thread[resin-tcp-connection-*:8080-45,5,main], giving up trying to get the page for path: 5 org.apache.wicket.WicketRuntimeException: After 1 minute the Pagemap null is still locked by: Thread[resin-tcp-connection-*:8080-45,5,main], giving up trying to get the page for path: 5 at org.apache.wicket.Session.getPage(Session.java:734) at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage (AbstractRequestCycleProcessor.java:443) at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve( WebRequestCycleProcessor.java:139) at org.apache.wicket.RequestCycle.step(RequestCycle.java:1152) at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1245) at org.apache.wicket.RequestCycle.request(RequestCycle.java :489) at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java :354) at org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java :121) at javax.servlet.http.HttpServlet.service(HttpServlet.java:115) at javax.servlet.http.HttpServlet.service(HttpServlet.java:92) at com.caucho.server.dispatch.ServletFilterChain.doFilter( ServletFilterChain.java:106) -- View this message in context: http://www.nabble.com/Pagemap-null-is-still-locked-by-blah-exception%2C-help%21%21-why-does-wicket-have-to-lock-the-pagemap-tp15146763p15146763.html Sent from the Wicket - User mailing list archive at Nabble.comhttp://nabble.com/ . - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Pagemap null is still locked by blah exception, help!! why does wicket have to lock the pagemap
maybe instead of waiting on the page to finish we should have an option to kill it, rollback, and start again with the new request? with the diskstore we have the old version serialized... -igor On Jan 28, 2008 2:51 PM, Johan Compagner [EMAIL PROTECTED] wrote: shared resources are not synced thats one way of going round it. the other way is as igor describes. do the search in a seperate thread. If it really takes that long then you do know that browsers also can just time out after they don't get anything for a while? If it really takes that long then you should build a page where people can fire searches to the system and the page is just displayig the searches they did and then if the search is finished that page can bring them to the result johan On Jan 28, 2008 11:46 PM, cemeterygate [EMAIL PROTECTED] wrote: that's nice to have but is there a way to work around this issue? Our application for customer service and they perform a lot search on a huge database, in some cases, customer service would like to start new search. Since wicket is locked by page path, there is no way for CSR to start a new request until previous one is finished. igor.vaynberg wrote: the pages are locked on the pagemap. so you cannot have two concurrent requests from the same user to the same pagemap. this is so when you are coding your pages you can use the much simpler single-threaded model. every have fields in your servlet implementation? those have to be synchronized or you will run into threading issues. this is the stuff we make sure you dont have to worry about. the trade off is that if you have long running requests you should probably process them in a different thread and let the UI poll for status. -igor On Jan 28, 2008 2:08 PM, cemeterygate [EMAIL PROTECTED] wrote: So I developed my first wicket application and I kept getting exception below as soon as i point my application to production database. Can someone tell me why wicket can't handle concurrent request? to replicate this issue, i have a page with a form component and regular submit button. on the onSubmit method, protected void onSubmit() { try { Thread.sleep(3 * 60 * 1000); } catch (InterruptedException e) { } } i put the thread into sleep for 3 minutes. I hit submit, then stop the request on browser and submit another request. then result to a internal error page. Why can't wicket handle mutiple submit? i dont' get it, shouldn't wicket process the new require like how servlet works? Someone please tell me how to work around this issue. Thanks in advance. 2008-01-25 14:45:05,443 ERROR [org.apache.wicket.RequestCycle] - After 1 minute the Pagemap null is still locked by: Thread[resin-tcp-connection-*:8080-45,5,main], giving up trying to get the page for path: 5 org.apache.wicket.WicketRuntimeException: After 1 minute the Pagemap null is still locked by: Thread[resin-tcp-connection-*:8080-45,5,main], giving up trying to get the page for path: 5 at org.apache.wicket.Session.getPage(Session.java:734) at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage (AbstractRequestCycleProcessor.java:443) at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve( WebRequestCycleProcessor.java:139) at org.apache.wicket.RequestCycle.step(RequestCycle.java:1152) at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1245) at org.apache.wicket.RequestCycle.request(RequestCycle.java :489) at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java :354) at org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java :121) at javax.servlet.http.HttpServlet.service(HttpServlet.java:115) at javax.servlet.http.HttpServlet.service(HttpServlet.java:92) at com.caucho.server.dispatch.ServletFilterChain.doFilter( ServletFilterChain.java:106) -- View this message in context: http://www.nabble.com/Pagemap-null-is-still-locked-by-blah-exception%2C-help%21%21-why-does-wicket-have-to-lock-the-pagemap-tp15146763p15146763.html Sent from the Wicket - User mailing list archive at Nabble.comhttp://nabble.com/ . - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- View this message in context:
Re: Pagemap null is still locked by blah exception, help!! why does wicket have to lock the pagemap
shared resources are not synced thats one way of going round it. the other way is as igor describes. do the search in a seperate thread. If it really takes that long then you do know that browsers also can just time out after they don't get anything for a while? If it really takes that long then you should build a page where people can fire searches to the system and the page is just displayig the searches they did and then if the search is finished that page can bring them to the result johan On Jan 28, 2008 11:46 PM, cemeterygate [EMAIL PROTECTED] wrote: that's nice to have but is there a way to work around this issue? Our application for customer service and they perform a lot search on a huge database, in some cases, customer service would like to start new search. Since wicket is locked by page path, there is no way for CSR to start a new request until previous one is finished. igor.vaynberg wrote: the pages are locked on the pagemap. so you cannot have two concurrent requests from the same user to the same pagemap. this is so when you are coding your pages you can use the much simpler single-threaded model. every have fields in your servlet implementation? those have to be synchronized or you will run into threading issues. this is the stuff we make sure you dont have to worry about. the trade off is that if you have long running requests you should probably process them in a different thread and let the UI poll for status. -igor On Jan 28, 2008 2:08 PM, cemeterygate [EMAIL PROTECTED] wrote: So I developed my first wicket application and I kept getting exception below as soon as i point my application to production database. Can someone tell me why wicket can't handle concurrent request? to replicate this issue, i have a page with a form component and regular submit button. on the onSubmit method, protected void onSubmit() { try { Thread.sleep(3 * 60 * 1000); } catch (InterruptedException e) { } } i put the thread into sleep for 3 minutes. I hit submit, then stop the request on browser and submit another request. then result to a internal error page. Why can't wicket handle mutiple submit? i dont' get it, shouldn't wicket process the new require like how servlet works? Someone please tell me how to work around this issue. Thanks in advance. 2008-01-25 14:45:05,443 ERROR [org.apache.wicket.RequestCycle] - After 1 minute the Pagemap null is still locked by: Thread[resin-tcp-connection-*:8080-45,5,main], giving up trying to get the page for path: 5 org.apache.wicket.WicketRuntimeException: After 1 minute the Pagemap null is still locked by: Thread[resin-tcp-connection-*:8080-45,5,main], giving up trying to get the page for path: 5 at org.apache.wicket.Session.getPage(Session.java:734) at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage (AbstractRequestCycleProcessor.java:443) at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve( WebRequestCycleProcessor.java:139) at org.apache.wicket.RequestCycle.step(RequestCycle.java:1152) at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1245) at org.apache.wicket.RequestCycle.request(RequestCycle.java :489) at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java :354) at org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java :121) at javax.servlet.http.HttpServlet.service(HttpServlet.java:115) at javax.servlet.http.HttpServlet.service(HttpServlet.java:92) at com.caucho.server.dispatch.ServletFilterChain.doFilter( ServletFilterChain.java:106) -- View this message in context: http://www.nabble.com/Pagemap-null-is-still-locked-by-blah-exception%2C-help%21%21-why-does-wicket-have-to-lock-the-pagemap-tp15146763p15146763.html Sent from the Wicket - User mailing list archive at Nabble.comhttp://nabble.com/ . - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- View this message in context: http://www.nabble.com/Pagemap-null-is-still-locked-by-blah-exception%2C-help%21%21-why-does-wicket-have-to-lock-the-pagemap-tp15146763p15147756.html Sent from the Wicket - User mailing list archive at Nabble.comhttp://nabble.com/ . - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Pagemap null is still locked by blah exception, help!! why does wicket have to lock the pagemap
the pages are locked on the pagemap. so you cannot have two concurrent requests from the same user to the same pagemap. this is so when you are coding your pages you can use the much simpler single-threaded model. every have fields in your servlet implementation? those have to be synchronized or you will run into threading issues. this is the stuff we make sure you dont have to worry about. the trade off is that if you have long running requests you should probably process them in a different thread and let the UI poll for status. -igor On Jan 28, 2008 2:08 PM, cemeterygate [EMAIL PROTECTED] wrote: So I developed my first wicket application and I kept getting exception below as soon as i point my application to production database. Can someone tell me why wicket can't handle concurrent request? to replicate this issue, i have a page with a form component and regular submit button. on the onSubmit method, protected void onSubmit() { try { Thread.sleep(3 * 60 * 1000); } catch (InterruptedException e) { } } i put the thread into sleep for 3 minutes. I hit submit, then stop the request on browser and submit another request. then result to a internal error page. Why can't wicket handle mutiple submit? i dont' get it, shouldn't wicket process the new require like how servlet works? Someone please tell me how to work around this issue. Thanks in advance. 2008-01-25 14:45:05,443 ERROR [org.apache.wicket.RequestCycle] - After 1 minute the Pagemap null is still locked by: Thread[resin-tcp-connection-*:8080-45,5,main], giving up trying to get the page for path: 5 org.apache.wicket.WicketRuntimeException: After 1 minute the Pagemap null is still locked by: Thread[resin-tcp-connection-*:8080-45,5,main], giving up trying to get the page for path: 5 at org.apache.wicket.Session.getPage(Session.java:734) at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage(AbstractRequestCycleProcessor.java:443) at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:139) at org.apache.wicket.RequestCycle.step(RequestCycle.java:1152) at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1245) at org.apache.wicket.RequestCycle.request(RequestCycle.java:489) at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:354) at org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:121) at javax.servlet.http.HttpServlet.service(HttpServlet.java:115) at javax.servlet.http.HttpServlet.service(HttpServlet.java:92) at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:106) -- View this message in context: http://www.nabble.com/Pagemap-null-is-still-locked-by-blah-exception%2C-help%21%21-why-does-wicket-have-to-lock-the-pagemap-tp15146763p15146763.html Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Pagemap null is still locked by blah exception, help!! why does wicket have to lock the pagemap
how do you kill a current request? you can't shoot down the thread, and we dont have any control of what somebody is doing.. Ofcourse when it comes back at an wicket entry point at some time at some place we could check for a specific boolean and just throw an exception... But that is pretty error prone i think. On Jan 28, 2008 11:57 PM, Igor Vaynberg [EMAIL PROTECTED] wrote: maybe instead of waiting on the page to finish we should have an option to kill it, rollback, and start again with the new request? with the diskstore we have the old version serialized... -igor On Jan 28, 2008 2:51 PM, Johan Compagner [EMAIL PROTECTED] wrote: shared resources are not synced thats one way of going round it. the other way is as igor describes. do the search in a seperate thread. If it really takes that long then you do know that browsers also can just time out after they don't get anything for a while? If it really takes that long then you should build a page where people can fire searches to the system and the page is just displayig the searches they did and then if the search is finished that page can bring them to the result johan On Jan 28, 2008 11:46 PM, cemeterygate [EMAIL PROTECTED] wrote: that's nice to have but is there a way to work around this issue? Our application for customer service and they perform a lot search on a huge database, in some cases, customer service would like to start new search. Since wicket is locked by page path, there is no way for CSR to start a new request until previous one is finished. igor.vaynberg wrote: the pages are locked on the pagemap. so you cannot have two concurrent requests from the same user to the same pagemap. this is so when you are coding your pages you can use the much simpler single-threaded model. every have fields in your servlet implementation? those have to be synchronized or you will run into threading issues. this is the stuff we make sure you dont have to worry about. the trade off is that if you have long running requests you should probably process them in a different thread and let the UI poll for status. -igor On Jan 28, 2008 2:08 PM, cemeterygate [EMAIL PROTECTED] wrote: So I developed my first wicket application and I kept getting exception below as soon as i point my application to production database. Can someone tell me why wicket can't handle concurrent request? to replicate this issue, i have a page with a form component and regular submit button. on the onSubmit method, protected void onSubmit() { try { Thread.sleep(3 * 60 * 1000); } catch (InterruptedException e) { } } i put the thread into sleep for 3 minutes. I hit submit, then stop the request on browser and submit another request. then result to a internal error page. Why can't wicket handle mutiple submit? i dont' get it, shouldn't wicket process the new require like how servlet works? Someone please tell me how to work around this issue. Thanks in advance. 2008-01-25 14:45:05,443 ERROR [org.apache.wicket.RequestCycle] - After 1 minute the Pagemap null is still locked by: Thread[resin-tcp-connection-*:8080-45,5,main], giving up trying to get the page for path: 5 org.apache.wicket.WicketRuntimeException: After 1 minute the Pagemap null is still locked by: Thread[resin-tcp-connection-*:8080-45,5,main], giving up trying to get the page for path: 5 at org.apache.wicket.Session.getPage(Session.java:734) at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage (AbstractRequestCycleProcessor.java:443) at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve( WebRequestCycleProcessor.java:139) at org.apache.wicket.RequestCycle.step(RequestCycle.java :1152) at org.apache.wicket.RequestCycle.steps(RequestCycle.java :1245) at org.apache.wicket.RequestCycle.request(RequestCycle.java :489) at org.apache.wicket.protocol.http.WicketFilter.doGet( WicketFilter.java :354) at org.apache.wicket.protocol.http.WicketServlet.doGet( WicketServlet.java :121) at javax.servlet.http.HttpServlet.service(HttpServlet.java :115) at javax.servlet.http.HttpServlet.service(HttpServlet.java :92) at com.caucho.server.dispatch.ServletFilterChain.doFilter( ServletFilterChain.java:106) -- View this message in context: http://www.nabble.com/Pagemap-null-is-still-locked-by-blah-exception%2C-help%21%21-why-does-wicket-have-to-lock-the-pagemap-tp15146763p15146763.html Sent from the Wicket - User mailing list archive at
Re: Pagemap null is still locked by blah exception, help!! why does wicket have to lock the pagemap
interrupt() doesn't do much for a thread that isn't in wait/sleep or uses a special nio interruptiblechannel and most likely people have a try catch(Exception) around those and just go on :) johan On Jan 29, 2008 12:26 AM, Igor Vaynberg [EMAIL PROTECTED] wrote: cant we thread.interrupt() ? or will that actually kill the servlet thread without restarting it? havent throught this through all the way, just brainstorming. -igor On Jan 28, 2008 3:11 PM, Johan Compagner [EMAIL PROTECTED] wrote: how do you kill a current request? you can't shoot down the thread, and we dont have any control of what somebody is doing.. Ofcourse when it comes back at an wicket entry point at some time at some place we could check for a specific boolean and just throw an exception... But that is pretty error prone i think. On Jan 28, 2008 11:57 PM, Igor Vaynberg [EMAIL PROTECTED] wrote: maybe instead of waiting on the page to finish we should have an option to kill it, rollback, and start again with the new request? with the diskstore we have the old version serialized... -igor On Jan 28, 2008 2:51 PM, Johan Compagner [EMAIL PROTECTED] wrote: shared resources are not synced thats one way of going round it. the other way is as igor describes. do the search in a seperate thread. If it really takes that long then you do know that browsers also can just time out after they don't get anything for a while? If it really takes that long then you should build a page where people can fire searches to the system and the page is just displayig the searches they did and then if the search is finished that page can bring them to the result johan On Jan 28, 2008 11:46 PM, cemeterygate [EMAIL PROTECTED] wrote: that's nice to have but is there a way to work around this issue? Our application for customer service and they perform a lot search on a huge database, in some cases, customer service would like to start new search. Since wicket is locked by page path, there is no way for CSR to start a new request until previous one is finished. igor.vaynberg wrote: the pages are locked on the pagemap. so you cannot have two concurrent requests from the same user to the same pagemap. this is so when you are coding your pages you can use the much simpler single-threaded model. every have fields in your servlet implementation? those have to be synchronized or you will run into threading issues. this is the stuff we make sure you dont have to worry about. the trade off is that if you have long running requests you should probably process them in a different thread and let the UI poll for status. -igor On Jan 28, 2008 2:08 PM, cemeterygate [EMAIL PROTECTED] wrote: So I developed my first wicket application and I kept getting exception below as soon as i point my application to production database. Can someone tell me why wicket can't handle concurrent request? to replicate this issue, i have a page with a form component and regular submit button. on the onSubmit method, protected void onSubmit() { try { Thread.sleep(3 * 60 * 1000); } catch (InterruptedException e) { } } i put the thread into sleep for 3 minutes. I hit submit, then stop the request on browser and submit another request. then result to a internal error page. Why can't wicket handle mutiple submit? i dont' get it, shouldn't wicket process the new require like how servlet works? Someone please tell me how to work around this issue. Thanks in advance. 2008-01-25 14:45:05,443 ERROR [org.apache.wicket.RequestCycle] - After 1 minute the Pagemap null is still locked by: Thread[resin-tcp-connection-*:8080-45,5,main], giving up trying to get the page for path: 5 org.apache.wicket.WicketRuntimeException: After 1 minute the Pagemap null is still locked by: Thread[resin-tcp-connection-*:8080-45,5,main], giving up trying to get the page for path: 5 at org.apache.wicket.Session.getPage(Session.java:734) at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage (AbstractRequestCycleProcessor.java:443) at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve( WebRequestCycleProcessor.java:139) at org.apache.wicket.RequestCycle.step( RequestCycle.java :1152) at org.apache.wicket.RequestCycle.steps( RequestCycle.java :1245) at