id summary reporter owner description type status priority milestone component version resolution keywords cc launchpad_bug 3269 Track active_writers without depending on GC/refcounting meejah "In `storage.server` (here https://github.com/tahoe-lafs/tahoe-lafs/blob/master/src/allmydata/storage/server.py#L70) the use of `WeakKeyDictionary` to track active writers effectively makes the API depend on CPython's ref-counting. It's also kind of a terrible API (""when the last writer is not referenced, and is reclaimed, then we're not writing to it any more""). Also, it won't work under PyPy which uses actual garbage-collection. There should instead be an explicit API to indicate a writer is done (and if any remaining `gc.collect()` exist in the unit-tests these should be removed)." defect new normal soon code-storage n/a