Hi all,
I'm seeing strange behavior with Special:RecentChanges (RC) when no
cookies are set. I have five wikis. On three of them, *only when no
cookies are set*, RC returns the header
Cache-Control: s-maxage=10, must-revalidate, max-age=0
and intermittently returns stale results when refreshing, even
forced refreshing, the page. On the other two wikis, I never see this
problem on the other two wikis, which return
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
and always return the current, correct RC results.
Additionally, I'm watching varnishlog while refreshing RC on the 3
wikis that exhibit this issue and not seeing Varnish logging the
requests, meaning the browser isn't even requesting the URL. There is no
Expires header set for the 3 wikis, while Expire is set to "Thu, 01 Jan
1970 00:00:00 GMT" on the 2 wikis that work correctly.
This problem seems to stem from the sendCacheControl() function
in includes/OutputPage.php when $this->mEnableClientCache is true (false
means it sends the no-cache, no-store header leading to correct browser
results), but I don't know why the different wikis would have different
behaviors. I've looked closely at the LocalSettings.php for all 5 wikis,
comparing them carefully, and don't see any settings that might lead to
inconsistent behavior.
For what it's worth, all wikis are running MW 1.26.2.