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

zihanli58 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/gobblin.git


The following commit(s) were added to refs/heads/master by this push:
     new 58ffd25  [GOBBLIN-1623] Fix NPE when try to close RestApiConnector 
(#3480)
58ffd25 is described below

commit 58ffd25e57d8d9f7a9a36c261c9a7249befd267d
Author: Zihan Li <[email protected]>
AuthorDate: Wed Mar 16 13:36:26 2022 -0700

    [GOBBLIN-1623] Fix NPE when try to close RestApiConnector (#3480)
    
    * Fix NPE when try to close RestApiConnector
    
    * fix typo
---
 .../source/extractor/extract/restapi/RestApiConnector.java        | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git 
a/gobblin-core/src/main/java/org/apache/gobblin/source/extractor/extract/restapi/RestApiConnector.java
 
b/gobblin-core/src/main/java/org/apache/gobblin/source/extractor/extract/restapi/RestApiConnector.java
index 71981b5..ed0f32b 100644
--- 
a/gobblin-core/src/main/java/org/apache/gobblin/source/extractor/extract/restapi/RestApiConnector.java
+++ 
b/gobblin-core/src/main/java/org/apache/gobblin/source/extractor/extract/restapi/RestApiConnector.java
@@ -23,7 +23,6 @@ import java.io.IOException;
 import java.util.Arrays;
 import java.util.List;
 
-import java.util.concurrent.TimeUnit;
 import org.apache.commons.io.IOUtils;
 import org.apache.http.HttpEntity;
 import org.apache.http.HttpResponse;
@@ -32,6 +31,7 @@ import org.apache.http.client.HttpClient;
 import org.apache.http.client.methods.CloseableHttpResponse;
 import org.apache.http.client.methods.HttpGet;
 import org.apache.http.client.methods.HttpRequestBase;
+import org.apache.http.impl.client.CloseableHttpClient;
 import org.apache.http.util.EntityUtils;
 
 import com.google.common.base.Charsets;
@@ -86,9 +86,6 @@ public abstract class RestApiConnector implements Closeable {
   public void close() throws IOException {
     // This is to close any idle connections opening by the httpClient
     this.closer.close();
-    if (this.httpClient != null) {
-      this.httpClient.getConnectionManager().closeIdleConnections(0, 
TimeUnit.MICROSECONDS);
-    }
   }
 
   /**
@@ -147,6 +144,9 @@ public abstract class RestApiConnector implements Closeable 
{
           .setStatePropertiesPrefix(ConfigurationKeys.SOURCE_CONN_PREFIX)
           .configure(this.state)
           .createClient();
+      if (httpClient instanceof CloseableHttpClient) {
+        this.closer.register((CloseableHttpClient)httpClient);
+      }
     }
     return this.httpClient;
   }

Reply via email to