On 07/17/2016 05:01 AM, Amos Jeffries wrote: > I've just been looking at the Store::Controller::find() implementation > and it struck me that if the transients lookup has an error the object > will fail to HIT on any existing cache entries.
If the transients table tells us that the transient object is in a "bad" state, then trying to load that same object from a store will fail at best or result in a stale/truncated/stuck response at worse. > Alex; am I missing something undocumented here ? You might be missing something documented: The Transients definition or purpose. Transients is not one of the many "if not here than possibly there" cache stores. Transients is dedicated to cache entries in transient state. If a given entry can be correctly loaded from a regular cache store, then, by definition, that entry is not transient [any more] and would not be in Transients. Consequently, if the entry is in Transients, then it is impossible to load it correctly from a regular store. It is possible that a lock contention or a similar SMP race condition inside Transients would result in a cache miss instead of reading from a Transients-controlled entry, but, bugs notwithstanding, that should not happen often. HTH, Alex. _______________________________________________ squid-dev mailing list [email protected] http://lists.squid-cache.org/listinfo/squid-dev
