mirror of
https://github.com/datarhei/core.git
synced 2025-10-05 07:57:13 +08:00
Return proper HTTP status on leave
This commit is contained in:
@@ -186,6 +186,7 @@ type cluster struct {
|
||||
}
|
||||
|
||||
var ErrDegraded = errors.New("cluster is currently degraded")
|
||||
var ErrUnknownNode = errors.New("unknown node id")
|
||||
|
||||
func New(config Config) (Cluster, error) {
|
||||
c := &cluster{
|
||||
@@ -717,6 +718,14 @@ func (c *cluster) Leave(origin, id string) error {
|
||||
id = c.nodeID
|
||||
}
|
||||
|
||||
c.nodesLock.RLock()
|
||||
_, hasNode := c.nodes[id]
|
||||
c.nodesLock.RUnlock()
|
||||
|
||||
if !hasNode {
|
||||
return ErrUnknownNode
|
||||
}
|
||||
|
||||
c.logger.Debug().WithFields(log.Fields{
|
||||
"nodeid": id,
|
||||
}).Log("Received leave request for server")
|
||||
|
Reference in New Issue
Block a user