[Infra] Change order of the errors shown on Infra pages (#200531)

Closes #200190 

## Summary

This PR fixes the issue with the errors shown on the metrics explorer
page - when the metrics indices can't be fetched we should show the
error returned and if there is no fetch error and a remote cluster
configured but no connection is possible we should show the remote
cluster error:

- Example with 504 error 

![image](https://github.com/user-attachments/assets/65cd8226-8c81-4c64-b043-c9db5a93d3e0)

- Example with remote cluster error

![image](https://github.com/user-attachments/assets/e024a3f8-76e0-4ad7-8aa6-e35ad5c1112a)


## Testing
Couldn't find a way to reproduce this so I "faked" the API response to
be an error and checked several cases
- API returns an error, we should show the error:


https://github.com/user-attachments/assets/c1086b22-1ff5-4333-97a5-b3d1dca16afe


- API doesn't return an error but the remote cluster connection wasn't
possible, we should show the remote cluster error:


https://github.com/user-attachments/assets/151b3ae4-5ca1-4d54-bd58-2729db202cdb


- If no remote cluster is used/or a remote cluster is connected and the
API response is not returning an error the page should load correctly:


https://github.com/user-attachments/assets/f9ef1066-3dfd-4957-8b46-878bf58d2f1c
This commit is contained in:
jennypavlova 2024-11-18 13:30:32 +01:00 committed by GitHub
parent 47100291a8
commit 46d4c84f2c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -98,12 +98,12 @@ export const InfraPageTemplate = ({
});
}, [hasData, setScreenContext, source]);
if (!isSourceLoading && !remoteClustersExist) {
return <NoRemoteCluster />;
if (sourceError) {
return <SourceErrorPage errorMessage={sourceError} retry={loadSource} />;
}
if (sourceError) {
<SourceErrorPage errorMessage={sourceError} retry={loadSource} />;
if (!isSourceLoading && !remoteClustersExist) {
return <NoRemoteCluster />;
}
if (dataViewLoadError) {