Friday, December 30, 2011

Re: GWT application freezes when new version is deployed while using it

Hi Thomas! Thanks for the reply.

"Freeze" means the whole app becomes unresponsive (buttons are not
clickable, etc)
You can also observe in the developers tool that no further requests
are made to the server from
that point.

"Full refresh" means F5 as you guessed.

I am thinking the problem is #3 . We are using code splitting and this
freeze occurs only
when the code changes (meaning a new cache.js file is created meaning
old once are not effective any more)

On Dec 30, 6:14 am, Thomas Broyer <> wrote:
> What do you mean by a "freeze"? and a "full refresh"?
>    1. users won't have the new version unless they refresh (F5) the page.
>    For this though, you have to ensure the *.nocache.js is effectively not
>    cached by browsers or proxies (or at a minimum cached with a
>    "must-revalidate" condition)
>    2. any change to a GWT-RPC class (particularly objects that are
>    transfered through RPC) will break older versions that are still in use,
>    with an IncompatibleRemoteServiceException, because client and server must
>    use the same serialization policies; you can track this to tell users to
>    refresh the page (I guess this is what the GWT-based Google Groups UI does)
>    3. if you use code splitting (runAsync) and you remove the old *.cache.*
>    files, users won't be able to download the fragments while they're using
>    the old version of the app. You can, again, catch this in the onFailure of
>    the RunAsyncCallback to tell users to refresh the page.
>    4. Every compilation should produce differently named *.cache.* files,
>    so you can safely set long cache times for these files:

You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group.
To post to this group, send email to
To unsubscribe from this group, send email to
For more options, visit this group at

No comments:

Post a Comment