You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by Mikko Pukki <Mi...@syncrontech.com> on 2012/01/30 15:24:01 UTC

Timer problems with HttpSessionDataStore

Hi,

We are encountering problems on all pages that have timers for updating/polling new data.
It seems that if new page is rendering, timer's request can mess things up. Problem can be
reproduced with Wicket 1.5.3 and 1.5.4

An example situation:

1) Page (id1) has a timer and user presses link (Request1) that forwards to a new Page (future id2).
2) Request is being processed at server and page with id2 is rendered
3) While still in render phase timer makes new request to a server

Timer's request is handled even if there is a new rendered page. Timer's request is now last request
handled and page that contained timer is last page stored at PageTable. This causes weird problems with
our applications.

Session store is created at application's init:

                             setPageManagerProvider(new DefaultPageManagerProvider(this) {

                                                          @Override
                                                          protected IDataStore newDataStore()
                                                          {
                                                                                       return new HttpSessionDataStore(new DefaultPageManagerContext(), new PageNumberEvictionStrategy(12));
                                                          }
                             });

I'm wondering that why any request that is meant for previous versions of pages are processed?

I created a Jira issue and attached quickstart to it:
https://issues.apache.org/jira/browse/WICKET-4371

In quickstart rendering is slowed down with Thread.sleep, but network latencies can and will create similar problems.

Regards,
Mikko