Merge pull request #2116 from yichengq/307

store: optimize ttlKeyHeap GC
This commit is contained in:
Yicheng Qin 2015-01-20 12:09:30 -08:00
commit 88704c70e7

View File

@ -59,6 +59,10 @@ func (h *ttlKeyHeap) Pop() interface{} {
old := h.array
n := len(old)
x := old[n-1]
// Set slice element to nil, so GC can recycle the node.
// This is due to golang GC doesn't support partial recycling:
// https://github.com/golang/go/issues/9618
old[n-1] = nil
h.array = old[0 : n-1]
delete(h.keyMap, x)
return x