升级3.24.3版本后,控制台打印,连接泄漏了。
5月 17, 2024 2:40:08 上午 okhttp3.internal.platform.Platform log
警告: A connection to https://xxx.myhuaweicloud.com/ was leaked. Did you forget to close a response body? To see where this was allocated, set the OkHttpClient logger level to FINE: Logger.getLogger(OkHttpClient.class.getName()).setLevel(Level.FINE);
升级3.24.3版本后,控制台打印,连接泄漏了。 5月 17, 2024 2:40:08 上午 okhttp3.internal.platform.Platform log 警告: A connection to https://xxx.myhuaweicloud.com/ was leaked. Did you forget to close a response body? To see where this was allocated, set the OkHttpClient logger level to FINE: Logger.getLogger(OkHttpClient.class.getName()).setLevel(Level.FINE);
public abstract class ObsObjectBaseService extends ObsBucketAdvanceService { private static final ILogger log = LoggerBuilder.getLogger(ObsObjectBaseService.class); protected boolean doesObjectExistImpl(GetObjectMetadataRequest request) throws ServiceException { Map<String, String> headers = new HashMap<>(); this.transSseCHeaders(request.getSseCHeader(), headers, this.getIHeaders(request.getBucketName())); this.transRequestPaymentHeaders(request, headers, this.getIHeaders(request.getBucketName())); Map<String, String> params = new HashMap<>(); if (request.getVersionId() != null) { params.put(ObsRequestParams.VERSION_ID, request.getVersionId()); } boolean doesObjectExist = false; try { Response response = performRestHead(request.getBucketName(), request.getObjectKey(), params, headers, request.getUserHeaders(), request.isEncodeHeaders()); if (200 == response.code()) { doesObjectExist = true; } } catch (ServiceException ex) { if (!(404 == ex.getResponseCode())) { throw ex; } } return doesObjectExist; } ..... }
doesObjectExist这个接口没有close response body。请排查是否还有其他接口有同类型的问题。