This is an automated email from the ASF dual-hosted git repository.
kezhenxu94 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/skywalking.git
The following commit(s) were added to refs/heads/master by this push:
new 1d5be387e0 Fix the Kubernetes resource cache not refreshed (#11242)
1d5be387e0 is described below
commit 1d5be387e079c07a9a2d29e9fe476d314a3cffb2
Author: kezhenxu94 <[email protected]>
AuthorDate: Mon Aug 21 12:19:39 2023 +0800
Fix the Kubernetes resource cache not refreshed (#11242)
---
docs/en/changes/changes.md | 1 +
.../org/apache/skywalking/library/kubernetes/IstioServiceEntries.java | 2 +-
.../org/apache/skywalking/library/kubernetes/KubernetesEndpoints.java | 4 ++--
.../java/org/apache/skywalking/library/kubernetes/KubernetesPods.java | 4 ++--
.../org/apache/skywalking/library/kubernetes/KubernetesServices.java | 4 ++--
.../skywalking/oap/server/storage/plugin/jdbc/common/TableHelper.java | 2 +-
6 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/docs/en/changes/changes.md b/docs/en/changes/changes.md
index f94de1b29c..df77a664aa 100644
--- a/docs/en/changes/changes.md
+++ b/docs/en/changes/changes.md
@@ -71,6 +71,7 @@
* Fix MQE Binary Operation between labeled metrics and other type of value
result.
* Add component ID for Nacos (ID=150).
* Support `Compare Operation` in MQE.
+* Fix the Kubernetes resource cache not refreshed.
#### UI
diff --git
a/oap-server/server-library/library-kubernetes-support/src/main/java/org/apache/skywalking/library/kubernetes/IstioServiceEntries.java
b/oap-server/server-library/library-kubernetes-support/src/main/java/org/apache/skywalking/library/kubernetes/IstioServiceEntries.java
index c2daa259fb..6a829e29a2 100644
---
a/oap-server/server-library/library-kubernetes-support/src/main/java/org/apache/skywalking/library/kubernetes/IstioServiceEntries.java
+++
b/oap-server/server-library/library-kubernetes-support/src/main/java/org/apache/skywalking/library/kubernetes/IstioServiceEntries.java
@@ -40,7 +40,7 @@ public enum IstioServiceEntries {
IstioServiceEntries() {
final CacheBuilder<Object, Object> cacheBuilder =
CacheBuilder.newBuilder()
- .expireAfterAccess(Duration.ofMinutes(3));
+ .expireAfterWrite(Duration.ofMinutes(3));
serviceEntries = cacheBuilder.build(CacheLoader.from(() -> {
try (final var istioClient = new DefaultIstioClient()) {
diff --git
a/oap-server/server-library/library-kubernetes-support/src/main/java/org/apache/skywalking/library/kubernetes/KubernetesEndpoints.java
b/oap-server/server-library/library-kubernetes-support/src/main/java/org/apache/skywalking/library/kubernetes/KubernetesEndpoints.java
index 9ba71df2cf..3a00a64e75 100644
---
a/oap-server/server-library/library-kubernetes-support/src/main/java/org/apache/skywalking/library/kubernetes/KubernetesEndpoints.java
+++
b/oap-server/server-library/library-kubernetes-support/src/main/java/org/apache/skywalking/library/kubernetes/KubernetesEndpoints.java
@@ -39,8 +39,8 @@ public enum KubernetesEndpoints {
@SneakyThrows
KubernetesEndpoints() {
final CacheBuilder<Object, Object> cacheBuilder =
- CacheBuilder.newBuilder()
- .expireAfterAccess(Duration.ofMinutes(3));
+ CacheBuilder.newBuilder()
+ .expireAfterWrite(Duration.ofMinutes(3));
endpoints = cacheBuilder.build(CacheLoader.from(() -> {
try (final var kubernetesClient = new
KubernetesClientBuilder().build()) {
diff --git
a/oap-server/server-library/library-kubernetes-support/src/main/java/org/apache/skywalking/library/kubernetes/KubernetesPods.java
b/oap-server/server-library/library-kubernetes-support/src/main/java/org/apache/skywalking/library/kubernetes/KubernetesPods.java
index ea82445de6..5cf1bcaada 100644
---
a/oap-server/server-library/library-kubernetes-support/src/main/java/org/apache/skywalking/library/kubernetes/KubernetesPods.java
+++
b/oap-server/server-library/library-kubernetes-support/src/main/java/org/apache/skywalking/library/kubernetes/KubernetesPods.java
@@ -38,8 +38,8 @@ public enum KubernetesPods {
@SneakyThrows
KubernetesPods() {
final CacheBuilder<Object, Object> cacheBuilder =
- CacheBuilder.newBuilder()
- .expireAfterAccess(Duration.ofMinutes(5));
+ CacheBuilder.newBuilder()
+ .expireAfterWrite(Duration.ofMinutes(5));
podByIP = cacheBuilder.build(new CacheLoader<>() {
@Override
diff --git
a/oap-server/server-library/library-kubernetes-support/src/main/java/org/apache/skywalking/library/kubernetes/KubernetesServices.java
b/oap-server/server-library/library-kubernetes-support/src/main/java/org/apache/skywalking/library/kubernetes/KubernetesServices.java
index 7f11af0158..a6bb8c02ab 100644
---
a/oap-server/server-library/library-kubernetes-support/src/main/java/org/apache/skywalking/library/kubernetes/KubernetesServices.java
+++
b/oap-server/server-library/library-kubernetes-support/src/main/java/org/apache/skywalking/library/kubernetes/KubernetesServices.java
@@ -41,8 +41,8 @@ public enum KubernetesServices {
@SneakyThrows
KubernetesServices() {
final CacheBuilder<Object, Object> cacheBuilder =
- CacheBuilder.newBuilder()
- .expireAfterAccess(Duration.ofMinutes(3));
+ CacheBuilder.newBuilder()
+ .expireAfterWrite(Duration.ofMinutes(3));
services = cacheBuilder.build(CacheLoader.from(() -> {
try (final var kubernetesClient = new
KubernetesClientBuilder().build()) {
diff --git
a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/common/TableHelper.java
b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/common/TableHelper.java
index e40b27dd8a..2f6237d2fe 100644
---
a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/common/TableHelper.java
+++
b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/common/TableHelper.java
@@ -60,7 +60,7 @@ public class TableHelper {
private final LoadingCache<String, Boolean> tableExistence =
CacheBuilder.newBuilder()
- .expireAfterAccess(Duration.ofMinutes(10))
+ .expireAfterWrite(Duration.ofMinutes(10))
.build(new CacheLoader<>() {
@Override
public @NonNull Boolean load(@NonNull String
tableName) throws Exception {