mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
Do not wait on ack in bulksync response
The wait in bulkSyncNode was meant for bulkSync initiator. Not for responder. Fix the incorrect code which was also waiting unnecessarily on response which it will never get and will eventually time out. Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
This commit is contained in:
parent
91c837fd77
commit
fd72f6e318
1 changed files with 12 additions and 9 deletions
|
@ -434,16 +434,19 @@ func (nDB *NetworkDB) bulkSyncNode(networks []string, node string, unsolicited b
|
|||
return fmt.Errorf("failed to send a TCP message during bulk sync: %v", err)
|
||||
}
|
||||
|
||||
startTime := time.Now()
|
||||
select {
|
||||
case <-time.After(30 * time.Second):
|
||||
logrus.Errorf("Bulk sync to node %s timed out", node)
|
||||
case <-ch:
|
||||
nDB.Lock()
|
||||
delete(nDB.bulkSyncAckTbl, node)
|
||||
nDB.Unlock()
|
||||
// Wait on a response only if it is unsolicited.
|
||||
if unsolicited {
|
||||
startTime := time.Now()
|
||||
select {
|
||||
case <-time.After(30 * time.Second):
|
||||
logrus.Errorf("Bulk sync to node %s timed out", node)
|
||||
case <-ch:
|
||||
nDB.Lock()
|
||||
delete(nDB.bulkSyncAckTbl, node)
|
||||
nDB.Unlock()
|
||||
|
||||
logrus.Debugf("%s: Bulk sync to node %s took %s", nDB.config.NodeName, node, time.Now().Sub(startTime))
|
||||
logrus.Debugf("%s: Bulk sync to node %s took %s", nDB.config.NodeName, node, time.Now().Sub(startTime))
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
|
|
Loading…
Add table
Reference in a new issue