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

@graphql-tools/merge 9.0.9 to 9.0.10 broke our build #6711

Open
1 of 4 tasks
ksullivanmcc opened this issue Nov 22, 2024 · 2 comments
Open
1 of 4 tasks

@graphql-tools/merge 9.0.9 to 9.0.10 broke our build #6711

ksullivanmcc opened this issue Nov 22, 2024 · 2 comments

Comments

@ksullivanmcc
Copy link

Issue workflow progress

Progress of the issue based on the
Contributor Workflow

  • 1. The issue provides a reproduction available on Github, Stackblitz or CodeSandbox

    Make sure to fork this template and run yarn generate in the terminal.

    Please make sure the GraphQL Tools package versions under package.json matches yours.

  • 2. A failing test has been provided
  • 3. A local solution has been provided
  • 4. A pull request is pending review

Describe the bug

It looks like the release that happened today created a failure. Our direct dependency is @graphql-tools/schema": "10.0.4". The failure is our runtime stalling.

To Reproduce Steps to reproduce the behavior:

We havn't changed any code on our end. Cut a new build today that started failing.

Expected behavior

Minor version change to not break our build.

Environment:

  • OS: Alpine Linux
  • @graphql-tools/schema: 10.0.4
  • NodeJS: 18

Additional context

Added the following, which fixed our build:

"overrides": {
    "@graphql-tools/merge": "9.0.9",
    "@graphql-tools/utils": "10.5.6"
  }
@ardatan
Copy link
Owner

ardatan commented Nov 22, 2024

Could you provide more detail? What is the error you have? What fails exactly? How can we produce?

@kbarnesMCC
Copy link

@ardatan Apologies for the lack of details; we were scrambling getting a patch in on Friday for our production systems and didn't have the bandwidth to dive in deep. Were hoping this might have been an easy potential miss but it really does seem buried as best as I can tell.

We've narrowed down the root cause on our end to @graphql-tools/utils@10.6.0 changes being incompatible with OpenTelemetry (our observability/instrumentation pack) and our loading sequence. Best speculation I can provide is that perhaps y'all are leaving a Promise or other event on the NodeJS stack open?

In particular; our loading sequence is as follows:
node --loader ./src/utilities/telemetry.js ./src/server.js

The ./src/utilities/telemetry.js file instruments all libraries, I believe y'alls in particular via @opentelemetry/instrumentation-graphql. We can attach breakpoints and observed that this file of ours does complete execution BUT the next file (e.g. ./src/server.js) DOES NOT start execution.

This, coupled with 10.6.0 doing things related to fake Promises; make me theorize that perhaps something isn't getting properly closed out so NodeJS is like "well there's still an open event/Promise coming from ./src/utilities/telemetry.js instrumentation of @graphql-tools/... so I'm not going to move on to ./src/server.js.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants