I pushed a new version of my website, but now the CSS and static images are not deploying properly.
Here is the messed up page: http://www.gaiagps.com
Appengine shows the latest version as being correct though: http://1.latest.gaiagps.appspot.com/
Any help?
I've seen this before on App Engine, even when using cache-busting query parameters like /stylesheets/default.css?{{ App.Version }}
.
Here's my (unconfirmed) theory:
default
.default.css{{ App.Version }}
is sent to Google's CDN, which doesn't yet have it.When this (if this is what happens) happens, I can confirm that no amount of cache-busting browser work will help. The Google CDN servers are holding the wrong version.
To fix: The only way I've found to fix this is to deploy another version. You don't run the risk of this happening again (if you haven't made any CSS changes since the race condition), because even if the race condition occurs, presumably your first update is done by the time you deploy your second one, so all instances will be serving the correct version no matter what.
I'll buy this... though I'm not sure it's right. It eventually just cleared itself up hours later.
I'm facing the same issue. In my case even after I left it overnight the new css was not being served. I'm going to try the cache bursting technique
I am encountering it now. I've deployed many, many times but it keeps serving the outdated static files. However if I reference the version of the app - eg, alpha5.latest.xxx.appspot.com - then the correct file is served.
@mainsocial Are you appending a cache-busting query string like "foo.css?{{ App.version }}" to the end of your URL?
I've encountered this problem a few times. For whatever reason, this is the fixed. I think it's something to do with upstream caching from the google instance web host. If you see the problem and request the css file directly in a browser with the querystring, then the issue goes away. It looks like the caching is invalidated the first time a request is made with a unique url to a static file.