I'm not sure if this is still happening in 1.5, but could it be
possible to nix the pagemap lock (or severely shorten it to 1-2
seconds) and abandon request processing at the first possible moment
when a new request for the pagemap arrives at the server? It's not
like the browser is expecting an answer for the original request
AFAIK.

Expected behavior:
 - request1: starts processing, locks pagemap
 - request2: comes in: tries to acquire lock
 - request2: waits for max N seconds (N being a small number, 1 or 2 seconds)
 - request2: sets kill switch for request1
 - request1: first time in wicket managed code: throws Abort
exception, does not commit page hierarchy to pagemap
 - request2: starts processing its request

Probably this will become quite complex and I have my friday afternoon
goggles on, so just think of this as a thought experiment.

Homework: think out what happens when request3 joins the party.

Martijn

Reply via email to