On 22/05/13 17:47, Kai Krueger wrote:
So, unless you are using the memcached backend, this commit in theory
should be fine and I have done a bunch of load testing with ab to
confirm this. (Although limited ab testing can't properly simulate real
world load). I'll have another look through the file system backend, if
I can see anything that might be thread unsafe.
I can...
The call to get_storage_backend comes from the translate_name hook which
I believe is called for each request. If the stores array does not exist
yet then it will try to create it by allocating from a memory pool that
is shared by all threads in that process.
So if a new child is started, and multiple requests arrive more or less
simultaneously to different threads in that process, then they will both
try and allocate the stores array which means they will both be trying
to manipulate the memory pool at the same time.
Tom
--
Tom Hughes ([email protected])
http://compton.nu/
_______________________________________________
dev mailing list
[email protected]
http://lists.openstreetmap.org/listinfo/dev