-
Notifications
You must be signed in to change notification settings - Fork 24
Open
Description
Hello, recently i got this error on my API.
It happens occasionally.
I believe it is the problem related to creating too many instances of HttpClient instead of using the services.AddHttpClient
configuration and getting the HttpClient via dependency injection.
The stack trace seems to indicate this:
StackTrace: at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.AddHttp11ConnectionAsync(HttpRequestMessage request)
at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.GetHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
at System.Net.Http.DiagnosticsHandler.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
at Oci.Common.Http.RestClient.HttpSend(HttpRequestMessage httpRequest, HttpCompletionOption completionOption, CancellationToken cancellationToken)
at Oci.ObjectstorageService.ObjectStorageClient.CreateBucket(CreateBucketRequest request, RetryConfiguration retryConfiguration, CancellationToken cancellationToken, HttpCompletionOption completionOption)
at LogSistemas.Domynus.Application.Core.Services.File.OracleObjectStorageService.ValidateBucket(String bucketName) in /home/runner/work/domynus-api/domynus-api/src/LogSistemas.Domynus.Application.Core/Services/File/OracleObjectStorageService.cs:line 261
at LogSistemas.Domynus.Application.Core.Services.File.OracleObjectStorageService.DownloadFile(String key, String bucketName) in /home/runner/work/domynus-api/domynus-api/src/LogSistemas.Domynus.Application.Core/Services/File/OracleObjectStorageService.cs:line 106
at
I've received this error too: Name or service not known (objectstorage.sa-saopaulo-1.oraclecloud.com:443)
, under the same conditions, it rarely occurs.
Stack trace
StackTrace: at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.AddHttp11ConnectionAsync(HttpRequestMessage request)
at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.GetHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
at System.Net.Http.DiagnosticsHandler.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
at Oci.Common.Http.RestClient.HttpSend(HttpRequestMessage httpRequest, HttpCompletionOption completionOption, CancellationToken cancellationToken)
at Oci.ObjectstorageService.ObjectStorageClient.CreateBucket(CreateBucketRequest request, RetryConfiguration retryConfiguration, CancellationToken cancellationToken, HttpCompletionOption completionOption)
at LogSistemas.Domynus.Application.Core.Services.File.OracleObjectStorageService.ValidateBucket(String bucketName) in /home/runner/work/domynus-api/domynus-api/src/LogSistemas.Domynus.Application.Core/Services/File/OracleObjectStorageService.cs:line 260
I looked in the documentation to see how I could configure it to use services.AddHttpClient
but I couldn't find it.
Any suggestions for how to get around this?
Metadata
Metadata
Assignees
Labels
No labels