Skip to content

Commit 8442a84

Browse files
alaudabotyuzp1996
authored andcommitted
Fix thread leakage when override controller queue with withQueue
Official Issue kubernetes-client#3738 Official PR kubernetes-client#3737 Signed-off-by: yuzhipeng <[email protected]>
1 parent 43d61ab commit 8442a84

File tree

3 files changed

+108
-23
lines changed

3 files changed

+108
-23
lines changed

.build.yaml

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
apiVersion: builds.katanomi.dev/v1alpha1
2+
kind: Build
3+
spec:
4+
workspaces:
5+
- description: |
6+
This workspace is shared among all the pipeline tasks to read/write common resources
7+
name: source
8+
- name: cache
9+
tasks:
10+
- name: maven
11+
timeout: 30m
12+
retries: 0
13+
taskRef:
14+
resolver: katanomi.hub
15+
params:
16+
- name: kind
17+
value: task
18+
- name: name
19+
value: maven
20+
workspaces:
21+
- name: source
22+
workspace: source
23+
- name: cache
24+
workspace: cache
25+
when: []
26+
params:
27+
- name: tool-image
28+
value: registry.alauda.cn:60080/devops/builder-java:17.0.6-openjdk-61685958
29+
- name: command
30+
value: |
31+
mvn versions:set -DnewVersion=11.0.0-alauda; mvn clean deploy -DskipTests
32+
- name: dependencies-repositories
33+
value:
34+
- https://build-nexus.alauda.cn/repository/alauda-maven/
35+
- name: deploy-repository
36+
value: https://build-nexus.alauda.cn/repository/alauda-maven/
37+
git:
38+
options:
39+
depth: 1
40+
timeout: 10m
41+
retries: 0
42+
resources:
43+
limits:
44+
cpu: 200m
45+
memory: 200Mi
46+
requests:
47+
cpu: 200m
48+
memory: 200Mi
49+
runTemplate:
50+
spec:
51+
workspaces:
52+
- name: cache
53+
persistentVolumeClaim:
54+
claimName: build-cache
55+
subPath: maven
56+
taskRunSpecs:
57+
- pipelineTaskName: maven
58+
stepOverrides:
59+
- name: prepare
60+
resources:
61+
requests:
62+
cpu: 1333m
63+
memory: 1365Mi
64+
limits:
65+
cpu: 4000m
66+
memory: 4096Mi
67+
- name: maven
68+
resources:
69+
requests:
70+
cpu: 1333m
71+
memory: 1365Mi
72+
limits:
73+
cpu: 4000m
74+
memory: 4096Mi
75+
- name: analysis
76+
resources:
77+
requests:
78+
cpu: 1334m
79+
memory: 1366Mi
80+
limits:
81+
cpu: 4000m
82+
memory: 4096Mi

extended/src/main/java/io/kubernetes/client/extended/controller/builder/DefaultControllerBuilder.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,9 @@ public DefaultControllerBuilder withName(String controllerName) {
104104
* @return the controller builder
105105
*/
106106
public DefaultControllerBuilder withWorkQueue(RateLimitingQueue<Request> workQueue) {
107+
if (this.workQueue != null && !this.workQueue.isShuttingDown()){
108+
this.workQueue.shutDown();
109+
}
107110
this.workQueue = workQueue;
108111
return this;
109112
}

pom.xml

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<module>client-java-contrib/cert-manager</module>
1818
<module>e2e</module>
1919
<module>client-java-contrib/prometheus-operator</module>
20-
<module>examples</module>
20+
<!-- <module>examples</module>-->
2121
</modules>
2222

2323
<scm>
@@ -323,18 +323,18 @@
323323
</dependencies>
324324
</dependencyManagement>
325325

326-
<distributionManagement>
327-
<snapshotRepository>
328-
<id>ossrh</id>
329-
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
330-
<layout>default</layout>
331-
</snapshotRepository>
332-
<repository>
333-
<id>ossrh</id>
334-
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2</url>
335-
<layout>default</layout>
336-
</repository>
337-
</distributionManagement>
326+
<!-- <distributionManagement>-->
327+
<!-- <snapshotRepository>-->
328+
<!-- <id>ossrh</id>-->
329+
<!-- <url>https://oss.sonatype.org/content/repositories/snapshots</url>-->
330+
<!-- <layout>default</layout>-->
331+
<!-- </snapshotRepository>-->
332+
<!-- <repository>-->
333+
<!-- <id>ossrh</id>-->
334+
<!-- <url>https://oss.sonatype.org/service/local/staging/deploy/maven2</url>-->
335+
<!-- <layout>default</layout>-->
336+
<!-- </repository>-->
337+
<!-- </distributionManagement>-->
338338

339339
<build>
340340
<pluginManagement>
@@ -433,16 +433,16 @@
433433
<skip>true</skip>
434434
</configuration>
435435
</plugin>
436-
<plugin>
437-
<groupId>org.sonatype.plugins</groupId>
438-
<artifactId>nexus-staging-maven-plugin</artifactId>
439-
<extensions>true</extensions>
440-
<configuration>
441-
<serverId>ossrh</serverId>
442-
<nexusUrl>https://oss.sonatype.org/</nexusUrl>
443-
<autoReleaseAfterClose>true</autoReleaseAfterClose>
444-
</configuration>
445-
</plugin>
436+
<!-- <plugin>-->
437+
<!-- <groupId>org.sonatype.plugins</groupId>-->
438+
<!-- <artifactId>nexus-staging-maven-plugin</artifactId>-->
439+
<!-- <extensions>true</extensions>-->
440+
<!-- <configuration>-->
441+
<!-- <serverId>ossrh</serverId>-->
442+
<!-- <nexusUrl>https://oss.sonatype.org/</nexusUrl>-->
443+
<!-- <autoReleaseAfterClose>true</autoReleaseAfterClose>-->
444+
<!-- </configuration>-->
445+
<!-- </plugin>-->
446446
<plugin>
447447
<groupId>com.diffplug.spotless</groupId>
448448
<artifactId>spotless-maven-plugin</artifactId>

0 commit comments

Comments
 (0)