From 6ee16fc869c546d8ab9f07780f2d835eee4a9b15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Attila=20M=C3=A9sz=C3=A1ros?= Date: Fri, 13 Mar 2026 12:46:48 +0100 Subject: [PATCH] improve: onList removal of ghost resources MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Attila Mészáros --- .../source/informer/ManagedInformerEventSource.java | 8 +------- .../source/informer/TemporaryResourceCache.java | 11 +---------- pom.xml | 13 ++++++++++++- 3 files changed, 14 insertions(+), 18 deletions(-) diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/informer/ManagedInformerEventSource.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/informer/ManagedInformerEventSource.java index 978deda333..70ca19d170 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/informer/ManagedInformerEventSource.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/informer/ManagedInformerEventSource.java @@ -155,13 +155,7 @@ public synchronized void start() { } temporaryResourceCache = new TemporaryResourceCache<>( - comparableResourceVersions, - configuration.getInformerConfig().getGhostResourceCacheCheckInterval().toMillis(), - controllerConfiguration - .getConfigurationService() - .getExecutorServiceManager() - .scheduledExecutorService(), - this); + comparableResourceVersions,this); this.cache = new InformerManager<>(client, configuration, this); cache.setControllerConfiguration(controllerConfiguration); cache.addIndexers(indexers); diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/informer/TemporaryResourceCache.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/informer/TemporaryResourceCache.java index 5a4486f756..177d2e556a 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/informer/TemporaryResourceCache.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/informer/TemporaryResourceCache.java @@ -71,18 +71,9 @@ public enum EventHandling { public TemporaryResourceCache( boolean comparableResourceVersions, - long ghostResourceCheckInterval, - ScheduledExecutorService ghostCheckExecutor, ManagedInformerEventSource managedInformerEventSource) { this.comparableResourceVersions = comparableResourceVersions; this.managedInformerEventSource = managedInformerEventSource; - if (comparableResourceVersions) { - ghostCheckExecutor.scheduleWithFixedDelay( - this::checkGhostResources, - ghostResourceCheckInterval, - ghostResourceCheckInterval, - TimeUnit.MILLISECONDS); - } } public synchronized void startEventFilteringModify(ResourceID resourceID) { @@ -240,7 +231,7 @@ private String getLastSyncResourceVersion(String namespace) { * In this case neither the ADD nor DELETE event will be propagated to the informer, but we * explicitly add resources to this cache. Those are cleaned up by this check. */ - private void checkGhostResources() { + public void checkGhostResources() { log.debug("Checking for ghost resources."); var iterator = cache.entrySet().iterator(); while (iterator.hasNext()) { diff --git a/pom.xml b/pom.xml index 2c420d93ef..2197f3a9b3 100644 --- a/pom.xml +++ b/pom.xml @@ -70,7 +70,7 @@ https://sonarcloud.io jdk 6.0.3 - 7.6.1 + 7.7-SNAPSHOT 2.0.17 2.25.3 5.23.0 @@ -621,4 +621,15 @@ + + + + sonatype-snapshots + https://oss.sonatype.org/content/repositories/snapshots + + true + + + +