Skip to content

Commit 71f5649

Browse files
authored
Merge pull request kubernetes-client#1417 from dsyer/guavaless
Factor out usage of Guava in shared libraries
2 parents 1a090ca + 782c5bd commit 71f5649

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+348
-197
lines changed

examples/examples-release-10/.google

Whitespace-only changes.

examples/examples-release-11/.google

Whitespace-only changes.

examples/pom.xml

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,14 @@
1010
<relativePath>../pom.xml</relativePath>
1111
</parent>
1212

13-
<version>1.0.0-SNAPSHOT</version>
13+
<version>1.0.0-SNAPSHOT</version>
1414

1515
<artifactId>client-java-examples-parent</artifactId>
1616
<packaging>pom</packaging>
1717
<name>client-java-examples-parent</name>
1818

1919
<properties>
20+
<guava.version>30.0-jre</guava.version>
2021
<kubernetes.client.version>10.0.1-SNAPSHOT</kubernetes.client.version>
2122
</properties>
2223

@@ -25,6 +26,16 @@
2526
<module>examples-release-10</module>
2627
</modules>
2728

29+
<dependencyManagement>
30+
<dependencies>
31+
<dependency>
32+
<groupId>com.google.guava</groupId>
33+
<artifactId>guava</artifactId>
34+
<version>${guava.version}</version>
35+
</dependency>
36+
</dependencies>
37+
</dependencyManagement>
38+
2839
<build>
2940
<plugins>
3041
<plugin>

extended/pom.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,6 @@
3434
<groupId>org.apache.commons</groupId>
3535
<artifactId>commons-lang3</artifactId>
3636
</dependency>
37-
<dependency>
38-
<groupId>com.google.guava</groupId>
39-
<artifactId>guava</artifactId>
40-
</dependency>
4137
<dependency>
4238
<groupId>com.github.vladimir-bukhtoyarov</groupId>
4339
<artifactId>bucket4j-core</artifactId>
@@ -46,6 +42,10 @@
4642
<groupId>com.flipkart.zjsonpatch</groupId>
4743
<artifactId>zjsonpatch</artifactId>
4844
</dependency>
45+
<dependency>
46+
<groupId>com.github.ben-manes.caffeine</groupId>
47+
<artifactId>caffeine</artifactId>
48+
</dependency>
4949
<!-- test dependencies -->
5050
<dependency>
5151
<groupId>junit</groupId>

extended/src/main/java/io/kubernetes/client/extended/controller/Controllers.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@
1212
*/
1313
package io.kubernetes.client.extended.controller;
1414

15-
import com.google.common.util.concurrent.ThreadFactoryBuilder;
1615
import io.kubernetes.client.common.KubernetesObject;
1716
import io.kubernetes.client.extended.controller.reconciler.Request;
1817
import io.kubernetes.client.openapi.models.V1ObjectMeta;
18+
import io.kubernetes.client.util.Threads;
1919
import java.util.concurrent.ThreadFactory;
2020
import java.util.function.Function;
2121
import org.slf4j.Logger;
@@ -50,6 +50,6 @@ Function<ApiType, Request> defaultReflectiveKeyFunc() {
5050
* @return the thread factory
5151
*/
5252
public static ThreadFactory namedControllerThreadFactory(String controllerName) {
53-
return new ThreadFactoryBuilder().setNameFormat(controllerName + "-%d").build();
53+
return Threads.threadFactory(controllerName + "-%d");
5454
}
5555
}

extended/src/main/java/io/kubernetes/client/extended/event/legacy/EventAggregator.java

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,15 @@
1212
*/
1313
package io.kubernetes.client.extended.event.legacy;
1414

15-
import com.google.common.cache.Cache;
16-
import com.google.common.cache.CacheBuilder;
15+
import com.github.benmanes.caffeine.cache.Cache;
16+
import com.github.benmanes.caffeine.cache.Caffeine;
1717
import io.kubernetes.client.fluent.Function;
1818
import io.kubernetes.client.openapi.models.CoreV1Event;
1919
import io.kubernetes.client.openapi.models.CoreV1EventBuilder;
2020
import io.kubernetes.client.openapi.models.V1ObjectMetaBuilder;
2121
import java.util.HashSet;
2222
import java.util.Objects;
2323
import java.util.Set;
24-
import java.util.concurrent.ExecutionException;
2524
import org.apache.commons.lang3.tuple.MutablePair;
2625
import org.joda.time.DateTime;
2726

@@ -39,7 +38,7 @@ public EventAggregator(
3938
this.messageFunc = messageFunc;
4039
this.maxEvents = DEFAULT_MAX_EVENT_LOCAL_KEYS;
4140
this.spammingCache =
42-
CacheBuilder.newBuilder()
41+
Caffeine.newBuilder()
4342
.maximumSize(maxLRUCacheEntries)
4443
.expireAfterWrite(DEFAULT_EVENT_AGGREGATE_CACHE_EXPIRATION)
4544
.build();
@@ -58,12 +57,7 @@ public synchronized MutablePair<CoreV1Event, String> aggregate(CoreV1Event event
5857
String aggregatedKey = aggregatedKeys.getLeft();
5958
String localKey = aggregatedKeys.getRight();
6059

61-
AggregatedRecord record;
62-
try {
63-
record = this.spammingCache.get(aggregatedKey, AggregatedRecord::new);
64-
} catch (ExecutionException e) {
65-
throw new IllegalStateException(e);
66-
}
60+
AggregatedRecord record = this.spammingCache.get(aggregatedKey, k -> new AggregatedRecord());
6761
record.lastTimestamp = now;
6862
record.localKeys.add(localKey);
6963

extended/src/main/java/io/kubernetes/client/extended/event/legacy/EventLogger.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
*/
1313
package io.kubernetes.client.extended.event.legacy;
1414

15-
import com.google.common.cache.Cache;
16-
import com.google.common.cache.CacheBuilder;
15+
import com.github.benmanes.caffeine.cache.Cache;
16+
import com.github.benmanes.caffeine.cache.Caffeine;
1717
import io.kubernetes.client.custom.V1Patch;
1818
import io.kubernetes.client.openapi.Configuration;
1919
import io.kubernetes.client.openapi.models.CoreV1Event;
@@ -23,7 +23,7 @@
2323

2424
public class EventLogger {
2525
public EventLogger(int lruCacheEntries, Function<CoreV1Event, String> eventKeyFunc) {
26-
this.eventCache = CacheBuilder.newBuilder().maximumSize(lruCacheEntries).build();
26+
this.eventCache = Caffeine.newBuilder().maximumSize(lruCacheEntries).build();
2727
this.eventKeyFunc = eventKeyFunc;
2828
}
2929

extended/src/main/java/io/kubernetes/client/extended/event/legacy/EventSpamFilter.java

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,15 @@
1212
*/
1313
package io.kubernetes.client.extended.event.legacy;
1414

15-
import com.google.common.cache.Cache;
16-
import com.google.common.cache.CacheBuilder;
15+
import com.github.benmanes.caffeine.cache.Cache;
16+
import com.github.benmanes.caffeine.cache.Caffeine;
1717
import io.github.bucket4j.Bandwidth;
1818
import io.github.bucket4j.Bucket4j;
1919
import io.github.bucket4j.Refill;
2020
import io.github.bucket4j.local.LocalBucket;
2121
import io.github.bucket4j.local.SynchronizationStrategy;
2222
import io.kubernetes.client.openapi.models.CoreV1Event;
2323
import java.time.Duration;
24-
import java.util.concurrent.ExecutionException;
2524
import java.util.function.Function;
2625

2726
public class EventSpamFilter {
@@ -49,7 +48,7 @@ public EventSpamFilter(
4948
this.capacity = tokenBucketCapacity;
5049
this.refillingTokensPerPeriod = refillingTokensPerPeriod;
5150
this.refillingPeriod = refillingPeriod;
52-
this.spamRecordCache = CacheBuilder.newBuilder().maximumSize(maxLRUCacheEntries).build();
51+
this.spamRecordCache = Caffeine.newBuilder().maximumSize(maxLRUCacheEntries).build();
5352
}
5453

5554
private final long capacity;
@@ -60,12 +59,7 @@ public EventSpamFilter(
6059

6160
public boolean filter(CoreV1Event event) {
6261
String spamKey = spamKeyFunc.apply(event);
63-
SpamRecord record;
64-
try {
65-
record = spamRecordCache.get(spamKey, SpamRecord::new);
66-
} catch (ExecutionException e) {
67-
throw new IllegalStateException(e);
68-
}
62+
SpamRecord record = spamRecordCache.get(spamKey, k -> new SpamRecord());
6963
return record.tokenBucket.tryConsume(1);
7064
}
7165

extended/src/main/java/io/kubernetes/client/extended/event/legacy/ObjectReferenceResolvingEventRecorder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
*/
1313
package io.kubernetes.client.extended.event.legacy;
1414

15-
import com.google.common.base.Strings;
1615
import io.kubernetes.client.common.KubernetesObject;
1716
import io.kubernetes.client.extended.event.EventType;
1817
import io.kubernetes.client.openapi.models.CoreV1Event;
@@ -22,6 +21,7 @@
2221
import io.kubernetes.client.openapi.models.V1ObjectMetaBuilder;
2322
import io.kubernetes.client.openapi.models.V1ObjectReference;
2423
import io.kubernetes.client.openapi.models.V1ObjectReferenceBuilder;
24+
import io.kubernetes.client.util.Strings;
2525
import java.util.HashMap;
2626
import java.util.Map;
2727
import java.util.concurrent.BlockingQueue;

extended/src/main/java/io/kubernetes/client/extended/kubectl/KubectlApply.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,14 @@
1212
*/
1313
package io.kubernetes.client.extended.kubectl;
1414

15-
import com.google.common.base.Strings;
1615
import io.kubernetes.client.common.KubernetesListObject;
1716
import io.kubernetes.client.common.KubernetesObject;
1817
import io.kubernetes.client.custom.V1Patch;
1918
import io.kubernetes.client.extended.kubectl.exception.KubectlException;
2019
import io.kubernetes.client.openapi.ApiException;
2120
import io.kubernetes.client.util.ModelMapper;
2221
import io.kubernetes.client.util.Namespaces;
22+
import io.kubernetes.client.util.Strings;
2323
import io.kubernetes.client.util.generic.GenericKubernetesApi;
2424
import io.kubernetes.client.util.generic.KubernetesApiResponse;
2525
import io.kubernetes.client.util.generic.options.PatchOptions;

0 commit comments

Comments
 (0)