mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-21 19:01:49 +00:00
Merge pull request #104853 from kitianFresh/feature/avoid-sharedIndexInformer-run-more-than-once
avoid sharedIndexInformer run more than once, avoid more cache and me…
This commit is contained in:
commit
dcfe8f5d5c
@ -368,6 +368,10 @@ func (s *sharedIndexInformer) SetWatchErrorHandler(handler WatchErrorHandler) er
|
|||||||
func (s *sharedIndexInformer) Run(stopCh <-chan struct{}) {
|
func (s *sharedIndexInformer) Run(stopCh <-chan struct{}) {
|
||||||
defer utilruntime.HandleCrash()
|
defer utilruntime.HandleCrash()
|
||||||
|
|
||||||
|
if s.HasStarted() {
|
||||||
|
klog.Warningf("The sharedIndexInformer has started, run more than once is not allowed")
|
||||||
|
return
|
||||||
|
}
|
||||||
fifo := NewDeltaFIFOWithOptions(DeltaFIFOOptions{
|
fifo := NewDeltaFIFOWithOptions(DeltaFIFOOptions{
|
||||||
KnownObjects: s.indexer,
|
KnownObjects: s.indexer,
|
||||||
EmitDeltaTypeReplaced: true,
|
EmitDeltaTypeReplaced: true,
|
||||||
@ -410,6 +414,12 @@ func (s *sharedIndexInformer) Run(stopCh <-chan struct{}) {
|
|||||||
s.controller.Run(stopCh)
|
s.controller.Run(stopCh)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *sharedIndexInformer) HasStarted() bool {
|
||||||
|
s.startedLock.Lock()
|
||||||
|
defer s.startedLock.Unlock()
|
||||||
|
return s.started
|
||||||
|
}
|
||||||
|
|
||||||
func (s *sharedIndexInformer) HasSynced() bool {
|
func (s *sharedIndexInformer) HasSynced() bool {
|
||||||
s.startedLock.Lock()
|
s.startedLock.Lock()
|
||||||
defer s.startedLock.Unlock()
|
defer s.startedLock.Unlock()
|
||||||
|
Loading…
Reference in New Issue
Block a user