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

Thomas Heigl commented on WICKET-6177:
--------------------------------------

It fails with:

{code}
16816 [read] ERR o.a.w.p.memory.HttpSessionDataStore      - Cannot store the 
data for page with id '2' in session with id '528610207C4F0751CA70F4B34DB75DBE'
{code}

The code in {{HttpSessionDataStore}}:

{code}
        @Override
        public void storeData(String sessionId, int pageId, byte[] pageAsBytes)
        {
                PageTable pageTable = getPageTable(true, true);
                if (pageTable != null)
                {
                        pageTable.storePage(pageId, pageAsBytes);
                        if (LOG.isDebugEnabled())
                        {
                                LOG.debug("Stored '{}' bytes for page '{}' in 
session '{}'",
                                                pageAsBytes.length, pageId, 
sessionId);
                        }
                        evictionStrategy.evict(pageTable);
                }
                else
                {
                        LOG.error("Cannot store the data for page with id '{}' 
in session with id '{}'",
                                pageId, sessionId);
                }
        }
{code}

It tries to get the page table from a session attribute and the session is not 
available after asynchronous serialization.

> Blocking page serialization
> ---------------------------
>
>                 Key: WICKET-6177
>                 URL: https://issues.apache.org/jira/browse/WICKET-6177
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 7.4.0
>         Environment: any
>            Reporter: Martin Makundi
>              Labels: serialization
>         Attachments: 6177.tgz, Wicket_Quickstart_7.zip
>
>   Original Estimate: 168h
>  Remaining Estimate: 168h
>
> We have a performance issue with our Wicket app, page serialization causes 
> inconvenience to user because PageStoreManager.storeTouchedPages() blocks the 
> request until pageSerializer.serialize(page) has been handled.
> Could this be solved by serializing the page in a separate thread and let the 
> request complete?
> The problem we have is that user is making quick small ajax modifications to 
> the page but serialization + network latency makes the delay very 
> inconvenient. If serialization could be done in separate thread, user would 
> feel only the network delay which is bearable.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to