Skip to content

Resource temporarily unavailable  #280

@fernandocristan

Description

@fernandocristan

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

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions