You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Johan Compagner (JIRA)" <ji...@apache.org> on 2007/10/30 22:23:50 UTC

[jira] Closed: (WICKET-683) Fast multiple clicks cause page expiration

     [ https://issues.apache.org/jira/browse/WICKET-683?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Johan Compagner closed WICKET-683.
----------------------------------

    Resolution: Won't Fix

for 1.2.x we really can't fix this. 
Matej is telling that we should drop the AccessStack part of the PageMap. But that is not that simple
Because for example we now don't have constantly new pages. But only 1 pages with X versions
Now a request comes in for version X-2 the page rollbacks itself through the undo version manager
But now we never can go back to the X version of the page.

So the undo manager of the page (of the accessstack pagemap/session store) is also a stack. Not just the pagemap.

I tried to make a LastUsedPageMap with a integer how many it can hold. 
but this is for 1.3 then because it is easier in 1.3 to have different kinds of pagemaps this is very hard to fix in 1.2.x
or we have to completely rewrite pretty much everything that is the PageMap/Undoversion manager..

But as i said i tried to do it for 1.3. But i stopped. Because such a pagemap that holds just the last few pages in memory
have to serialize the pages and keep those bytes in memory And i need another page version manger because the 
undoversionmanager can't be used anymore i need to implement another for that also..
And more i think about it what i then do remake is the SecondLevelCacheSessionStore but then with a FileStore
that holds X number of serialized pages just in memory!!!

So if we want to fix this for 1.2.x we have to backport almost every piece of code of the SLCS and then 
have a IPageStore that is just a map in memory instead of a file...

Do we want such a IPageStore in wicket? That isn't to difficult to make. That is then for a large part a replacement of the AccessStackPageMap
But not completely because i am for example working on a project where the page is not serializeable (that is pretty hard to do currently)
so for that we have to use the in mem pages with the undopageversion manager.


> Fast multiple clicks cause page expiration
> ------------------------------------------
>
>                 Key: WICKET-683
>                 URL: https://issues.apache.org/jira/browse/WICKET-683
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 1.2.6, 1.3.0-beta1
>         Environment: linux 2.6.20, firefox 2.0.4, dual core, sun jdk6
>            Reporter: Ingram Chen
>            Assignee: Johan Compagner
>             Fix For: 1.3.0-beta5
>
>         Attachments: quickstart-2clickback.tar.gz, quickstart-click3times.tar.gz
>
>
> It has been found multiple clicks may cause page expiration. there are known two ways to reproduce such problem:
> First:
> (1) make a link that require 5 seconds to process.
> (2) quick click that link >3 times, after 5 seconds, go to page B
> (3) do any thing on page B cause expire.
> Mulitple clicks is quite normal under slow network. The user may click link several times because web site is not responsive.
> attachement quickstart-click3times.tar.gz is quickstart to reproduce this problem.
> (note LeastRecentlyAccessedEvictionStrategy(100) up to 100 access to eliminate eviction issues)
> 2nd:
> step 1: link to homepage    
>            url is http://localhost:8081/quickstart/app
> step 2: "double click" link on homepage, go to 2nd instance of page B
>            url becomes http://localhost:8081/quickstart/app/?wicket:interface=:2::
>            (double click create two instances of page B)
> step 3: use browser back button go back to first instance of page B
>            url becomes http://localhost:8081/quickstart/app/?wicket:interface=:1 ::
> step 4: do anything on first instance of page B will cause expiration.
>           
> Ideally 1st instance of page B should in pageMap but it seems got lost. 
> see attachement quickstart-2clickback.tar.gz

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.