diff --git a/etcdserver/sender.go b/etcdserver/sender.go index fb5744a44..0720840b2 100644 --- a/etcdserver/sender.go +++ b/etcdserver/sender.go @@ -125,9 +125,11 @@ func newSender(u string, cid types.ID, c *http.Client, fs *stats.FollowerStats) } func (s *sender) send(data []byte) { - // TODO: we cannot afford the miss of MsgProp, so we wait for some handler - // to take the data - s.q <- data + select { + case s.q <- data: + default: + log.Printf("sender: reach the maximal serving to %s", s.u) + } } func (s *sender) stop() { diff --git a/integration/cluster_test.go b/integration/cluster_test.go index 50130e108..9f4e0cb33 100644 --- a/integration/cluster_test.go +++ b/integration/cluster_test.go @@ -36,7 +36,7 @@ import ( ) const ( - tickDuration = 5 * time.Millisecond + tickDuration = 10 * time.Millisecond clusterName = "etcd" ) @@ -181,7 +181,7 @@ func (m *member) Launch(t *testing.T) { t.Fatalf("failed to initialize the etcd server: %v", err) } m.s.Ticker = time.Tick(tickDuration) - m.s.SyncTicker = time.Tick(tickDuration) + m.s.SyncTicker = time.Tick(10 * tickDuration) m.s.Start() for _, ln := range m.PeerListeners {