fix: check for gateway backend online without http request (#10924)

fixes #10921
This commit is contained in:
Harshavardhana
2020-11-19 10:38:02 -08:00
committed by GitHub
parent d778d9493f
commit 0f9e125cf3
4 changed files with 20 additions and 18 deletions

View File

@@ -212,7 +212,7 @@ func (g *Azure) NewGatewayLayer(creds auth.Credentials) (minio.ObjectLayer, erro
client := azblob.NewServiceURL(*endpointURL, pipeline)
return &azureObjects{
endpoint: endpointURL.String(),
endpoint: endpointURL,
httpClient: httpClient,
client: client,
metrics: metrics,
@@ -424,7 +424,7 @@ func azurePropertiesToS3Meta(meta azblob.Metadata, props azblob.BlobHTTPHeaders,
// azureObjects - Implements Object layer for Azure blob storage.
type azureObjects struct {
minio.GatewayUnsupported
endpoint string
endpoint *url.URL
httpClient *http.Client
metrics *minio.Metrics
client azblob.ServiceURL // Azure sdk client
@@ -553,7 +553,11 @@ func (a *azureObjects) Shutdown(ctx context.Context) error {
// StorageInfo - Not relevant to Azure backend.
func (a *azureObjects) StorageInfo(ctx context.Context, _ bool) (si minio.StorageInfo, _ []error) {
si.Backend.Type = minio.BackendGateway
si.Backend.GatewayOnline = minio.IsBackendOnline(ctx, a.httpClient, a.endpoint)
host := a.endpoint.Host
if a.endpoint.Port() == "" {
host = a.endpoint.Host + ":" + a.endpoint.Scheme
}
si.Backend.GatewayOnline = minio.IsBackendOnline(ctx, host)
return si, nil
}