馃悶 Describe the bug
You can specify host and customOkHttpClient when initializing Pinecone.Builder, but the host parameter is ignored if customOkHttpClient is provided. The condition in the code bypasses host handling:
if (customOkHttpClient != null) {
apiClient = new ApiClient(customOkHttpClient);
} else {
apiClient = new ApiClient(buildOkHttpClient(proxyConfig));
if (host != null && !host.isEmpty()) {
config.setHost(host);
apiClient.setBasePath(host);
}
}
This leads to host being unused when a custom client is passed, even if it was explicitly set.
馃搵 Error information
2025-06-25 21:40:14 INFO okhttp3.OkHttpClient - --> POST https://api.pinecone.io/indexes
2025-06-25 21:40:14 INFO okhttp3.OkHttpClient - Content-Length: 200
2025-06-25 21:40:14 INFO okhttp3.OkHttpClient - Accept: application/json
2025-06-25 21:40:14 INFO okhttp3.OkHttpClient - Api-Key: pclocal
2025-06-25 21:40:14 INFO okhttp3.OkHttpClient - Content-Type: application/json
2025-06-25 21:40:14 INFO okhttp3.OkHttpClient - User-Agent: lang=java; pineconeClientVersion=v5.1.0
2025-06-25 21:40:14 INFO okhttp3.OkHttpClient - X-Pinecone-Api-Version: 2025-04
2025-06-25 21:40:14 INFO okhttp3.OkHttpClient -
2025-06-25 21:40:14 INFO okhttp3.OkHttpClient - {"name":"integration-controller-test-index","dimension":2,"metric":"cosine","deletion_protection":"disabled","tags":{},"spec":{"serverless":{"cloud":"aws","region":"us-east-1"}},"vector_type":"dense"}
2025-06-25 21:40:14 INFO okhttp3.OkHttpClient - --> END POST (200-byte body)
2025-06-25 21:40:15 INFO okhttp3.OkHttpClient - <-- 401 https://api.pinecone.io/indexes (681ms)
2025-06-25 21:40:15 INFO okhttp3.OkHttpClient - x-pinecone-api-version: 2025-04
2025-06-25 21:40:15 INFO okhttp3.OkHttpClient - x-cloud-trace-context: f4dc3225bc359c652619d4076f17a394
2025-06-25 21:40:15 INFO okhttp3.OkHttpClient - date: Wed, 25 Jun 2025 19:40:15 GMT
2025-06-25 21:40:15 INFO okhttp3.OkHttpClient - content-type: text/html
2025-06-25 21:40:15 INFO okhttp3.OkHttpClient - server: Google Frontend
2025-06-25 21:40:15 INFO okhttp3.OkHttpClient - content-length: 15
2025-06-25 21:40:15 INFO okhttp3.OkHttpClient - via: 1.1 google
2025-06-25 21:40:15 INFO okhttp3.OkHttpClient - alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
2025-06-25 21:40:15 INFO okhttp3.OkHttpClient -
2025-06-25 21:40:15 INFO okhttp3.OkHttpClient - Invalid API Key
2025-06-25 21:40:15 INFO okhttp3.OkHttpClient - <-- END HTTP (15-byte body)
馃И Steps to reproduce the issue locally
new Pinecone.Builder("API-KEY")
.withHost("http://localhost:8080")
.withOkHttpClient(new OkHttpClient.Builder()
.addInterceptor(new HttpLoggingInterceptor().setLevel(HttpLoggingInterceptor.Level.BODY))
.build())
.withTlsEnabled(false)
.build();
馃Л Expected behavior
If host is specified, it should be respected regardless of whether a custom OkHttpClient is used.
馃捇 Environment
- OS Version: macOS
- Java Version: 21
- Pinecone Client Version:
v5.1.0
馃悶 Describe the bug
You can specify
hostandcustomOkHttpClientwhen initializingPinecone.Builder, but thehostparameter is ignored ifcustomOkHttpClientis provided. The condition in the code bypasseshosthandling:This leads to
hostbeing unused when a custom client is passed, even if it was explicitly set.馃搵 Error information
馃И Steps to reproduce the issue locally
馃Л Expected behavior
If
hostis specified, it should be respected regardless of whether a customOkHttpClientis used.馃捇 Environment
v5.1.0