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

Martin Grigorov commented on WICKET-5473:
-----------------------------------------

Without a quickstart and steps to reproduce it will be hard to improve it.
Please take some time to prove that it is broken.

> Wicket does not handle non in-memory Httpsessions correctly
> -----------------------------------------------------------
>
>                 Key: WICKET-5473
>                 URL: https://issues.apache.org/jira/browse/WICKET-5473
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 6.12.0
>            Reporter: Christoph Läubrich
>            Priority: Blocker
>
> There are two issues (related to WICKET-5390):
> 1) The "Wicket-Session" (as well as WebSession) has internal state that is 
> not reflected inside equals comparison (e.g. page id counter) since it does 
> not override equals. This can leads in de/serialization szenarios to render 
> two (Web)Sessions as unequal even if they are in fact the same.
> 2) The "Wicket-Session" object is stored inside the HttpSession object only 
> once via setAttribute. This might be persisted. In successive calls the 
> internal state is changed (especially the page id counter) but the object is 
> not "updated" via setAttribute. This leads to the problem, that the 
> HttpSession implementation never knows something has changed and might miss 
> to persist the change!
> This leads to duplicate and wrong assigned page ids and confussing errors.
> So the Wicket-(Web)Session should be changed in a way, that:
> a) every internal (non transient) state is used in equals comparisons
> b) each change to any (non transient) internal state causes a setAttribute to 
> the underlying storage so it is notified about the change.
> We are hitting this problem with very obscure error messages, so I mark this 
> as a blocker since it produces hard to track problems and currently holds us 
> down to use Wicket with a persitent (clustered) session model.
> In "standard" configuration you very likely never hit this problem since the 
> default PageStore implementation modifies the session so implicitly it gets 
> its changes persited. But with alternative PageStore or stateless pages you 
> still can hit the problem (and get really confused).



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to