Skip to content

Commit 6834b36

Browse files
google-genai-botcopybara-github
authored andcommitted
ADK changes
PiperOrigin-RevId: 941938279
1 parent ec6c45d commit 6834b36

5 files changed

Lines changed: 3 additions & 122 deletions

File tree

core/src/main/java/com/google/adk/internal/http/HttpClientFactory.java

Lines changed: 0 additions & 56 deletions
This file was deleted.

core/src/main/java/com/google/adk/models/Gemini.java

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,12 @@
1919
import static com.google.common.base.StandardSystemProperty.JAVA_VERSION;
2020

2121
import com.google.adk.Version;
22-
import com.google.adk.internal.http.HttpClientFactory;
2322
import com.google.common.collect.ImmutableList;
2423
import com.google.common.collect.ImmutableMap;
2524
import com.google.errorprone.annotations.CanIgnoreReturnValue;
2625
import com.google.genai.Client;
2726
import com.google.genai.ResponseStream;
2827
import com.google.genai.types.Candidate;
29-
import com.google.genai.types.ClientOptions;
3028
import com.google.genai.types.Content;
3129
import com.google.genai.types.FinishReason;
3230
import com.google.genai.types.FunctionCall;
@@ -44,7 +42,6 @@
4442
import java.util.Objects;
4543
import java.util.UUID;
4644
import java.util.concurrent.CompletableFuture;
47-
import okhttp3.OkHttpClient;
4845
import org.jspecify.annotations.Nullable;
4946
import org.slf4j.Logger;
5047
import org.slf4j.LoggerFactory;
@@ -59,8 +56,6 @@ public class Gemini extends BaseLlm {
5956

6057
private static final Logger logger = LoggerFactory.getLogger(Gemini.class);
6158
private static final ImmutableMap<String, String> TRACKING_HEADERS;
62-
private static final OkHttpClient SHARED_HTTP_CLIENT =
63-
HttpClientFactory.createSharedHttpClient("GeminiApiClient");
6459

6560
static {
6661
String frameworkLabel = "google-adk/" + Version.JAVA_ADK_VERSION;
@@ -99,7 +94,6 @@ public Gemini(String modelName, String apiKey) {
9994
Client.builder()
10095
.apiKey(apiKey)
10196
.httpOptions(HttpOptions.builder().headers(TRACKING_HEADERS).build())
102-
.clientOptions(ClientOptions.builder().customHttpClient(SHARED_HTTP_CLIENT).build())
10397
.build();
10498
}
10599

@@ -113,9 +107,7 @@ public Gemini(String modelName, VertexCredentials vertexCredentials) {
113107
super(modelName);
114108
Objects.requireNonNull(vertexCredentials, "vertexCredentials cannot be null");
115109
Client.Builder apiClientBuilder =
116-
Client.builder()
117-
.httpOptions(HttpOptions.builder().headers(TRACKING_HEADERS).build())
118-
.clientOptions(ClientOptions.builder().customHttpClient(SHARED_HTTP_CLIENT).build());
110+
Client.builder().httpOptions(HttpOptions.builder().headers(TRACKING_HEADERS).build());
119111
vertexCredentials.project().ifPresent(apiClientBuilder::project);
120112
vertexCredentials.location().ifPresent(apiClientBuilder::location);
121113
vertexCredentials.credentials().ifPresent(apiClientBuilder::credentials);
@@ -214,7 +206,6 @@ public Gemini build() {
214206
modelName,
215207
Client.builder()
216208
.httpOptions(HttpOptions.builder().headers(TRACKING_HEADERS).build())
217-
.clientOptions(ClientOptions.builder().customHttpClient(SHARED_HTTP_CLIENT).build())
218209
.build());
219210
}
220211
}

core/src/main/java/com/google/adk/models/chat/ChatCompletionsHttpClient.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
import com.fasterxml.jackson.core.JsonProcessingException;
2020
import com.fasterxml.jackson.databind.ObjectMapper;
2121
import com.google.adk.JsonBaseModel;
22-
import com.google.adk.internal.http.HttpClientFactory;
2322
import com.google.adk.models.LlmRequest;
2423
import com.google.adk.models.LlmResponse;
2524
import com.google.common.annotations.VisibleForTesting;
@@ -73,8 +72,7 @@ public final class ChatCompletionsHttpClient implements ChatCompletionsClient {
7372
* {@link ChatCompletionsHttpClient} instances. Each instance forks this client via {@link
7473
* OkHttpClient#newBuilder()} to apply per-instance timeouts without leaking pools.
7574
*/
76-
private static final OkHttpClient SHARED_POOL_CLIENT =
77-
HttpClientFactory.createSharedHttpClient("ChatCompletionsHttpClient");
75+
private static final OkHttpClient SHARED_POOL_CLIENT = new OkHttpClient();
7876

7977
private final OkHttpClient client;
8078
private final HttpUrl completionsUrl;

core/src/main/java/com/google/adk/sessions/ApiClient.java

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818

1919
import static com.google.common.base.StandardSystemProperty.JAVA_VERSION;
2020

21-
import com.google.adk.internal.http.HttpClientFactory;
2221
import com.google.auth.oauth2.GoogleCredentials;
2322
import com.google.common.base.Ascii;
2423
import com.google.common.base.Strings;
@@ -103,22 +102,8 @@ abstract class ApiClient {
103102
this.httpClient = createHttpClient(httpOptions.timeout().orElse(null));
104103
}
105104

106-
/**
107-
* Shared OkHttpClient instance whose connection pool and thread dispatcher are reused across all
108-
* {@link ApiClient} subclass instances.
109-
*
110-
* <p>Even though {@link ApiClient} is abstract, every instantiation of a concrete subclass (e.g.,
111-
* GoogleAiClient) triggers this class's constructor. Making this static prevents a severe
112-
* resource leak where every new LLM Agent would otherwise spin up a brand new thread pool and TCP
113-
* connection pool. Instead, all clients share this pool and fork it via {@link
114-
* OkHttpClient#newBuilder()}.
115-
*/
116-
private static final OkHttpClient SHARED_POOL_CLIENT =
117-
HttpClientFactory.createSharedHttpClient("ApiClient");
118-
119105
private OkHttpClient createHttpClient(@Nullable Integer timeout) {
120-
OkHttpClient.Builder builder = SHARED_POOL_CLIENT.newBuilder();
121-
106+
OkHttpClient.Builder builder = new OkHttpClient().newBuilder();
122107
if (timeout != null) {
123108
builder.connectTimeout(Duration.ofMillis(timeout));
124109
}

core/src/test/java/com/google/adk/internal/http/HttpClientFactoryTest.java

Lines changed: 0 additions & 37 deletions
This file was deleted.

0 commit comments

Comments
 (0)