googleapis / googleapis/google-cloud-java

[sdk-platform-java] com.google.api.gax.httpjson.ManagedHttpJsonInterceptorChannel does not close the channels correctly

Đang mở
#12,368 1 bình luận 0 reaction 0 người được giao Xem trên GitHub
priority: p3 type: bug
Ngôn ngữ chính
Java
Star
2.1k
Fork
1.2k
Merge trung bình
1 ngày 23 giờ
Pull request đã merge (30 ngày)
154

Mô tả

#### Environment details

1. Specify the artifact at the beginning of the title. For example, "api-common", "gax" etc)
2. OS type and version: Linux Debian 6.1.158-1 (2025-11-09) x86_64 GNU/Linux
3. Java version: openjdk version "11.0.20.1" 2023-08-24
4. artifact version(s): 2.63.1

#### Steps to reproduce

1. Created a GCP API stub which uses "defaultHttpJsonTransportProviderBuilder" and creates an "InstantiatingHttpJsonChannelProvider"
2. On the client close, the close is successfully but the executor service is not being deleted.

#### Code example

```java
ManagedHttpJsonInterceptorChannel(
ManagedHttpJsonChannel channel, HttpJsonClientInterceptor interceptor) {
super();
this.channel = channel;
this.interceptor = interceptor;
}

@Override
public synchronized void shutdown() {
channel.shutdown();
}
```

super() calls ManagedHttpJsonChannel which creates a fixed executor service that never gets deleted.
```
protected ManagedHttpJsonChannel() {
this(null, true, null, null);
}

private ManagedHttpJsonChannel(
Executor executor,
boolean usingDefaultExecutor,
String endpoint,
@Nullable HttpTransport httpTransport) {
this.executor = executor;
this.usingDefaultExecutor = usingDefaultExecutor;
this.endpoint = endpoint;
this.httpTransport = httpTransport == null ? new NetHttpTransport() : httpTransport;
this.deadlineScheduledExecutorService = Executors.newSingleThreadScheduledExecutor();
}
```

Ideally we should call:
```
@Override
public synchronized void shutdown() {
super.shutdown();
channel.shutdown();
}
```
Same applies to shutdownNow(), close()

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.