This is an automated email from the ASF dual-hosted git repository.
chengpan pushed a commit to branch branch-1.8
in repository https://gitbox.apache.org/repos/asf/kyuubi.git
The following commit(s) were added to refs/heads/branch-1.8 by this push:
new b635d709f [KYUUBI #6320] Fix terminated application pods not deleted
issue when kyuubi server restarted
b635d709f is described below
commit b635d709fc096500152226ada107e0956ac2c5d5
Author: Wang, Fei <[email protected]>
AuthorDate: Fri Apr 19 10:56:22 2024 +0800
[KYUUBI #6320] Fix terminated application pods not deleted issue when
kyuubi server restarted
# :mag: Description
## Issue References ๐
This pull request fixes #
We found that some pods were not deleted if kyuubi server restarted
The root cause is that:
com.google.common.cache::cleanup will not trigger removalListener action,
we shall use `invalidateAll` instead.
Testing:
Nothing print for below code:
```
import com.google.common.cache.{Cache, CacheBuilder, RemovalNotification}
var removed = 0
val cache: Cache[String, String] = CacheBuilder.newBuilder()
.removalListener((notification: RemovalNotification[String, String]) => {
removed += 1
println("removed: " + removed)
}).build()
(0 until 1000).foreach { i =>
cache.put(i.toString, i.toString)
}
cache.cleanup()
```
Replacing `cache.cleanup()` with `cache.invalidateAll()`, the output is
expected.
## Describe Your Solution ๐ง
Please include a summary of the change and which issue is fixed. Please
also include relevant motivation and context. List any dependencies that are
required for this change.
## Types of changes :bookmark:
- [ ] Bugfix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
## Test Plan ๐งช
#### Behavior Without This Pull Request :coffin:
#### Behavior With This Pull Request :tada:
#### Related Unit Tests
---
# Checklist ๐
- [ ] This patch was not authored or co-authored using [Generative
Tooling](https://www.apache.org/legal/generative-tooling.html)
**Be nice. Be informative.**
Closes #6319 from turboFei/app_k8s_leak.
Closes #6320
ff2adfc60 [Wang, Fei] invalidate all
Authored-by: Wang, Fei <[email protected]>
Signed-off-by: Cheng Pan <[email protected]>
(cherry picked from commit 26fe59d694108c12a4f4da24abcc2b6292a87deb)
Signed-off-by: Cheng Pan <[email protected]>
---
.../scala/org/apache/kyuubi/engine/KubernetesApplicationOperation.scala | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git
a/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/KubernetesApplicationOperation.scala
b/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/KubernetesApplicationOperation.scala
index 6afe3257b..4b076cc2d 100644
---
a/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/KubernetesApplicationOperation.scala
+++
b/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/KubernetesApplicationOperation.scala
@@ -264,7 +264,7 @@ class KubernetesApplicationOperation extends
ApplicationOperation with Logging {
enginePodInformers.clear()
if (cleanupTerminatedAppInfoTrigger != null) {
- cleanupTerminatedAppInfoTrigger.cleanUp()
+ cleanupTerminatedAppInfoTrigger.invalidateAll()
cleanupTerminatedAppInfoTrigger = null
}