Page MenuHomePhabricator

Make WANCache worthRefreshExpiring() account for values with FLD_TTL less than $lowTTL
Closed, ResolvedPublic

Description

This avoids having the preemptive refresh probability start off too high. For example, LoadMonitor and LoadBalancer::isMasterRunningReadOnly() are effected by this.

Event Timeline

Change 634116 had a related patch set uploaded (by Aaron Schulz; owner: Aaron Schulz):
[mediawiki/core@master] objectcache: fix WANCache getWithSetCallback() when TTL < "lowTTL"

https://gerrit.wikimedia.org/r/634116

This avoids having the preemptive refresh probability start off too high. For example, LoadMonitor and LoadBalancer::isMasterRunningReadOnly() are effected by this.

I assume this is related to T252564#6212081, right? If so, could you describe in a bit more detail how this might lead to unexpected read-only mode? The busyValue is set to something that afaik assumes neutral loads in read-write (with hypothetical fallback to late-discovery of a hardware read-only mode). So where is the read-only confusion coming from?

Krinkle triaged this task as Medium priority.Oct 26 2020, 6:37 PM

It could be related if the problem has to do with regenerations (since it was intermitted). In any case, excessive regeneration is a problem in itself.

Change 634116 merged by jenkins-bot:
[mediawiki/core@master] objectcache: fix WANCache getWithSetCallback() when TTL < "lowTTL"

https://gerrit.wikimedia.org/r/634116