[KYUUBI #6320] Fix terminated application pods not deleted issue when kyuubi server restarted
# 🔍 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 🔖
- [ ] 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 ⚰️
#### Behavior With This Pull Request 🎉
#### 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 <fwang12@ebay.com>
Signed-off-by: Cheng Pan <chengpan@apache.org>
(cherry picked from commit 26fe59d694)
Signed-off-by: Cheng Pan <chengpan@apache.org>
This commit is contained in:
parent
238c893f39
commit
9fe210c8ed
@ -265,7 +265,7 @@ class KubernetesApplicationOperation extends ApplicationOperation with Logging {
|
||||
enginePodInformers.clear()
|
||||
|
||||
if (cleanupTerminatedAppInfoTrigger != null) {
|
||||
cleanupTerminatedAppInfoTrigger.cleanUp()
|
||||
cleanupTerminatedAppInfoTrigger.invalidateAll()
|
||||
cleanupTerminatedAppInfoTrigger = null
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user