mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-25 20:53:33 +00:00
Merge pull request #21340 from liggitt/delete-collection-not-found
Auto commit by PR queue bot
This commit is contained in:
commit
9b9d63ac5e
@ -464,7 +464,7 @@ func (e *Etcd) DeleteCollection(ctx api.Context, options *api.DeleteOptions, lis
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
if _, err := e.Delete(ctx, accessor.GetName(), options); err != nil {
|
if _, err := e.Delete(ctx, accessor.GetName(), options); err != nil && !kubeerr.IsNotFound(err) {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -23,6 +23,8 @@ import (
|
|||||||
"strconv"
|
"strconv"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"sync"
|
||||||
|
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/api/errors"
|
"k8s.io/kubernetes/pkg/api/errors"
|
||||||
"k8s.io/kubernetes/pkg/api/meta"
|
"k8s.io/kubernetes/pkg/api/meta"
|
||||||
@ -576,6 +578,47 @@ func TestEtcdDeleteCollection(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestEtcdDeleteCollectionNotFound(t *testing.T) {
|
||||||
|
server, registry := NewTestGenericEtcdRegistry(t)
|
||||||
|
defer server.Terminate(t)
|
||||||
|
|
||||||
|
testContext := api.WithNamespace(api.NewContext(), "test")
|
||||||
|
|
||||||
|
podA := &api.Pod{ObjectMeta: api.ObjectMeta{Name: "foo"}}
|
||||||
|
podB := &api.Pod{ObjectMeta: api.ObjectMeta{Name: "bar"}}
|
||||||
|
|
||||||
|
for i := 0; i < 10; i++ {
|
||||||
|
// Setup
|
||||||
|
if _, err := registry.Create(testContext, podA); err != nil {
|
||||||
|
t.Errorf("Unexpected error: %v", err)
|
||||||
|
}
|
||||||
|
if _, err := registry.Create(testContext, podB); err != nil {
|
||||||
|
t.Errorf("Unexpected error: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Kick off multiple delete collection calls to test notfound behavior
|
||||||
|
wg := &sync.WaitGroup{}
|
||||||
|
for j := 0; j < 5; j++ {
|
||||||
|
wg.Add(1)
|
||||||
|
go func() {
|
||||||
|
defer wg.Done()
|
||||||
|
_, err := registry.DeleteCollection(testContext, nil, &api.ListOptions{})
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("Unexpected error: %v", err)
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
}
|
||||||
|
wg.Wait()
|
||||||
|
|
||||||
|
if _, err := registry.Get(testContext, podA.Name); !errors.IsNotFound(err) {
|
||||||
|
t.Errorf("Unexpected error: %v", err)
|
||||||
|
}
|
||||||
|
if _, err := registry.Get(testContext, podB.Name); !errors.IsNotFound(err) {
|
||||||
|
t.Errorf("Unexpected error: %v", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Test whether objects deleted with DeleteCollection are correctly delivered
|
// Test whether objects deleted with DeleteCollection are correctly delivered
|
||||||
// to watchers.
|
// to watchers.
|
||||||
func TestEtcdDeleteCollectionWithWatch(t *testing.T) {
|
func TestEtcdDeleteCollectionWithWatch(t *testing.T) {
|
||||||
|
Loading…
Reference in New Issue
Block a user