diff --git a/infrastructures/kubernetes/src/main/java/org/eclipse/che/workspace/infrastructure/kubernetes/KubernetesClientFactory.java b/infrastructures/kubernetes/src/main/java/org/eclipse/che/workspace/infrastructure/kubernetes/KubernetesClientFactory.java index 6311a5a4b7..13b93fd2c1 100644 --- a/infrastructures/kubernetes/src/main/java/org/eclipse/che/workspace/infrastructure/kubernetes/KubernetesClientFactory.java +++ b/infrastructures/kubernetes/src/main/java/org/eclipse/che/workspace/infrastructure/kubernetes/KubernetesClientFactory.java @@ -20,7 +20,6 @@ import io.fabric8.kubernetes.client.DefaultKubernetesClient; import io.fabric8.kubernetes.client.KubernetesClient; import io.fabric8.kubernetes.client.utils.HttpClientUtils; import io.fabric8.kubernetes.client.utils.ImpersonatorInterceptor; -import io.fabric8.kubernetes.client.utils.Utils; import java.util.concurrent.ExecutorService; import java.util.concurrent.TimeUnit; import javax.inject.Inject; @@ -126,7 +125,23 @@ public class KubernetesClientFactory { connectionPool.evictAll(); } - Utils.shutdownExecutorService(executorService); + if (executorService != null && !executorService.isShutdown()) { + executorService.shutdown(); + try { + Logger logger = LoggerFactory.getLogger(getClass()); + logger.debug("Shutdown kubernetes client threads pool, wait 30s to stop normally"); + if (!executorService.awaitTermination(30, TimeUnit.SECONDS)) { + executorService.shutdownNow(); + logger.debug("Interrupt kubernetes client threads pool, wait 60s to stop"); + if (!executorService.awaitTermination(60, TimeUnit.SECONDS)) { + logger.error("Couldn't shutdown kubernetes client threads pool"); + } + } + } catch (InterruptedException x) { + executorService.shutdownNow(); + Thread.currentThread().interrupt(); + } + } } /** Retrieves the {@link OkHttpClient} instance shared by all Kubernetes clients. */ diff --git a/infrastructures/kubernetes/src/main/java/org/eclipse/che/workspace/infrastructure/kubernetes/provision/secret/FileSecretApplier.java b/infrastructures/kubernetes/src/main/java/org/eclipse/che/workspace/infrastructure/kubernetes/provision/secret/FileSecretApplier.java index b910cc3a6c..1ad3e2cea4 100644 --- a/infrastructures/kubernetes/src/main/java/org/eclipse/che/workspace/infrastructure/kubernetes/provision/secret/FileSecretApplier.java +++ b/infrastructures/kubernetes/src/main/java/org/eclipse/che/workspace/infrastructure/kubernetes/provision/secret/FileSecretApplier.java @@ -86,7 +86,7 @@ public class FileSecretApplier extends KubernetesSecretApplier2.6 quay.io/eclipse/che--centos--mysql-57-centos7:latest-e08ee4d43b7356607685b69bde6335e27cf20c020f345b6c6c59400183882764 quay.io/eclipse/che--centos--postgresql-96-centos7:9.6-b681d78125361519180a6ac05242c296f8906c11eab7e207b5ca9a89b6344392 - 5.4.1 + 5.6.0 0.1.3 1.0.0 1.0.0