Skip to content

Commit b635d70

Browse files
turboFeipan3793
authored andcommitted
[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 ff2adfc [Wang, Fei] invalidate all Authored-by: Wang, Fei <[email protected]> Signed-off-by: Cheng Pan <[email protected]> (cherry picked from commit 26fe59d) Signed-off-by: Cheng Pan <[email protected]>
1 parent 0cc80b2 commit b635d70

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

kyuubi-server/src/main/scala/org/apache/kyuubi/engine/KubernetesApplicationOperation.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,7 @@ class KubernetesApplicationOperation extends ApplicationOperation with Logging {
264264
enginePodInformers.clear()
265265

266266
if (cleanupTerminatedAppInfoTrigger != null) {
267-
cleanupTerminatedAppInfoTrigger.cleanUp()
267+
cleanupTerminatedAppInfoTrigger.invalidateAll()
268268
cleanupTerminatedAppInfoTrigger = null
269269
}
270270

0 commit comments

Comments
 (0)