Skip to content

Hive Gateway v2 #956

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

Draft
wants to merge 17 commits into
base: main
Choose a base branch
from
Draft

Hive Gateway v2 #956

wants to merge 17 commits into from

Conversation

EmrysMyrddin
Copy link
Collaborator

No description provided.

@Copilot Copilot AI review requested due to automatic review settings March 27, 2025 13:24
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR introduces the v2.0.0 release of the @graphql-hive/gateway package with significant improvements to OpenTelemetry instrumentation and upstream retry functionality. Key changes include a rework of upstream retry handling with new types and symbols, enhancements to tracing spans with updated context propagation and attributes, and updates to e2e tests to reflect new span expectations.

Reviewed Changes

Copilot reviewed 20 out of 22 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
packages/runtime/src/plugins/useUpstreamTimeout.ts Simplified upstream timeout handling by removing the combined signal.
packages/runtime/src/plugins/useUpstreamRetry.ts Introduced RETRY_SYMBOL and helper functions for upstream retry with improved type definitions and executor adjustments.
packages/runtime/src/index.ts Updated exports to include new retry-related functions.
packages/plugins/opentelemetry/** Overhauled several utilities and span creation functions to improve OpenTelemetry trace context propagation and attribute setting.
packages/plugins/hmac-upstream-signature/src/index.ts Simplified updating of executionRequest.extensions by removing the setExecutionRequest helper.
packages/fusion-runtime/** Updated executor wrapping to integrate new instrumentation handling and unified graph manager changes.
e2e/opentelemetry/** & e2e/cloudflare-workers/** Adjusted test expectations and minor numeric literal formatting improvements.
.changeset/pink-sloths-mate.md Documented breaking changes and improvements for the OpenTelemetry integration.
Files not reviewed (2)
  • package.json: Language not supported
  • packages/plugins/opentelemetry/package.json: Language not supported
Comments suppressed due to low confidence (1)

packages/plugins/opentelemetry/src/spans.ts:280

  • The conditional check does not currently handle cases where the execution result is an async iterable. Consider extending the logic to properly handle async iterable results or update the comment if this behavior is intentional.
if (!isAsyncIterable(result) && result.errors && result.errors.length > 0) {

@EmrysMyrddin EmrysMyrddin marked this pull request as draft March 27, 2025 13:25
@theguild-bot
Copy link
Collaborator

theguild-bot commented Mar 27, 2025

🚀 Snapshot Release (alpha)

The latest changes of this PR are available as alpha on npm (based on the declared changesets):

Package Version Info
@graphql-tools/batch-delegate 9.0.37-alpha-cf354599f0bca73b6f8b010a6747e42a17ef20d7 npm ↗︎ unpkg ↗︎
@graphql-tools/batch-execute 9.0.17-alpha-cf354599f0bca73b6f8b010a6747e42a17ef20d7 npm ↗︎ unpkg ↗︎
@graphql-tools/delegate 10.2.19-alpha-cf354599f0bca73b6f8b010a6747e42a17ef20d7 npm ↗︎ unpkg ↗︎
@graphql-tools/executor-http 2.0.2-alpha-cf354599f0bca73b6f8b010a6747e42a17ef20d7 npm ↗︎ unpkg ↗︎
@graphql-tools/federation 3.2.3-alpha-cf354599f0bca73b6f8b010a6747e42a17ef20d7 npm ↗︎ unpkg ↗︎
@graphql-mesh/fusion-runtime 0.11.14-alpha-cf354599f0bca73b6f8b010a6747e42a17ef20d7 npm ↗︎ unpkg ↗︎
@graphql-hive/gateway 1.14.3-alpha-cf354599f0bca73b6f8b010a6747e42a17ef20d7 npm ↗︎ unpkg ↗︎
@graphql-hive/nestjs 1.0.14-alpha-cf354599f0bca73b6f8b010a6747e42a17ef20d7 npm ↗︎ unpkg ↗︎
@graphql-hive/plugin-aws-sigv4 1.0.11-alpha-cf354599f0bca73b6f8b010a6747e42a17ef20d7 npm ↗︎ unpkg ↗︎
@graphql-mesh/plugin-opentelemetry 2.0.0-alpha-cf354599f0bca73b6f8b010a6747e42a17ef20d7 npm ↗︎ unpkg ↗︎
@graphql-mesh/plugin-prometheus 1.3.46-alpha-cf354599f0bca73b6f8b010a6747e42a17ef20d7 npm ↗︎ unpkg ↗︎
@graphql-hive/gateway-runtime 1.9.0-alpha-cf354599f0bca73b6f8b010a6747e42a17ef20d7 npm ↗︎ unpkg ↗︎
@graphql-tools/stitch 9.4.24-alpha-cf354599f0bca73b6f8b010a6747e42a17ef20d7 npm ↗︎ unpkg ↗︎
@graphql-tools/stitching-directives 3.1.34-alpha-cf354599f0bca73b6f8b010a6747e42a17ef20d7 npm ↗︎ unpkg ↗︎
@graphql-mesh/transport-http 0.6.42-alpha-cf354599f0bca73b6f8b010a6747e42a17ef20d7 npm ↗︎ unpkg ↗︎
@graphql-mesh/transport-http-callback 0.6.1-alpha-cf354599f0bca73b6f8b010a6747e42a17ef20d7 npm ↗︎ unpkg ↗︎
@graphql-tools/wrap 10.0.37-alpha-cf354599f0bca73b6f8b010a6747e42a17ef20d7 npm ↗︎ unpkg ↗︎

@theguild-bot
Copy link
Collaborator

theguild-bot commented Mar 27, 2025

🚀 Snapshot Release (Binary for Linux-ARM64)

The latest changes of this PR are available for download (based on the declared changesets).

Download

@theguild-bot
Copy link
Collaborator

theguild-bot commented Mar 27, 2025

🚀 Snapshot Release (Binary for Linux-X64)

The latest changes of this PR are available for download (based on the declared changesets).

Download

@theguild-bot
Copy link
Collaborator

theguild-bot commented Mar 27, 2025

🚀 Snapshot Release (Binary for macOS-ARM64)

The latest changes of this PR are available for download (based on the declared changesets).

Download

@theguild-bot
Copy link
Collaborator

theguild-bot commented Mar 27, 2025

🚀 Snapshot Release (Node Docker Image)

The latest changes of this PR are available as image on GitHub Container Registry (based on the declared changesets):

ghcr.io/graphql-hive/gateway:1.14.3-alpha-cf354599f0bca73b6f8b010a6747e42a17ef20d7

@theguild-bot
Copy link
Collaborator

theguild-bot commented Mar 27, 2025

🚀 Snapshot Release (Bun Docker Image)

The latest changes of this PR are available as image on GitHub Container Registry (based on the declared changesets):

ghcr.io/graphql-hive/gateway:1.14.3-alpha-cf354599f0bca73b6f8b010a6747e42a17ef20d7-bun

@theguild-bot
Copy link
Collaborator

theguild-bot commented Mar 27, 2025

🚀 Snapshot Release (Binary for macOS-X64)

The latest changes of this PR are available for download (based on the declared changesets).

Download

@theguild-bot
Copy link
Collaborator

theguild-bot commented Mar 27, 2025

🚀 Snapshot Release (Binary for Windows-X64)

The latest changes of this PR are available for download (based on the declared changesets).

Download

@EmrysMyrddin EmrysMyrddin force-pushed the v2 branch 3 times, most recently from b726aed to 376b8e3 Compare March 27, 2025 22:55
@enisdenjo enisdenjo changed the title 🚧 @graphql-hive/gateway v2.0.0 🚧 Hive Gateway v2 Apr 8, 2025
@enisdenjo enisdenjo force-pushed the v2 branch 2 times, most recently from 7ac617e to 3563e2b Compare April 11, 2025 17:50
@enisdenjo enisdenjo force-pushed the v2 branch 4 times, most recently from b561837 to 2db2c99 Compare April 21, 2025 12:30
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

Successfully merging this pull request may close these issues.

4 participants