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

Bug #862683 reported by Mark Sapiro
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
GNU Mailman
Fix Released
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.

Revision history for this message
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)
Changed in mailman:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.