Skip to content

Commit f14bca4

Browse files
authored
dynamicsource: fix race condition with wait and valid scheme (#1323)
Signed-off-by: Joe Lanford <[email protected]>
1 parent 9125118 commit f14bca4

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

internal/contentmanager/source/dynamicsource.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ func (dis *dynamicInformerSource) Start(ctx context.Context, q workqueue.TypedRa
139139
close(dis.syncedChan)
140140
})
141141

142-
_ = wait.PollUntilContextCancel(dis.informerCtx, time.Second, true, func(_ context.Context) (bool, error) {
142+
_ = wait.PollUntilContextCancel(dis.informerCtx, time.Millisecond*100, true, func(_ context.Context) (bool, error) {
143143
if sharedIndexInf.HasSynced() {
144144
syncOnce()
145145
return true, nil

internal/contentmanager/source/dynamicsource_test.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ import (
77
"time"
88

99
"github.com/stretchr/testify/require"
10-
"k8s.io/apimachinery/pkg/runtime"
1110
"k8s.io/apimachinery/pkg/runtime/schema"
1211
"k8s.io/client-go/dynamic/dynamicinformer"
1312
dynamicfake "k8s.io/client-go/dynamic/fake"
13+
"k8s.io/client-go/kubernetes/scheme"
1414
"sigs.k8s.io/controller-runtime/pkg/handler"
1515
"sigs.k8s.io/controller-runtime/pkg/predicate"
1616

@@ -92,7 +92,7 @@ func TestDynamicInformerSourceStartAlreadyStarted(t *testing.T) {
9292
}
9393

9494
func TestDynamicInformerSourceStart(t *testing.T) {
95-
fakeDynamicClient := dynamicfake.NewSimpleDynamicClient(runtime.NewScheme())
95+
fakeDynamicClient := dynamicfake.NewSimpleDynamicClient(scheme.Scheme)
9696
infFact := dynamicinformer.NewDynamicSharedInformerFactory(fakeDynamicClient, time.Minute)
9797
dis := NewDynamicSource(DynamicSourceConfig{
9898
DynamicInformerFactory: infFact,
@@ -108,5 +108,9 @@ func TestDynamicInformerSourceStart(t *testing.T) {
108108
})
109109

110110
require.NoError(t, dis.Start(context.Background(), nil))
111+
112+
waitCtx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
113+
defer cancel()
114+
require.NoError(t, dis.WaitForSync(waitCtx))
111115
require.NoError(t, dis.Close())
112116
}

0 commit comments

Comments
 (0)