[squid-dev] [PATCH] Uninitialised errors during Squid startup

Eduard Bagdasaryan eduard.bagdasaryan at measurement-factory.com
Thu Jun 9 13:32:05 UTC 2016


Hello Amos,

 > How does this interact with objects that begin their life as private
 > then get converted to public keys?
I think that it is a typical situation: a request that is a miss
firstly gets a private key(so that other requests to the same URL still 
got misses).
It is converted to a public key when Squid gets headers of a [cachable] 
response. As I wrote
the private key is required to be unique, but I see no correlation 
between the private and
the public keys in such scenario.

 > the comment about kidID and PID in the new private key blob as being
 > just an optimization I dont think is correct. Without them I think we
 > could have ID collisions in collapsed_forwarding, shared cacheh_mem, or
 > rock across workers. That would make them required for proper operations
 > in SMP.
AFAIK, private store entries are not cachable: see KEY_PRIVATE check in
StoreEntry::checkCachable(); this check is performed before entry is written
to shared memory or disk cache. So private entries are not shared among 
workers and
a unique per-process counter should be sufficient.

 > How much testing has this had?
I tested with Valgrind and ran test-builds.sh.

Eduard.


More information about the squid-dev mailing list