mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
add 2 seocnd delay to allow gossip converge
Signed-off-by: Dong Chen <dongluo.chen@docker.com>
This commit is contained in:
parent
c7c7f36da7
commit
4d23394333
1 changed files with 9 additions and 0 deletions
|
@ -25,6 +25,8 @@ import (
|
|||
"golang.org/x/time/rate"
|
||||
)
|
||||
|
||||
const defaultGossipConvergeDelay = 2 * time.Second
|
||||
|
||||
// controller implements agent.Controller against docker's API.
|
||||
//
|
||||
// Most operations against docker's API are done through the container name,
|
||||
|
@ -323,6 +325,13 @@ func (r *controller) Shutdown(ctx context.Context) error {
|
|||
// started.
|
||||
}
|
||||
|
||||
// add a delay for gossip converge
|
||||
// TODO(dongluochen): this delay shoud be configurable to fit different cluster size and network delay.
|
||||
// TODO(dongluochen): if there is no service binding for this container, this delay is not necessary.
|
||||
// if r.adapter.deactivateServiceBinding can return an error to indicate that, it'd reduce service
|
||||
// converge time.
|
||||
time.Sleep(defaultGossipConvergeDelay)
|
||||
|
||||
if err := r.adapter.shutdown(ctx); err != nil {
|
||||
if isUnknownContainer(err) || isStoppedContainer(err) {
|
||||
return nil
|
||||
|
|
Loading…
Reference in a new issue