Skip to content

Commit 72676d1

Browse files
committed
fixes leaking informer#controller daemon thread
naming informer-controller thread prevent controller thread from crashing
1 parent 0c57424 commit 72676d1

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

util/src/main/java/io/kubernetes/client/informer/cache/Controller.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,9 @@ private void processLoop() {
146146
this.queue.pop(this.processFunc);
147147
} catch (InterruptedException t) {
148148
log.error("DefaultController#processLoop get interrupted {}", t.getMessage(), t);
149+
return;
150+
} catch (Throwable t) {
151+
log.error("DefaultController#processLoop recovered from crashing {}", t.getMessage(), t);
149152
}
150153
}
151154
}

util/src/main/java/io/kubernetes/client/informer/impl/DefaultSharedIndexInformer.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,8 @@ public DefaultSharedIndexInformer(
7676
processor::shouldResync,
7777
resyncCheckPeriodMillis);
7878

79-
controllerThread = new Thread(controller::run);
79+
controllerThread =
80+
new Thread(controller::run, "informer-controller-" + apiTypeClass.getSimpleName());
8081
}
8182

8283
/** add event callback */

0 commit comments

Comments
 (0)