apl-cornell/fabric

FetchManager Cache should not pin down entries in memory

Closed this issue · 2 comments

Right now, the cache used by the dissemination layer, Cache, does not use soft or weak references. This creates a form of memory leak for workers, particularly when using the DummyFetchManager.

Ideally a solution would ensure that entries that the worker is actually using (ie. objects present in the Worker's ObjectCache) aren't evicted due to memory pressure prematurely.

As of cc9b255 this only affects the Pastry backed dissemination layer.

@liujed points out I was incorrect in my understanding of this part of the code and we're not actually pinning objects in memory. That said, memory pressure is now avoided when it's "dead-ish" weight with cc9b255.