Add minimum active size and promote delay.

This commit is contained in:
Ben Johnson
2014-03-10 14:44:04 -06:00
parent c91688315a
commit c0a59b3a27
4 changed files with 19 additions and 13 deletions

View File

@ -158,17 +158,16 @@ func (s *PeerServer) ClusterConfig() *ClusterConfig {
// SetClusterConfig updates the current cluster configuration.
// Adjusting the active size will cause the PeerServer to demote peers or
// promote proxies to match the new size.
func (s *PeerServer) SetClusterConfig(c *ClusterConfig) error {
// Validate configuration.
if c.ActiveSize < 1 {
return etcdErr.NewError(etcdErr.EcodeInvalidActiveSize, "Post", 0)
} else if c.PromoteDelay < 0 {
return etcdErr.NewError(etcdErr.EcodeInvalidPromoteDelay, "Post", 0)
func (s *PeerServer) SetClusterConfig(c *ClusterConfig) {
// Set minimums.
if c.ActiveSize < MinActiveSize {
c.ActiveSize = MinActiveSize
}
if c.PromoteDelay < MinPromoteDelay {
c.PromoteDelay = MinPromoteDelay
}
s.clusterConfig = c
return nil
}
// Helper function to do discovery and return results in expected format