diff --git a/store/heap_test.go b/store/heap_test.go index f55413ee114..e9cda376ed1 100644 --- a/store/heap_test.go +++ b/store/heap_test.go @@ -16,14 +16,13 @@ func TestHeapPushPop(t *testing.T) { path := fmt.Sprintf("%v", 10-i) m := time.Duration(10 - i) n := newKV(nil, path, path, 0, 0, nil, "", time.Now().Add(time.Second*m)) - heap.Push(h, n) + h.push(n) } min := time.Now() for i := 0; i < 10; i++ { - iNode := heap.Pop(h) - node, _ := iNode.(*Node) + node := h.pop() if node.ExpireTime.Before(min) { t.Fatal("heap sort wrong!") } @@ -45,7 +44,7 @@ func TestHeapUpdate(t *testing.T) { m := time.Duration(10 - i) n = newKV(nil, path, path, 0, 0, nil, "", time.Now().Add(time.Second*m)) kvs[i] = n - heap.Push(h, n) + h.push(n) } // Path 7 @@ -60,8 +59,7 @@ func TestHeapUpdate(t *testing.T) { min := time.Now() for i := 0; i < 10; i++ { - iNode := heap.Pop(h) - node, _ := iNode.(*Node) + node := h.pop() if node.ExpireTime.Before(min) { t.Fatal("heap sort wrong!") } diff --git a/store/ttl_key_heap.go b/store/ttl_key_heap.go index 9694a6abe99..34fa4ba63d2 100644 --- a/store/ttl_key_heap.go +++ b/store/ttl_key_heap.go @@ -48,6 +48,16 @@ func (h *TTLKeyHeap) Pop() interface{} { return x } +func (h *TTLKeyHeap) pop() *Node { + x := heap.Pop(h) + n, _ := x.(*Node) + return n +} + +func (h *TTLKeyHeap) push(x interface{}) { + heap.Push(h, x) +} + func (h *TTLKeyHeap) update(n *Node) { index := h.Map[n] heap.Remove(h, index)