diff options
author | jonmv <venstad@gmail.com> | 2023-10-27 16:57:35 +0200 |
---|---|---|
committer | jonmv <venstad@gmail.com> | 2023-10-27 16:57:35 +0200 |
commit | c79578f4331f2b8433b3ede5841bdf910164d564 (patch) | |
tree | bc896b42c771bf2c531cdb4774c8957aee69fe35 /vespa-feed-client/src/main | |
parent | d93fbc20d3d39aeafa193fa3649399968af02cc2 (diff) |
Allow specifying connection TTL for feed client
Diffstat (limited to 'vespa-feed-client/src/main')
-rw-r--r-- | vespa-feed-client/src/main/java/ai/vespa/feed/client/impl/FeedClientBuilderImpl.java | 8 | ||||
-rw-r--r-- | vespa-feed-client/src/main/java/ai/vespa/feed/client/impl/JettyCluster.java | 5 |
2 files changed, 12 insertions, 1 deletions
diff --git a/vespa-feed-client/src/main/java/ai/vespa/feed/client/impl/FeedClientBuilderImpl.java b/vespa-feed-client/src/main/java/ai/vespa/feed/client/impl/FeedClientBuilderImpl.java index cacaeac30ae..6b4372fd11a 100644 --- a/vespa-feed-client/src/main/java/ai/vespa/feed/client/impl/FeedClientBuilderImpl.java +++ b/vespa-feed-client/src/main/java/ai/vespa/feed/client/impl/FeedClientBuilderImpl.java @@ -60,6 +60,7 @@ public class FeedClientBuilderImpl implements FeedClientBuilder { boolean speedTest = false; Compression compression = auto; URI proxy; + Duration connectionTtl = Duration.ZERO; public FeedClientBuilderImpl() { @@ -95,6 +96,13 @@ public class FeedClientBuilderImpl implements FeedClientBuilder { return this; } + @Override + public FeedClientBuilder setConnectionTimeToLive(Duration ttl) { + if (ttl.isNegative()) throw new IllegalArgumentException("Connection TTL cannot be negative, but was " + ttl); + this.connectionTtl = ttl; + return this; + } + /** Sets {@link SSLContext} instance. */ @Override public FeedClientBuilderImpl setSslContext(SSLContext context) { diff --git a/vespa-feed-client/src/main/java/ai/vespa/feed/client/impl/JettyCluster.java b/vespa-feed-client/src/main/java/ai/vespa/feed/client/impl/JettyCluster.java index 1edcc6d6cba..5454249d52e 100644 --- a/vespa-feed-client/src/main/java/ai/vespa/feed/client/impl/JettyCluster.java +++ b/vespa-feed-client/src/main/java/ai/vespa/feed/client/impl/JettyCluster.java @@ -159,7 +159,10 @@ class JettyCluster implements Cluster { dest, Pool.StrategyType.RANDOM, connectionsPerEndpoint, false, dest, Integer.MAX_VALUE); pool.preCreateConnections(connectionsPerEndpoint); if (secureProxy) pool.setMaxDuration(Duration.ofMinutes(1).toMillis()); - else pool.setMaximizeConnections(true); + else { + pool.setMaximizeConnections(true); + pool.setMaxDuration(b.connectionTtl.toMillis()); + } return pool; }); HttpClient httpClient = new HttpClient(transport); |