-
Notifications
You must be signed in to change notification settings - Fork 349
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
graphql query hang from browser and return error 504 Gateway Time-out after 18 minutes or so #7823
Comments
We got some reports like hanging requests on Node 20. And we found that node-libcurl package we use was causing that. And we have removed it in Mesh v0. Could you update it and try again? |
@ardatan Can you provide more context into the |
We were using node-libcurl as a HTTP Client. And we got some issues reported from our users that Mesh sometimes hangs on requests to the upstream services on Node 20. Then we removed it, and the issues have been solved. |
okay great because we've also been observing this hanging behaviour (we are also on node v20 currently and |
@ardatan checked changelog, your commit looks go to please confirm, thanks! |
@rxwang662001 Similar to what I said above, you can just update the versions you have in package.json, and try again. |
Issue workflow progress
Progress of the issue based on the
Contributor Workflow
Github,
Stackblitz
or
CodeSandbox
Describe the bug
for some graphql query from browser url like server:port/graphql?query=query+MyQuery
sometimes the query shall hang about 18 minutes also and received an error "504 Gateway Time-out"
if checking the graphql server log i could see actually the query has already got the feedback in 10 minutes from its configured source handler.
from the graphql server log i could see query results like below:
=> Received {
...
Returning {
....
Adding response metadata to the response object
....
but the browser never get any response until timeout.
i searched this repo and see above log is from
packages/transports/rest/src/directives/httpOperation.ts
operationLogger.debug(
Adding response metadata to the response object
);return Array.isArray(responseJson)
? responseJson.map(obj => addResponseMetadata(obj))
: addResponseMetadata(responseJson);
};
i doubt there maybe issue happened during addResponseMetadata in here.
but since from the log there is no any error showing, so not sure how to debug it.
Any advice for such issue? thanks.
To Reproduce Steps to reproduce the behavior:
Expected behavior
Environment:
@graphql-mesh/...
:-import { createServer } from 'node:http';
import { createMeshHTTPHandler } from '@graphql-mesh/http';
const meshHTTPHandler = createMeshHTTPHandler({
baseDir,
}
const server = createServer(meshHTTPHandler);
Additional context
The text was updated successfully, but these errors were encountered: