This is an automated email from the ASF dual-hosted git repository.

gnodet pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 2e2705228a58e0a825173a20075465eb99cac07c
Author: Guillaume Nodet <gno...@gmail.com>
AuthorDate: Thu May 2 16:20:20 2024 +0200

    Fix pinecone client double check locking
---
 .../pinecone/PineconeVectorDbEndpoint.java         | 23 +++++-----------------
 1 file changed, 5 insertions(+), 18 deletions(-)

diff --git 
a/components/camel-pinecone/src/main/java/org/apache/camel/component/pinecone/PineconeVectorDbEndpoint.java
 
b/components/camel-pinecone/src/main/java/org/apache/camel/component/pinecone/PineconeVectorDbEndpoint.java
index 0dc108fddfa..5a648f13abb 100644
--- 
a/components/camel-pinecone/src/main/java/org/apache/camel/component/pinecone/PineconeVectorDbEndpoint.java
+++ 
b/components/camel-pinecone/src/main/java/org/apache/camel/component/pinecone/PineconeVectorDbEndpoint.java
@@ -51,10 +51,7 @@ public class PineconeVectorDbEndpoint extends 
DefaultEndpoint {
     @UriParam
     private PineconeVectorDbConfiguration configuration;
 
-    private final Object lock;
-
-    private volatile boolean closeClient;
-    private volatile io.pinecone.clients.Pinecone client;
+    private Pinecone client;
 
     public PineconeVectorDbEndpoint(
                                     String endpointUri,
@@ -66,8 +63,6 @@ public class PineconeVectorDbEndpoint extends DefaultEndpoint 
{
 
         this.collection = collection;
         this.configuration = configuration;
-
-        this.lock = new Object();
     }
 
     public PineconeVectorDbConfiguration getConfiguration() {
@@ -80,19 +75,11 @@ public class PineconeVectorDbEndpoint extends 
DefaultEndpoint {
 
     public synchronized Pinecone getClient() {
         if (this.client == null) {
-            synchronized (this.lock) {
-                if (this.client == null) {
-                    this.client = this.configuration.getClient();
-                    this.closeClient = false;
-
-                    if (this.client == null) {
-                        this.client = createClient();
-                        this.closeClient = true;
-                    }
-                }
+            this.client = this.configuration.getClient();
+            if (this.client == null) {
+                this.client = createClient();
             }
         }
-
         return this.client;
     }
 
@@ -118,7 +105,7 @@ public class PineconeVectorDbEndpoint extends 
DefaultEndpoint {
 
     private Pinecone createClient() {
 
-        io.pinecone.clients.Pinecone pinecone = new 
io.pinecone.clients.Pinecone.Builder(configuration.getToken()).build();
+        Pinecone pinecone = new 
Pinecone.Builder(configuration.getToken()).build();
 
         return pinecone;
     }

Reply via email to