RE: Pagemap null is still locked by blah exception, help!! why does wicket have to lock the pagemap

2008-01-31 Thread Weaver, Scott
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

2008-01-31 Thread Erik van Oosten
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

2008-01-30 Thread Johan Compagner
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

2008-01-30 Thread cemeterygate

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

2008-01-30 Thread Igor Vaynberg
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

2008-01-30 Thread Eelco Hillenius
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

2008-01-30 Thread cemeterygate

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

2008-01-30 Thread cemeterygate

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

2008-01-29 Thread cemeterygate

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

2008-01-28 Thread Igor Vaynberg
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

2008-01-28 Thread Johan Compagner
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

2008-01-28 Thread Johan Compagner
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

2008-01-28 Thread cemeterygate

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

2008-01-28 Thread cemeterygate

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

2008-01-28 Thread cemeterygate

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

2008-01-28 Thread cemeterygate

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

2008-01-28 Thread cemeterygate

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

2008-01-28 Thread Igor Vaynberg
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

2008-01-28 Thread Igor Vaynberg
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

2008-01-28 Thread Johan Compagner
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

2008-01-28 Thread Igor Vaynberg
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

2008-01-28 Thread Johan Compagner
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

2008-01-28 Thread Johan Compagner
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