You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We're using InstancePrincipalsAuthenticationDetailsProvider as part of our canary test run with MicronautTest. Since the test is run periodically, we've observed a resource leak, where live threads increase for each canary run.
The resource leak seems to be com.oracle.bmc.auth.internal.X509FederationClient leaving a leaked httpClient. This may need to be closed at something similar to preDestroy in Micronaut or make X509FederationClient closeable. Thanks.
The client causing resource leak snippet is as below.
this.httpClient = HttpProvider.getDefault() .newBuilder() .baseUri(URI.create(federationEndpoint)) .property(StandardClientProperties.ASYNC_POOL_SIZE, 1) .registerRequestInterceptor( Priorities.AUTHENTICATION, new AuthnClientFilter( new RequestSignerImpl( keySupplier, SigningStrategy.STANDARD, keyIdSupplier), Collections.emptyMap())) .registerRequestInterceptor( Priorities.HEADER_DECORATOR, new ClientIdFilter()) .registerRequestInterceptor(Priorities.USER, new LogHeadersFilter()) .build(); this.circuitBreaker = CircuitBreakerHelper.makeCircuitBreaker(this.httpClient, circuitBreakerConfig);
The text was updated successfully, but these errors were encountered:
We're using InstancePrincipalsAuthenticationDetailsProvider as part of our canary test run with MicronautTest. Since the test is run periodically, we've observed a resource leak, where live threads increase for each canary run.
The resource leak seems to be com.oracle.bmc.auth.internal.X509FederationClient leaving a leaked httpClient. This may need to be closed at something similar to preDestroy in Micronaut or make X509FederationClient closeable. Thanks.
The client causing resource leak snippet is as below.
this.httpClient = HttpProvider.getDefault() .newBuilder() .baseUri(URI.create(federationEndpoint)) .property(StandardClientProperties.ASYNC_POOL_SIZE, 1) .registerRequestInterceptor( Priorities.AUTHENTICATION, new AuthnClientFilter( new RequestSignerImpl( keySupplier, SigningStrategy.STANDARD, keyIdSupplier), Collections.emptyMap())) .registerRequestInterceptor( Priorities.HEADER_DECORATOR, new ClientIdFilter()) .registerRequestInterceptor(Priorities.USER, new LogHeadersFilter()) .build(); this.circuitBreaker = CircuitBreakerHelper.makeCircuitBreaker(this.httpClient, circuitBreakerConfig);
The text was updated successfully, but these errors were encountered: