From cdc2eaab1491d4e111a9d1cca82977495f0db9b6 Mon Sep 17 00:00:00 2001 From: csviri Date: Fri, 3 Feb 2023 14:46:49 +0100 Subject: [PATCH 1/9] improve: remove parallel streams --- .../operator/ControllerManager.java | 20 +++++++++++++------ .../api/config/ExecutorServiceManager.java | 4 +++- .../processing/event/EventSourceManager.java | 14 +++++++++---- 3 files changed, 27 insertions(+), 11 deletions(-) diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/ControllerManager.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/ControllerManager.java index 44aa430ec2..d92c58b366 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/ControllerManager.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/ControllerManager.java @@ -8,6 +8,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import io.javaoperatorsdk.operator.api.config.ExecutorServiceManager; import io.javaoperatorsdk.operator.processing.Controller; /** @@ -32,20 +33,27 @@ public synchronized void shouldStart() { } public synchronized void start(boolean startEventProcessor) { - controllers().parallelStream().forEach(c -> c.start(startEventProcessor)); + ExecutorServiceManager.executeAndWaitForAllToComplete(controllers().stream(), c -> { + c.start(startEventProcessor); + return null; + }, c -> "Controller Starter for: " + c.getConfiguration().getName()); started = true; } public synchronized void stop() { - controllers().parallelStream().forEach(closeable -> { - log.debug("closing {}", closeable); - closeable.stop(); - }); + ExecutorServiceManager.executeAndWaitForAllToComplete(controllers().stream(), c -> { + log.debug("closing {}", c); + c.stop(); + return null; + }, c -> "Controller Stopper for: " + c.getConfiguration().getName()); started = false; } public synchronized void startEventProcessing() { - controllers().parallelStream().forEach(Controller::startEventProcessing); + ExecutorServiceManager.executeAndWaitForAllToComplete(controllers().stream(), c -> { + c.startEventProcessing(); + return null; + }, c -> "Event processor starter for: " + c.getConfiguration().getName()); } @SuppressWarnings({"unchecked", "rawtypes"}) diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/ExecutorServiceManager.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/ExecutorServiceManager.java index 5dcba5975d..06eda871f2 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/ExecutorServiceManager.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/ExecutorServiceManager.java @@ -72,7 +72,7 @@ public static void executeAndWaitForAllToComplete(Stream stream, Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors())); try { - instrumented.invokeAll(stream.parallel().map(item -> (Callable) () -> { + instrumented.invokeAll(stream.map(item -> (Callable) () -> { // change thread name for easier debugging final var thread = Thread.currentThread(); final var name = thread.getName(); @@ -91,11 +91,13 @@ public static void executeAndWaitForAllToComplete(Stream stream, } catch (ExecutionException e) { throw new OperatorException(e.getCause()); } catch (InterruptedException e) { + log.warn("Interrupted.", e); Thread.currentThread().interrupt(); } }); shutdown(instrumented); } catch (InterruptedException e) { + log.warn("Interrupted.", e); Thread.currentThread().interrupt(); } } diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/EventSourceManager.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/EventSourceManager.java index 6d161aca9e..d8b2312ebb 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/EventSourceManager.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/EventSourceManager.java @@ -86,6 +86,10 @@ private static Function getThreadNamer(String stage) { }; } + private static Function getEventSourceThreadNamer(String stage) { + return es -> stage + " -> " + es; + } + @Override public synchronized void stop() { stopEventSource(eventSources.namedControllerResourceEventSource()); @@ -179,13 +183,15 @@ public void broadcastOnResourceEvent(ResourceAction action, P resource, P oldRes public void changeNamespaces(Set namespaces) { eventSources.controllerResourceEventSource() .changeNamespaces(namespaces); - eventSources + ExecutorServiceManager.executeAndWaitForAllToComplete(eventSources .additionalEventSources() .filter(NamespaceChangeable.class::isInstance) .map(NamespaceChangeable.class::cast) - .filter(NamespaceChangeable::allowsNamespaceChanges) - .parallel() - .forEach(ies -> ies.changeNamespaces(namespaces)); + .filter(NamespaceChangeable::allowsNamespaceChanges), e -> { + e.changeNamespaces(namespaces); + return null; + }, + getEventSourceThreadNamer("changeNamespace")); } public Set getRegisteredEventSources() { From 915fef4cadf8dd92780b8fa664f9a7f3dd928699 Mon Sep 17 00:00:00 2001 From: csviri Date: Fri, 3 Feb 2023 15:04:31 +0100 Subject: [PATCH 2/9] increase IT wait limit --- .../java/io/javaoperatorsdk/operator/MultiVersionCRDIT.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/operator-framework/src/test/java/io/javaoperatorsdk/operator/MultiVersionCRDIT.java b/operator-framework/src/test/java/io/javaoperatorsdk/operator/MultiVersionCRDIT.java index 2126f129c7..d00fc48489 100644 --- a/operator-framework/src/test/java/io/javaoperatorsdk/operator/MultiVersionCRDIT.java +++ b/operator-framework/src/test/java/io/javaoperatorsdk/operator/MultiVersionCRDIT.java @@ -132,7 +132,7 @@ void invalidEventsShouldStopInformerAndCallInformerStoppedHandler() { operator.create(v1res); await() - .atMost(Duration.ofSeconds(1)) + .atMost(Duration.ofSeconds(2)) .pollInterval(Duration.ofMillis(50)) .untilAsserted(() -> { // v1 is the stored version so trying to create a v2 version should fail because we cannot From cdcbd146f865de9bc770c698a7894a9665ed22c5 Mon Sep 17 00:00:00 2001 From: csviri Date: Fri, 3 Feb 2023 15:50:59 +0100 Subject: [PATCH 3/9] feat: caching executor for startup tasks --- .../operator/ControllerManager.java | 6 ++-- .../io/javaoperatorsdk/operator/Operator.java | 2 +- .../api/config/ExecutorServiceManager.java | 29 +++++++++++++++---- .../processing/event/EventSourceManager.java | 8 ++--- .../source/informer/InformerManager.java | 2 +- .../operator/MultiVersionCRDIT.java | 2 +- 6 files changed, 34 insertions(+), 15 deletions(-) diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/ControllerManager.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/ControllerManager.java index d92c58b366..c9732892b9 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/ControllerManager.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/ControllerManager.java @@ -33,7 +33,7 @@ public synchronized void shouldStart() { } public synchronized void start(boolean startEventProcessor) { - ExecutorServiceManager.executeAndWaitForAllToComplete(controllers().stream(), c -> { + ExecutorServiceManager.boundedExecuteAndWaitForAllToComplete(controllers().stream(), c -> { c.start(startEventProcessor); return null; }, c -> "Controller Starter for: " + c.getConfiguration().getName()); @@ -41,7 +41,7 @@ public synchronized void start(boolean startEventProcessor) { } public synchronized void stop() { - ExecutorServiceManager.executeAndWaitForAllToComplete(controllers().stream(), c -> { + ExecutorServiceManager.boundedExecuteAndWaitForAllToComplete(controllers().stream(), c -> { log.debug("closing {}", c); c.stop(); return null; @@ -50,7 +50,7 @@ public synchronized void stop() { } public synchronized void startEventProcessing() { - ExecutorServiceManager.executeAndWaitForAllToComplete(controllers().stream(), c -> { + ExecutorServiceManager.boundedExecuteAndWaitForAllToComplete(controllers().stream(), c -> { c.startEventProcessing(); return null; }, c -> "Event processor starter for: " + c.getConfiguration().getName()); diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/Operator.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/Operator.java index b7c2f5e108..613ea622b5 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/Operator.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/Operator.java @@ -104,6 +104,7 @@ public synchronized void start() { if (started) { return; } + ExecutorServiceManager.init(); controllerManager.shouldStart(); final var version = ConfigurationServiceProvider.instance().getVersion(); log.info( @@ -114,7 +115,6 @@ public synchronized void start() { final var clientVersion = Version.clientVersion(); log.info("Client version: {}", clientVersion); - ExecutorServiceManager.init(); // first start the controller manager before leader election, // the leader election would start subsequently the processor if on controllerManager.start(!leaderElectionManager.isLeaderElectionEnabled()); diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/ExecutorServiceManager.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/ExecutorServiceManager.java index 06eda871f2..3261651f3d 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/ExecutorServiceManager.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/ExecutorServiceManager.java @@ -23,10 +23,12 @@ public class ExecutorServiceManager { private static ExecutorServiceManager instance; private final ExecutorService executor; private final ExecutorService workflowExecutor; + private final ExecutorService cachingExecutorService; private final int terminationTimeoutSeconds; private ExecutorServiceManager(ExecutorService executor, ExecutorService workflowExecutor, int terminationTimeoutSeconds) { + this.cachingExecutorService = Executors.newCachedThreadPool(); this.executor = new InstrumentedExecutorService(executor); this.workflowExecutor = new InstrumentedExecutorService(workflowExecutor); this.terminationTimeoutSeconds = terminationTimeoutSeconds; @@ -49,7 +51,7 @@ public static void init() { } } - public synchronized static void stop() { + public static synchronized void stop() { if (instance != null) { instance.doStop(); } @@ -66,11 +68,24 @@ public synchronized static ExecutorServiceManager instance() { return instance; } - public static void executeAndWaitForAllToComplete(Stream stream, + /** + * Uses cachingExecutorService from this manager. Use this only for tasks, that don't have dynamic + * nature, in sense that won't grow with the number of inputs (thus kubernetes resources) + * + * @param stream of elements + * @param task to call on stream elements + * @param threadNamer for naming thread + * @param type + */ + public static void boundedExecuteAndWaitForAllToComplete(Stream stream, Function task, Function threadNamer) { - final var instrumented = new InstrumentedExecutorService( - Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors())); + executeAndWaitForAllToComplete(stream, task, threadNamer, instance().cachingExecutorService()); + } + public static void executeAndWaitForAllToComplete(Stream stream, + Function task, Function threadNamer, + ExecutorService executorService) { + final var instrumented = new InstrumentedExecutorService(executorService); try { instrumented.invokeAll(stream.map(item -> (Callable) () -> { // change thread name for easier debugging @@ -95,7 +110,6 @@ public static void executeAndWaitForAllToComplete(Stream stream, Thread.currentThread().interrupt(); } }); - shutdown(instrumented); } catch (InterruptedException e) { log.warn("Interrupted.", e); Thread.currentThread().interrupt(); @@ -110,11 +124,16 @@ public ExecutorService workflowExecutorService() { return workflowExecutor; } + public ExecutorService cachingExecutorService() { + return cachingExecutorService; + } + private void doStop() { try { log.debug("Closing executor"); shutdown(executor); shutdown(workflowExecutor); + shutdown(cachingExecutorService); } catch (InterruptedException e) { log.debug("Exception closing executor: {}", e.getLocalizedMessage()); Thread.currentThread().interrupt(); diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/EventSourceManager.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/EventSourceManager.java index d8b2312ebb..91bbd99b66 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/EventSourceManager.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/EventSourceManager.java @@ -65,13 +65,13 @@ public void postProcessDefaultEventSourcesAfterProcessorInitializer() { public synchronized void start() { startEventSource(eventSources.namedControllerResourceEventSource()); - ExecutorServiceManager.executeAndWaitForAllToComplete( + ExecutorServiceManager.boundedExecuteAndWaitForAllToComplete( eventSources.additionalNamedEventSources() .filter(es -> es.priority().equals(EventSourceStartPriority.RESOURCE_STATE_LOADER)), this::startEventSource, getThreadNamer("start")); - ExecutorServiceManager.executeAndWaitForAllToComplete( + ExecutorServiceManager.boundedExecuteAndWaitForAllToComplete( eventSources.additionalNamedEventSources() .filter(es -> es.priority().equals(EventSourceStartPriority.DEFAULT)), this::startEventSource, @@ -93,7 +93,7 @@ private static Function getEventSourceThreadNamer(S @Override public synchronized void stop() { stopEventSource(eventSources.namedControllerResourceEventSource()); - ExecutorServiceManager.executeAndWaitForAllToComplete( + ExecutorServiceManager.boundedExecuteAndWaitForAllToComplete( eventSources.additionalNamedEventSources(), this::stopEventSource, getThreadNamer("stop")); @@ -183,7 +183,7 @@ public void broadcastOnResourceEvent(ResourceAction action, P resource, P oldRes public void changeNamespaces(Set namespaces) { eventSources.controllerResourceEventSource() .changeNamespaces(namespaces); - ExecutorServiceManager.executeAndWaitForAllToComplete(eventSources + ExecutorServiceManager.boundedExecuteAndWaitForAllToComplete(eventSources .additionalEventSources() .filter(NamespaceChangeable.class::isInstance) .map(NamespaceChangeable.class::cast) diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/informer/InformerManager.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/informer/InformerManager.java index 9d048e61cf..0a6b8327c5 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/informer/InformerManager.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/informer/InformerManager.java @@ -59,7 +59,7 @@ public InformerManager(MixedOperation, Resource> public void start() throws OperatorException { initSources(); // make sure informers are all started before proceeding further - ExecutorServiceManager.executeAndWaitForAllToComplete(sources.values().stream(), + ExecutorServiceManager.boundedExecuteAndWaitForAllToComplete(sources.values().stream(), iw -> { iw.start(); return null; diff --git a/operator-framework/src/test/java/io/javaoperatorsdk/operator/MultiVersionCRDIT.java b/operator-framework/src/test/java/io/javaoperatorsdk/operator/MultiVersionCRDIT.java index d00fc48489..2126f129c7 100644 --- a/operator-framework/src/test/java/io/javaoperatorsdk/operator/MultiVersionCRDIT.java +++ b/operator-framework/src/test/java/io/javaoperatorsdk/operator/MultiVersionCRDIT.java @@ -132,7 +132,7 @@ void invalidEventsShouldStopInformerAndCallInformerStoppedHandler() { operator.create(v1res); await() - .atMost(Duration.ofSeconds(2)) + .atMost(Duration.ofSeconds(1)) .pollInterval(Duration.ofMillis(50)) .untilAsserted(() -> { // v1 is the stored version so trying to create a v2 version should fail because we cannot From b950b9b2055b1b5e8ee8371d371f5d96171124df Mon Sep 17 00:00:00 2001 From: csviri Date: Fri, 3 Feb 2023 16:09:28 +0100 Subject: [PATCH 4/9] experimental test increase --- .../java/io/javaoperatorsdk/operator/MultiVersionCRDIT.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/operator-framework/src/test/java/io/javaoperatorsdk/operator/MultiVersionCRDIT.java b/operator-framework/src/test/java/io/javaoperatorsdk/operator/MultiVersionCRDIT.java index 2126f129c7..e2cc238b91 100644 --- a/operator-framework/src/test/java/io/javaoperatorsdk/operator/MultiVersionCRDIT.java +++ b/operator-framework/src/test/java/io/javaoperatorsdk/operator/MultiVersionCRDIT.java @@ -132,7 +132,7 @@ void invalidEventsShouldStopInformerAndCallInformerStoppedHandler() { operator.create(v1res); await() - .atMost(Duration.ofSeconds(1)) + .atMost(Duration.ofSeconds(10)) .pollInterval(Duration.ofMillis(50)) .untilAsserted(() -> { // v1 is the stored version so trying to create a v2 version should fail because we cannot From 990319c04633347ff68158d9bcb1c4946e2ddde2 Mon Sep 17 00:00:00 2001 From: csviri Date: Fri, 3 Feb 2023 16:29:10 +0100 Subject: [PATCH 5/9] expiration time decrease --- .../java/io/javaoperatorsdk/operator/MultiVersionCRDIT.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/operator-framework/src/test/java/io/javaoperatorsdk/operator/MultiVersionCRDIT.java b/operator-framework/src/test/java/io/javaoperatorsdk/operator/MultiVersionCRDIT.java index e2cc238b91..82320283d6 100644 --- a/operator-framework/src/test/java/io/javaoperatorsdk/operator/MultiVersionCRDIT.java +++ b/operator-framework/src/test/java/io/javaoperatorsdk/operator/MultiVersionCRDIT.java @@ -132,7 +132,7 @@ void invalidEventsShouldStopInformerAndCallInformerStoppedHandler() { operator.create(v1res); await() - .atMost(Duration.ofSeconds(10)) + .atMost(Duration.ofSeconds(5)) .pollInterval(Duration.ofMillis(50)) .untilAsserted(() -> { // v1 is the stored version so trying to create a v2 version should fail because we cannot From 31077596fb8235354efa44f42f7bbf74522a36e9 Mon Sep 17 00:00:00 2001 From: csviri Date: Fri, 3 Feb 2023 16:56:45 +0100 Subject: [PATCH 6/9] increase test timout --- .../java/io/javaoperatorsdk/operator/MultiVersionCRDIT.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/operator-framework/src/test/java/io/javaoperatorsdk/operator/MultiVersionCRDIT.java b/operator-framework/src/test/java/io/javaoperatorsdk/operator/MultiVersionCRDIT.java index 82320283d6..e2cc238b91 100644 --- a/operator-framework/src/test/java/io/javaoperatorsdk/operator/MultiVersionCRDIT.java +++ b/operator-framework/src/test/java/io/javaoperatorsdk/operator/MultiVersionCRDIT.java @@ -132,7 +132,7 @@ void invalidEventsShouldStopInformerAndCallInformerStoppedHandler() { operator.create(v1res); await() - .atMost(Duration.ofSeconds(5)) + .atMost(Duration.ofSeconds(10)) .pollInterval(Duration.ofMillis(50)) .untilAsserted(() -> { // v1 is the stored version so trying to create a v2 version should fail because we cannot From 5575fdc7de89ab37765311696143e9a26f3e94e6 Mon Sep 17 00:00:00 2001 From: csviri Date: Mon, 6 Feb 2023 14:30:57 +0100 Subject: [PATCH 7/9] more log messages --- .../javaoperatorsdk/operator/MultiVersionCRDIT.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/operator-framework/src/test/java/io/javaoperatorsdk/operator/MultiVersionCRDIT.java b/operator-framework/src/test/java/io/javaoperatorsdk/operator/MultiVersionCRDIT.java index e2cc238b91..ad57517cb8 100644 --- a/operator-framework/src/test/java/io/javaoperatorsdk/operator/MultiVersionCRDIT.java +++ b/operator-framework/src/test/java/io/javaoperatorsdk/operator/MultiVersionCRDIT.java @@ -5,6 +5,8 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.RegisterExtension; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import io.fabric8.kubernetes.api.model.HasMetadata; import io.fabric8.kubernetes.api.model.ObjectMeta; @@ -27,6 +29,8 @@ class MultiVersionCRDIT { + private static final Logger log = LoggerFactory.getLogger(MultiVersionCRDIT.class); + public static final String CR_V1_NAME = "crv1"; public static final String CR_V2_NAME = "crv2"; @@ -72,9 +76,15 @@ public void onStop(SharedIndexInformer informer, Throwable ex) { acceptOnlyIfUnsetOrEqualToAlreadySet(errorMessage, watcherEx.getCause().getMessage()); } final var apiTypeClass = informer.getApiTypeClass(); + + System.out.println("!!!Current resourceClassName: " + resourceClassName); + resourceClassName = acceptOnlyIfUnsetOrEqualToAlreadySet(resourceClassName, apiTypeClass.getName()); - System.out.println("Informer for " + HasMetadata.getFullResourceName(apiTypeClass) + + System.out.println("!!!API Type Class: " + apiTypeClass.getName() + + " - resource class name: " + resourceClassName); + log.info("Informer for " + HasMetadata.getFullResourceName(apiTypeClass) + " stopped due to: " + ex.getMessage()); } From bedad7c4b36501ee6b54ad19bfbf4c7e5c972eee Mon Sep 17 00:00:00 2001 From: csviri Date: Mon, 6 Feb 2023 14:59:05 +0100 Subject: [PATCH 8/9] logs --- .../io/javaoperatorsdk/operator/MultiVersionCRDIT.java | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/operator-framework/src/test/java/io/javaoperatorsdk/operator/MultiVersionCRDIT.java b/operator-framework/src/test/java/io/javaoperatorsdk/operator/MultiVersionCRDIT.java index ad57517cb8..ac4bd68605 100644 --- a/operator-framework/src/test/java/io/javaoperatorsdk/operator/MultiVersionCRDIT.java +++ b/operator-framework/src/test/java/io/javaoperatorsdk/operator/MultiVersionCRDIT.java @@ -5,8 +5,6 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.RegisterExtension; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import io.fabric8.kubernetes.api.model.HasMetadata; import io.fabric8.kubernetes.api.model.ObjectMeta; @@ -25,12 +23,11 @@ import com.fasterxml.jackson.core.JsonProcessingException; import static com.google.common.truth.Truth.assertThat; +import static io.javaoperatorsdk.operator.api.config.ConfigurationService.log; import static org.awaitility.Awaitility.await; class MultiVersionCRDIT { - private static final Logger log = LoggerFactory.getLogger(MultiVersionCRDIT.class); - public static final String CR_V1_NAME = "crv1"; public static final String CR_V2_NAME = "crv2"; @@ -77,12 +74,12 @@ public void onStop(SharedIndexInformer informer, Throwable ex) { } final var apiTypeClass = informer.getApiTypeClass(); - System.out.println("!!!Current resourceClassName: " + resourceClassName); + log.info("Current resourceClassName: " + resourceClassName); resourceClassName = acceptOnlyIfUnsetOrEqualToAlreadySet(resourceClassName, apiTypeClass.getName()); - System.out.println("!!!API Type Class: " + apiTypeClass.getName() + log.info("API Type Class: " + apiTypeClass.getName() + " - resource class name: " + resourceClassName); log.info("Informer for " + HasMetadata.getFullResourceName(apiTypeClass) + " stopped due to: " + ex.getMessage()); From 0ec5c433927bf67f611026517b94d7a65c186b0d Mon Sep 17 00:00:00 2001 From: csviri Date: Mon, 6 Feb 2023 15:04:17 +0100 Subject: [PATCH 9/9] log messages --- .../java/io/javaoperatorsdk/operator/MultiVersionCRDIT.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/operator-framework/src/test/java/io/javaoperatorsdk/operator/MultiVersionCRDIT.java b/operator-framework/src/test/java/io/javaoperatorsdk/operator/MultiVersionCRDIT.java index ac4bd68605..12230a7e2a 100644 --- a/operator-framework/src/test/java/io/javaoperatorsdk/operator/MultiVersionCRDIT.java +++ b/operator-framework/src/test/java/io/javaoperatorsdk/operator/MultiVersionCRDIT.java @@ -74,12 +74,12 @@ public void onStop(SharedIndexInformer informer, Throwable ex) { } final var apiTypeClass = informer.getApiTypeClass(); - log.info("Current resourceClassName: " + resourceClassName); + log.debug("Current resourceClassName: " + resourceClassName); resourceClassName = acceptOnlyIfUnsetOrEqualToAlreadySet(resourceClassName, apiTypeClass.getName()); - log.info("API Type Class: " + apiTypeClass.getName() + log.debug("API Type Class: " + apiTypeClass.getName() + " - resource class name: " + resourceClassName); log.info("Informer for " + HasMetadata.getFullResourceName(apiTypeClass) + " stopped due to: " + ex.getMessage());