浏览代码

Use graphdb.Walk with depth=1 in /containers

I don't think that it was very useful feature in current implementation,
but when you have a lot of links - your daemon became unusable because
on first call of /containers global graphdb lock will be acquired and it
can take a lot of time: 30m for 15 containers linked to each other.

Links names can be seen with `--no-trunc`, but I think it's useless :)

Fixes #9967

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Alexander Morozov 10 年之前
父节点
当前提交
10c3d9f80f
共有 1 个文件被更改,包括 1 次插入2 次删除
  1. 1 2
      daemon/list.go

+ 1 - 2
daemon/list.go

@@ -54,12 +54,11 @@ func (daemon *Daemon) Containers(job *engine.Job) engine.Status {
 			}
 		}
 	}
-
 	names := map[string][]string{}
 	daemon.ContainerGraph().Walk("/", func(p string, e *graphdb.Entity) error {
 		names[e.ID()] = append(names[e.ID()], p)
 		return nil
-	}, -1)
+	}, 1)
 
 	var beforeCont, sinceCont *Container
 	if before != "" {