Browse Source

discovery: add fast path

Xiang Li 11 years ago
parent
commit
b8eb21c027
1 changed files with 7 additions and 0 deletions
  1. 7 0
      discovery/discovery.go

+ 7 - 0
discovery/discovery.go

@@ -29,6 +29,13 @@ type discovery struct {
 }
 
 func (d *discovery) discover() (*etcdhttp.Peers, error) {
+	// fast path: if the cluster is full, returns the error
+	// do not need to register itself to the cluster in this
+	// case.
+	if _, _, err := d.checkCluster(); err != nil {
+		return nil, err
+	}
+
 	if err := d.createSelf(); err != nil {
 		return nil, err
 	}