WebSockets: page deserialisation on close (performance issue?)

2019-08-01 Thread Daniel Stoch
Hi,

We are using web sockets (with wicket-native-core) on many pages in
our application. After upgrade a Jetty from 9.4.12.v20180830 to a
newer version 9.4.18.v20190429, I have found a different behaviour in
application:

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:

  broadcastMessage(new ClosedMessage(getApplication(), getSessionId(), key));

and leads to page deserialisation (from PageStore).
I think something was changed in a new version of Jetty, because in
the previous used version this was not called. Maybe because of this:
https://github.com/eclipse/jetty.project/issues/3835
https://github.com/eclipse/jetty.project/commit/2383bf4974ba7d82109cedfc4a8e7693d106abf0

I believe that now it works correctly (as was designed) and onClose
should be called. But 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 web socket 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?

--
Best regards,
Daniel Stoch

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: WebSockets: page deserialisation on close (performance issue?)

2019-08-01 Thread Daniel Stoch
Correction to my previous message (I have debugged this more precisely):

AbstractWebSocketProcessor.onClose method is called in both Jetty
versions (not only in a newer one).
The difference is in connection:
- in Jetty 9.4.12.v20180830 connection is closed
- in Jetty 9.4.18.v20190429 connection is still open

So message is broadcasted only in a newer version.

--
Daniel

On Thu, Aug 1, 2019 at 10:25 AM Daniel Stoch  wrote:
>
> Hi,
>
> We are using web sockets (with wicket-native-core) on many pages in
> our application. After upgrade a Jetty from 9.4.12.v20180830 to a
> newer version 9.4.18.v20190429, I have found a different behaviour in
> application:
>
> 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:
>
>   broadcastMessage(new ClosedMessage(getApplication(), getSessionId(), key));
>
> and leads to page deserialisation (from PageStore).
> I think something was changed in a new version of Jetty, because in
> the previous used version this was not called. Maybe because of this:
> https://github.com/eclipse/jetty.project/issues/3835
> https://github.com/eclipse/jetty.project/commit/2383bf4974ba7d82109cedfc4a8e7693d106abf0
>
> I believe that now it works correctly (as was designed) and onClose
> should be called. But 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 web socket 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?
>
> --
> Best regards,
> Daniel Stoch

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: WebSockets: page deserialisation on close (performance issue?)

2019-08-03 Thread Sven Meier

Hi Daniel,

can you create a quickstart and attach it to a Jura issue please?

Thanks
Sven

On 01.08.19 10:57, Daniel Stoch wrote:

Correction to my previous message (I have debugged this more precisely):

AbstractWebSocketProcessor.onClose method is called in both Jetty
versions (not only in a newer one).
The difference is in connection:
- in Jetty 9.4.12.v20180830 connection is closed
- in Jetty 9.4.18.v20190429 connection is still open

So message is broadcasted only in a newer version.

--
Daniel

On Thu, Aug 1, 2019 at 10:25 AM Daniel Stoch  wrote:

Hi,

We are using web sockets (with wicket-native-core) on many pages in
our application. After upgrade a Jetty from 9.4.12.v20180830 to a
newer version 9.4.18.v20190429, I have found a different behaviour in
application:

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:

   broadcastMessage(new ClosedMessage(getApplication(), getSessionId(), key));

and leads to page deserialisation (from PageStore).
I think something was changed in a new version of Jetty, because in
the previous used version this was not called. Maybe because of this:
https://github.com/eclipse/jetty.project/issues/3835
https://github.com/eclipse/jetty.project/commit/2383bf4974ba7d82109cedfc4a8e7693d106abf0

I believe that now it works correctly (as was designed) and onClose
should be called. But 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 web socket 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?

--
Best regards,
Daniel Stoch

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: WebSockets: page deserialisation on close (performance issue?)

2019-08-05 Thread Daniel Stoch
Hi,

Thanks for your answer.
I have created a JIRA issue with Quickstart:
https://issues.apache.org/jira/browse/WICKET-6692

--
Daniel


On Sat, Aug 3, 2019 at 10:05 PM Sven Meier  wrote:
>
> Hi Daniel,
>
> can you create a quickstart and attach it to a Jura issue please?
>
> Thanks
> Sven
>
> On 01.08.19 10:57, Daniel Stoch wrote:
> > Correction to my previous message (I have debugged this more precisely):
> >
> > AbstractWebSocketProcessor.onClose method is called in both Jetty
> > versions (not only in a newer one).
> > The difference is in connection:
> > - in Jetty 9.4.12.v20180830 connection is closed
> > - in Jetty 9.4.18.v20190429 connection is still open
> >
> > So message is broadcasted only in a newer version.
> >
> > --
> > Daniel
> >
> > On Thu, Aug 1, 2019 at 10:25 AM Daniel Stoch  wrote:
> >> Hi,
> >>
> >> We are using web sockets (with wicket-native-core) on many pages in
> >> our application. After upgrade a Jetty from 9.4.12.v20180830 to a
> >> newer version 9.4.18.v20190429, I have found a different behaviour in
> >> application:
> >>
> >> 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:
> >>
> >>broadcastMessage(new ClosedMessage(getApplication(), getSessionId(), 
> >> key));
> >>
> >> and leads to page deserialisation (from PageStore).
> >> I think something was changed in a new version of Jetty, because in
> >> the previous used version this was not called. Maybe because of this:
> >> https://github.com/eclipse/jetty.project/issues/3835
> >> https://github.com/eclipse/jetty.project/commit/2383bf4974ba7d82109cedfc4a8e7693d106abf0
> >>
> >> I believe that now it works correctly (as was designed) and onClose
> >> should be called. But 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 web socket 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?
> >>
> >> --
> >> Best regards,
> >> Daniel Stoch
> > -
> > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> > For additional commands, e-mail: users-h...@wicket.apache.org
> >
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org