Erik Bray wrote:
> But I run Trac with mod_python and Apache with the worker MPM, with
> multiple child processes. 

Same here.

> As I understand it, each child has its own
> sub-interpreter with its own global data, and thus its own copy of the
> field cache. 

Correct.

> So when reset_ticket_fields() is called it will only
> invalidate the cache for the process it was called in.

Almost correct. reset_ticket_fields() will invalidate the cache for the
process *and* touch trac.ini. This in turn will trigger an environment
reload, which will invalidate all caches in all processes.

However, if your trac.ini is not writable by apache, then the
environment reload will not be triggered. I bet this is what happened to
you. I have been bitten by this again yesterday, when I added a new
component, and had to restart apache for it to be displayed on the
newticket form. But I didn't remember why this had happened, so thanks
for the reminder!

-- Remy

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to