Skip to content

Commit a73f766

Browse files
committed
correctly synchronize accessing client when config changes (#640)
Signed-off-by: Andre Dietisheim <[email protected]>
1 parent 6d487b1 commit a73f766

File tree

1 file changed

+9
-7
lines changed
  • src/main/kotlin/com/redhat/devtools/intellij/kubernetes/model

1 file changed

+9
-7
lines changed

src/main/kotlin/com/redhat/devtools/intellij/kubernetes/model/AllContexts.kt

+9-7
Original file line numberDiff line numberDiff line change
@@ -247,14 +247,16 @@ open class AllContexts(
247247
}
248248

249249
protected open fun onKubeConfigChanged(fileConfig: io.fabric8.kubernetes.api.model.Config) {
250-
val client = client.get() ?: return
251-
val clientConfig = client.config.configuration
252-
if (ConfigHelper.areEqual(fileConfig, clientConfig)) {
253-
return
250+
synchronized(this) {
251+
val client = client.get() ?: return
252+
val clientConfig = client.config.configuration
253+
if (ConfigHelper.areEqual(fileConfig, clientConfig)) {
254+
return
255+
}
256+
this.client.reset() // create new client when accessed
257+
client.close()
258+
refresh()
254259
}
255-
client.close()
256-
this.client.reset() // create new client when accessed
257-
refresh()
258260
}
259261

260262
/** for testing purposes */

0 commit comments

Comments
 (0)