@@ -123,6 +123,11 @@ func (d *domain) tryRefresh(cloudData cloudmodel.Resource) error {
123123 d .updateStateInfo (cloudData )
124124
125125 if err := d .shouldRefresh (cloudData ); err != nil {
126+ if err == DataNotVerifiedError &&
127+ len (cloudData .Processes ) > 0 &&
128+ d .metadata .GetDomainInfo ().Type == common .KUBERNETES {
129+ return d .tryRefreshProcessOnly (cloudData )
130+ }
126131 return err
127132 }
128133
@@ -141,6 +146,41 @@ func (d *domain) tryRefresh(cloudData cloudmodel.Resource) error {
141146 }
142147}
143148
149+ func (d * domain ) tryRefreshProcessOnly (cloudData cloudmodel.Resource ) error {
150+ select {
151+ case <- d .cache .RefreshSignal :
152+ d .cache .IncrementSequence ()
153+ d .cache .SetLogLevel (logging .INFO , cache .RefreshSignalCallerDomain )
154+
155+ d .refreshProcessOnly (cloudData )
156+
157+ d .cache .ResetRefreshSignal (cache .RefreshSignalCallerDomain )
158+ return nil
159+ default :
160+ log .Info ("domain refresh is running, does nothing" , d .metadata .LogPrefixes )
161+ return RefreshConflictError
162+ }
163+ }
164+
165+ func (d * domain ) refreshProcessOnly (cloudData cloudmodel.Resource ) {
166+ log .Info ("domain process-only refresh started" , d .metadata .LogPrefixes )
167+
168+ // for process
169+ d .cache .RefreshVTaps ()
170+
171+ processUpdater := updater .NewProcess (d .cache , cloudData .Processes ).RegisterListener (
172+ listener .NewProcess (d .cache ),
173+ )
174+ updaters := []updater.ResourceUpdater {processUpdater }
175+ d .executeUpdaters (updaters )
176+ d .notifyOnResourceChanged (updaters )
177+ d .pubsub .PublishChange (d .msgMetadata )
178+
179+ d .updateSyncedAt (cloudData .SyncAt )
180+
181+ log .Info ("domain process-only refresh completed" , d .metadata .LogPrefixes )
182+ }
183+
144184func (d * domain ) shouldRefresh (cloudData cloudmodel.Resource ) error {
145185 if cloudData .Verified {
146186 if (! slices .Contains (rcommon .UNCHECK_NETWORK_DOMAINS , d .metadata .GetDomainInfo ().Type ) && len (cloudData .Networks ) == 0 ) || len (cloudData .VInterfaces ) == 0 {
0 commit comments