summaryrefslogtreecommitdiffstats
path: root/vespa-feed-client
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2021-06-14 13:10:44 +0200
committerJon Marius Venstad <venstad@gmail.com>2021-06-15 12:39:16 +0200
commit7d5a34c4fb5d9a1a4c85a82bbab47be9dc2c8125 (patch)
tree59885aa5408d379a931132bbd1cc300f4772ba52 /vespa-feed-client
parent062427cbeacac0f2850558976da56a7789983b62 (diff)
Remove jetty and okhttp impementations
Diffstat (limited to 'vespa-feed-client')
-rw-r--r--vespa-feed-client/pom.xml17
-rw-r--r--vespa-feed-client/src/main/java/ai/vespa/feed/client/JettyCluster.java121
-rw-r--r--vespa-feed-client/src/main/java/ai/vespa/feed/client/OkCluster.java127
3 files changed, 0 insertions, 265 deletions
diff --git a/vespa-feed-client/pom.xml b/vespa-feed-client/pom.xml
index b0d12431c05..7d4938c6fb0 100644
--- a/vespa-feed-client/pom.xml
+++ b/vespa-feed-client/pom.xml
@@ -30,28 +30,11 @@
<scope>compile</scope>
</dependency>
<dependency>
- <groupId>org.eclipse.jetty.http2</groupId>
- <artifactId>http2-http-client-transport</artifactId>
- <version>${jetty.version}</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-client</artifactId>
- <version>${jetty.version}</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
<groupId>org.apache.httpcomponents.client5</groupId>
<artifactId>httpclient5</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
- <groupId>com.squareup.okhttp3</groupId>
- <artifactId>okhttp</artifactId>
- <version>4.9.1</version>
- </dependency>
- <dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<scope>compile</scope>
diff --git a/vespa-feed-client/src/main/java/ai/vespa/feed/client/JettyCluster.java b/vespa-feed-client/src/main/java/ai/vespa/feed/client/JettyCluster.java
deleted file mode 100644
index 56be53798b1..00000000000
--- a/vespa-feed-client/src/main/java/ai/vespa/feed/client/JettyCluster.java
+++ /dev/null
@@ -1,121 +0,0 @@
-// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-package ai.vespa.feed.client;
-
-import org.eclipse.jetty.client.HttpClient;
-import org.eclipse.jetty.client.HttpClientTransport;
-import org.eclipse.jetty.client.api.Request;
-import org.eclipse.jetty.client.api.Result;
-import org.eclipse.jetty.client.util.BufferingResponseListener;
-import org.eclipse.jetty.client.util.BytesContentProvider;
-import org.eclipse.jetty.http.HttpField;
-import org.eclipse.jetty.http2.client.HTTP2Client;
-import org.eclipse.jetty.http2.client.http.HttpClientTransportOverHTTP2;
-import org.eclipse.jetty.util.ssl.SslContextFactory;
-
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.concurrent.CompletableFuture;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.atomic.AtomicInteger;
-
-/**
- * @author jonmv
- */
-class JettyCluster implements Cluster {
-
- private final List<Endpoint> endpoints = new ArrayList<>();
-
- JettyCluster(FeedClientBuilder builder) {
- for (URI endpoint : builder.endpoints)
- for (int i = 0; i < builder.connectionsPerEndpoint; i++)
- endpoints.add(new Endpoint(createJettyHttpClient(builder), endpoint));
- }
-
- private static HttpClient createJettyHttpClient(FeedClientBuilder builder) {
- try {
- SslContextFactory.Client clientSslCtxFactory = new SslContextFactory.Client();
- clientSslCtxFactory.setSslContext(builder.constructSslContext());
- clientSslCtxFactory.setHostnameVerifier(builder.hostnameVerifier);
-
- HTTP2Client wrapped = new HTTP2Client();
- wrapped.setMaxConcurrentPushedStreams(builder.maxStreamsPerConnection);
- HttpClientTransport transport = new HttpClientTransportOverHTTP2(wrapped);
- HttpClient client = new HttpClient(transport, clientSslCtxFactory);
- client.setUserAgentField(new HttpField("User-Agent", String.format("vespa-feed-client/%s", Vespa.VERSION)));
- client.setFollowRedirects(false);
- client.setMaxRequestsQueuedPerDestination(builder.maxStreamsPerConnection);
- client.setMaxConnectionsPerDestination(1);
-
- client.start();
- return client;
- }
- catch (Exception e) {
- throw new IllegalStateException(e);
- }
- }
-
-
- @Override
- public void dispatch(HttpRequest request, CompletableFuture<HttpResponse> vessel) {
- int index = 0;
- int min = Integer.MAX_VALUE;
- for (int i = 0; i < endpoints.size(); i++)
- if (endpoints.get(i).inflight.get() < min) {
- index = i;
- min = endpoints.get(i).inflight.get();
- }
-
- Endpoint endpoint = endpoints.get(index);
- endpoint.inflight.incrementAndGet();
- try {
- Request jettyRequest = endpoint.client.newRequest(endpoint.uri.resolve(request.path()))
- .method(request.method())
- .timeout(5, TimeUnit.MINUTES)
- .content(request.body() == null ? null : new BytesContentProvider("application/json", request.body()));
- request.headers().forEach((name, value) -> jettyRequest.header(name, value.get()));
- jettyRequest.send(new BufferingResponseListener() {
- @Override public void onComplete(Result result) {
- if (result.isSucceeded())
- vessel.complete(HttpResponse.of(result.getResponse().getStatus(),
- getContent()));
- else
- vessel.completeExceptionally(result.getFailure());
- }
- });
- }
- catch (Throwable thrown) {
- vessel.completeExceptionally(thrown);
- }
- vessel.whenComplete((__, ___) -> endpoint.inflight.decrementAndGet());
- }
-
- @Override
- public void close() {
- Throwable thrown = null;
- for (Endpoint endpoint : endpoints)
- try {
- endpoint.client.stop();
- }
- catch (Throwable t) {
- if (thrown == null) thrown = t;
- else thrown.addSuppressed(t);
- }
- if (thrown != null) throw new RuntimeException(thrown);
- }
-
-
- private static class Endpoint {
-
- private final HttpClient client;
- private final AtomicInteger inflight = new AtomicInteger(0);
- private final URI uri;
-
- private Endpoint(HttpClient client, URI uri) {
- this.client = client;
- this.uri = uri;
- }
-
- }
-
-}
diff --git a/vespa-feed-client/src/main/java/ai/vespa/feed/client/OkCluster.java b/vespa-feed-client/src/main/java/ai/vespa/feed/client/OkCluster.java
deleted file mode 100644
index 62161bb9a33..00000000000
--- a/vespa-feed-client/src/main/java/ai/vespa/feed/client/OkCluster.java
+++ /dev/null
@@ -1,127 +0,0 @@
-// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-package ai.vespa.feed.client;
-
-import okhttp3.Call;
-import okhttp3.Callback;
-import okhttp3.MediaType;
-import okhttp3.OkHttpClient;
-import okhttp3.Request;
-import okhttp3.RequestBody;
-import okhttp3.Response;
-import org.jetbrains.annotations.NotNull;
-
-import javax.net.ssl.SSLEngine;
-import javax.net.ssl.X509ExtendedTrustManager;
-import java.io.IOException;
-import java.net.Socket;
-import java.net.URI;
-import java.security.cert.CertificateException;
-import java.security.cert.X509Certificate;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.concurrent.CompletableFuture;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.atomic.AtomicInteger;
-
-/**
- * @author jonmv
- */
-public class OkCluster implements Cluster {
-
- private final List<Endpoint> endpoints = new ArrayList<>();
-
- OkCluster(FeedClientBuilder builder) {
- for (URI endpoint : builder.endpoints)
- for (int i = 0; i < builder.connectionsPerEndpoint; i++)
- endpoints.add(new Endpoint(createOkHttpClient(builder), endpoint));
- }
-
- private static OkHttpClient createOkHttpClient(FeedClientBuilder builder) {
- try {
- return new OkHttpClient.Builder().connectTimeout(15, TimeUnit.SECONDS)
- .callTimeout(5, TimeUnit.MINUTES)
- .readTimeout(30, TimeUnit.SECONDS)
- .writeTimeout(30, TimeUnit.SECONDS)
- .followRedirects(false)
- //.hostnameVerifier(builder.hostnameVerifier)
- .retryOnConnectionFailure(false)
- .sslSocketFactory(builder.constructSslContext().getSocketFactory(),
- new X509ExtendedTrustManager() {
- @Override public void checkClientTrusted(X509Certificate[] chain, String authType, Socket socket) throws CertificateException { }
- @Override public void checkServerTrusted(X509Certificate[] chain, String authType, Socket socket) throws CertificateException { }
- @Override public void checkClientTrusted(X509Certificate[] chain, String authType, SSLEngine engine) throws CertificateException { }
- @Override public void checkServerTrusted(X509Certificate[] chain, String authType, SSLEngine engine) throws CertificateException { }
- @Override public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException { }
- @Override public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException { }
- @Override public X509Certificate[] getAcceptedIssuers() { return new X509Certificate[0]; } })
- .build();
-
- }
- catch (Exception e) {
- throw new IllegalStateException(e);
- }
- }
-
-
- @Override
- public void dispatch(HttpRequest request, CompletableFuture<HttpResponse> vessel) {
- int index = 0;
- int min = Integer.MAX_VALUE;
- for (int i = 0; i < endpoints.size(); i++)
- if (endpoints.get(i).inflight.get() < min) {
- index = i;
- min = endpoints.get(i).inflight.get();
- }
-
- Endpoint endpoint = endpoints.get(index);
- endpoint.inflight.incrementAndGet();
- try {
- Request.Builder okRequest = new Request.Builder().method(request.method(),
- RequestBody.create(request.body(),
- MediaType.parse("application/json")))
- .url(endpoint.uri.resolve(request.path()).toString());
- request.headers().forEach((name, value) -> okRequest.header(name, value.get()));
- endpoint.client.newCall(okRequest.build()).enqueue(new Callback() {
- @Override public void onFailure(@NotNull Call call, @NotNull IOException e) {
- vessel.completeExceptionally(e);
- }
- @Override public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
- vessel.complete(HttpResponse.of(response.code(), response.body().bytes()));
- }
- });
- }
- catch (Throwable thrown) {
- vessel.completeExceptionally(thrown);
- }
- vessel.whenComplete((__, ___) -> endpoint.inflight.decrementAndGet());
- }
-
-
- @Override
- public void close() {
- Throwable thrown = null;
- for (Endpoint endpoint : endpoints)
- try {
- //endpoint.client.
- }
- catch (Throwable t) {
- if (thrown == null) thrown = t;
- else thrown.addSuppressed(t);
- }
- if (thrown != null) throw new RuntimeException(thrown);
- }
-
-
- private static class Endpoint {
-
- private final OkHttpClient client;
- private final AtomicInteger inflight = new AtomicInteger(0);
- private final URI uri;
-
- private Endpoint(OkHttpClient client, URI uri) {
- this.client = client;
- this.uri = uri;
- }
- }
-
-}