Browse code

Fixed an endpoint delete issue with a possible stale sbox

Stale sandbox could be a result of stress tests on ungraceful
restarts such as #17984

Signed-off-by: Madhu Venugopal <madhu@docker.com>

Madhu Venugopal authored on 2015/11/20 05:46:37
Showing 3 changed files
... ...
@@ -22,7 +22,7 @@ clone git github.com/vdemeester/shakers 3c10293ce22b900c27acad7b28656196fcc2f73b
22 22
 clone git golang.org/x/net 47990a1ba55743e6ef1affd3a14e5bac8553615d https://github.com/golang/net.git
23 23
 
24 24
 #get libnetwork packages
25
-clone git github.com/docker/libnetwork e8ebc0bf6510343c88d162db08b3d855cbbe75b9
25
+clone git github.com/docker/libnetwork b4ddf18317b19d6e4bcc821145589749206a7d00
26 26
 clone git github.com/armon/go-metrics eb0af217e5e9747e41dd5303755356b62d28e3ec
27 27
 clone git github.com/hashicorp/go-msgpack 71c2886f5a673a35f909803f38ece5810165097b
28 28
 clone git github.com/hashicorp/memberlist 9a1e242e454d2443df330bdd51a436d5a9058fc4
... ...
@@ -584,7 +584,8 @@ func (ep *endpoint) Delete() error {
584 584
 	ep.Lock()
585 585
 	epid := ep.id
586 586
 	name := ep.name
587
-	if ep.sandboxID != "" {
587
+	sb, _ := n.getController().SandboxByID(ep.sandboxID)
588
+	if sb != nil {
588 589
 		ep.Unlock()
589 590
 		return &ActiveContainerError{name: name, id: epid}
590 591
 	}
... ...
@@ -176,7 +176,6 @@ func (n *network) getEndpointsFromStore() ([]*endpoint, error) {
176 176
 
177 177
 		for _, kvo := range kvol {
178 178
 			ep := kvo.(*endpoint)
179
-			ep.network = n
180 179
 			epl = append(epl, ep)
181 180
 		}
182 181
 	}