You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Daniel Stoch (JIRA)" <ji...@apache.org> on 2019/08/05 10:48:00 UTC

[jira] [Updated] (WICKET-6692) Page deserialization on websocket close - possible performance issue

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

Daniel Stoch updated WICKET-6692:
---------------------------------
    Attachment: websocket-deser-onclose.zip

> Page deserialization on websocket close - possible performance issue
> --------------------------------------------------------------------
>
>                 Key: WICKET-6692
>                 URL: https://issues.apache.org/jira/browse/WICKET-6692
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket-native-websocket
>    Affects Versions: 6.30.0, 8.5.0
>            Reporter: Daniel Stoch
>            Assignee: Martin Grigorov
>            Priority: Major
>         Attachments: websocket-deser-onclose.zip
>
>
> We have a page with websocket connection (using WebSocketBehavior). When user navigates to another page, a websocket connection is closed and AbstractWebSocketProcessor.onClose method is called. This causes broadcasting a message to connected page:
> {code}
>  broadcastMessage(new ClosedMessage(getApplication(), getSessionId(), key));
> {code}
> and leads to page deserialisation (from PageStore).
> I wonder how it can affect performance: almost every page navigation causes page deserialization (when it should occur only for back button or when some websocket message comes and application need to process it).
>  
> Maybe this message should be send only when needed or maybe I should not care and current behaviour does not affect performance?
>  
> I have attached a simple quick start:
> - click links to navigate between pages: “Nav 1” and “Home”,
> - after each click you can see “>> Closed message: …” on System.out (so closed message was sent),
> - AbstractWebSocketProcessor broadcast a ClosedMessage to a page, which causes its deserialization (you can debug IPageStore.getPage call).



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)