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;
}