List caching in the qrunners can cause the processes to grow unduly large.

Bug #862683 reported by Mark Sapiro on 2011-09-29
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
GNU Mailman
Low
Mark Sapiro

Bug Description

The qrunners implement a cache of list objects to save reloading the list from the file system when not necessary. This cache is implemented via a weakref dictionary which is intended to free cached objects when they are no longer referenced. However, there is a self reference in the default MemberAdaptor (OldStyleMemberships) that prevents cached list objects from ever being freed. Thus, the qrunners grow until they have a cached copy of every list. This can be quite large in an installation with many lists and/or multiple large lists.

Mark Sapiro (msapiro) wrote :

This is fixed by eliminating the qrunner list cache. It is not clear that this cache offers much benefit with modern file systems.

Changed in mailman:
status: New → Fix Committed
Mark Sapiro (msapiro) on 2012-06-15
Changed in mailman:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers