golang/groupcache

Question about removing a broken node from group

lorneli opened this issue · 3 comments

A group's peers remain unchanged after initialization.(So consistenthash package doesn't provide Remove method) But node may become unavailable because of network, its hardware or something else.

Why groupcache doesn't support removing a broken node?

I guess the reason is that another node could reuse broken one's network address(ip:port), and replace it. But I figured I would ask just in case I'm wrong.

Thanks in advance.

d4l3k commented

I'm pretty sure it does. If you're using the HTTPPool you can call Set(peers...) to update the peer list.

https://godoc.org/github.com/golang/groupcache#HTTPPool.Set

@d4l3k HTTPPool.Set creates a new hash ring. It's the reason why consistenthash package doesn't provide Remove methond. Thanks a lot.

d4l3k commented

Ah, interesting, I didn't realize that. I'm not affiliated with the groupcache package at all just saw the issue.