hasura / hasura/graphql-engine

Automatically retry remote schema introspection on failure

Open
#8,396 18 comments 25 reactions 0 assignees View on GitHub
k/enhancement t/gql-services
Dominant language
TypeScript
Stars
32.1k
Forks
3k
PR merge metrics
PR metrics pending

Description

### Is your proposal related to a problem?

On startup, and when metadata is reloaded, Hasura performs introspection requests against remote schemas.
This may fail for multiple reasons. A common failure mode is a CI/CD setup that updates hasura metadata at the same time as it updates the third party server that houses the remote schema. If that server is offline during that process, and takes longer than hasura to come online, hasura won't be able to introspect the schema and will start with a metadata inconsistency.

This issue can then be resolved by manually reloading the remote schema from the console. This is of course not an ideal experience from a UX point of view.

### Describe the solution you'd like

When remote schema introspection fails, hasura should periodically retry. Ideally the retry interval should be configurable.

### Describe alternatives you've considered

Users may instead perform their own healthchecks against their remote schemas, and trigger a hasura metadata reload when the schema comes back online. This however involves a lot of coding and is generally inconvenient.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.