Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

graph check: operation timed out #792

Closed
Cellule opened this issue Sep 12, 2021 · 7 comments · Fixed by #838
Closed

graph check: operation timed out #792

Cellule opened this issue Sep 12, 2021 · 7 comments · Fixed by #838
Assignees
Labels
feature 🎉 new commands, flags, functionality, and improved error messages
Milestone

Comments

@Cellule
Copy link

Cellule commented Sep 12, 2021

Description

When running rover graph check against a graph with lots of metrics, the CLI times out.
I could however confirm the check completed and shown relevant errors on the website.
I tried reducing the validation-period to 1 week and it then worked as expected.
We are currently using the now deprecated apollo schema:check which works for the same validation period

Steps to reproduce

Not sure how to reproduce without my graph and the number of metrics, but here's the check in question if you can access it
The only change I made in my schema was to make an input field required
https://studio.apollographql.com/graph/MaintainX-API-Dev/operationsCheck/43f73be5-8316-4ce4-8a0e-ec2f7551d1d9?variant=production
Note it seems to take ~40s to run the check, so I'm guessing there's a 30s time out ?

Expected result

Expected the following but with a validation-period of 1 month

$ rover graph check -s ..\schema.gen.graphql MaintainX-API-Dev@production --validation-period 1w
Checking the proposed schema against metrics from MaintainX-API-Dev@production
Compared 1 schema changes against 941 operations
┌────────┬────────────────────────────────────┬────────────────────────────────────────────────────────────────────────┐
│ Change │                Code                │                              Description                               │
├────────┼────────────────────────────────────┼────────────────────────────────────────────────────────────────────────┤
│ FAIL   │ FIELD_ON_INPUT_OBJECT_CHANGED_TYPE │ field `CustomFieldFilter.in`: type `[String!]` changed to `[String!]!` │
└────────┴────────────────────────────────────┴────────────────────────────────────────────────────────────────────────┘
View full details at https://studio.apollographql.com/graph/MaintainX-API-Dev/operationsCheck/5b048a1b-a75b-41ca-b13d-a00eaf04128e?variant=production
error[E030]: This operation check has encountered 1 schema change that would break operations from existing client traffic.
              The changes in the schema you proposed are incompatible with graph MaintainX-API-Dev@production. See https://www.apollographql.com/docs/studio/schema-checks/ for more information on resolving operation check errors.

Actual result

$ rover graph check -s ..\schema.gen.graphql MaintainX-API-Dev@production
Checking the proposed schema against metrics from MaintainX-API-Dev@production
error[E004]: error sending request for url (https://graphql.api.apollographql.com/api/graphql): operation timed out

Caused by:
    operation timed out
              This error was unexpected! Please submit an issue with any relevant details about what you were trying to do: https://github.com/apollographql/rover/issues/new/choose

Environment

Rover Info:
Version: 0.2.0
Install Location: C:\projects\maintainx\backend\apollo-tooling\node_modules\binary-install\bin\rover.exe
OS: Windows 10.0.19042 (Windows 10 Pro) [64-bit]
Shell: Unknown
@Cellule Cellule added bug 🐞 triage issues and PRs that need to be triaged labels Sep 12, 2021
@rodneykeeling
Copy link

My team is also experiencing this issue. I tried submitting a support request to Apollo but received a 500 error when doing so.

@antiqe
Copy link

antiqe commented Sep 21, 2021

We experiment the same issue in our organisation, it seem to be linked to the size of the schema and the number of operations.

@EverlastingBugstopper

This comment has been minimized.

@EverlastingBugstopper EverlastingBugstopper added duplicate 🧑‍🤝‍🧑 issue or pull request already exists and removed bug 🐞 triage issues and PRs that need to be triaged labels Sep 21, 2021
@EverlastingBugstopper EverlastingBugstopper added bug 🐞 triage issues and PRs that need to be triaged and removed duplicate 🧑‍🤝‍🧑 issue or pull request already exists labels Sep 21, 2021
@EverlastingBugstopper
Copy link
Contributor

Sorry for closing this! This actually does seem to be unrelated to the current incident outlined in #834 - this is more due to the size of the query you're making as @antiqe calls out.

One thing I could see us doing to fix this is to split the requests for operations up into 1-week chunks and perform them all in parallel.

@Cellule
Copy link
Author

Cellule commented Sep 21, 2021

Would it be possible to provide a --timeout cli argument as well to wait longer for a request?
Of course doing the work in parallel/faster would be awesome, but having more flexibility on a timeout for the cli would be beneficial. Especially since it seems the request does not time out on the server as the results are available later online.

@EverlastingBugstopper EverlastingBugstopper removed the triage issues and PRs that need to be triaged label Sep 21, 2021
@EverlastingBugstopper EverlastingBugstopper added this to the v0.3.0 milestone Sep 21, 2021
@EverlastingBugstopper EverlastingBugstopper added feature 🎉 new commands, flags, functionality, and improved error messages 2021-09 and removed bug 🐞 labels Sep 21, 2021
@EverlastingBugstopper
Copy link
Contributor

I've opened a pull request that allows configuration of the timeout if you'd like to take a look 😄

@busches
Copy link

busches commented Sep 22, 2021

We're running into the same thing, but even at just one week. It will sometimes pass, but failing more often than it's passing right now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature 🎉 new commands, flags, functionality, and improved error messages
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants