Skip to content

Upgrade grpc-swift-nio-transport to 2.9.0 and remove HTTP2ConnectBuff…#778

Open
adityabagchi24 wants to merge 3 commits into
apple:mainfrom
adityabagchi24:main
Open

Upgrade grpc-swift-nio-transport to 2.9.0 and remove HTTP2ConnectBuff…#778
adityabagchi24 wants to merge 3 commits into
apple:mainfrom
adityabagchi24:main

Conversation

@adityabagchi24

Copy link
Copy Markdown

Upgrade grpc-swift-nio-transport to 2.9.0 and remove HTTP2ConnectBufferingHandler workaround

Release 2.9.0 of grpc-swift-nio-transport fixes the HTTP/2 initialization race that required a HTTP2ConnectBufferingHandler for the vminitd API. This upgrades the dependency and eliminates the workaround.

Fixes #776

Changes

Package.swift

  • Upgraded grpc-swift-nio-transport from 2.4.4 to 2.9.0

Vminitd.swift

  • Replaced the ClientBootstrap + HTTP2ConnectBufferingHandler workaround with the new HTTP2ClientTransport.WrappedChannel.wrapping(config:serviceConfig:) API using withCheckedThrowingContinuation
  • Changed init from throws to async throws
  • Updated imports: GRPCNIOTransportHTTP2 and NIO instead of GRPCNIOTransportCore + NIOCore + NIOPosix

VZVirtualMachineInstance.swift

  • Updated two Vminitd(…) call sites to use try await

ContainerTests.swift

  • Updated Vminitd(…) call site to use try await

Removed

  • HTTP2ConnectBufferingHandler.swift — no longer needed

@jglogan jglogan left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@adityabagchi24 I think you need to run swift package resolve down in the vminitd directory and push the change:

error: an out-of-date resolved file was detected at /Users/runner/actions-runner/_work/containerization/containerization/vminitd/Package.resolved, which is not allowed when automatic dependency resolution is disabled; please make sure to update the file to reflect the changes in dependencies. Running resolver because requirements have changed.

@adityabagchi24

Copy link
Copy Markdown
Author

@jglogan I ran swift package resolve in the vminitd/ directory and pushed the updated Package.resolved. The vminitd sub-package now pins grpc-swift-nio-transport at 2.9.0, matching the root package.

@adityabagchi24 adityabagchi24 requested a review from jglogan June 25, 2026 16:07
@jglogan

jglogan commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Ready to go. We're going to defer approve/merge until after container 1.1.0.

@adityabagchi24

Copy link
Copy Markdown
Author

@jglogan Thank you for the update! Sounds good to me. I completely understand deferring the approval and merge until after container 1.1.0. I appreciate your time and consideration throughout this process, and I’m looking forward to the merge after the release. Please let me know if I can help with anything in the meantime.

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.

[Request]: Upgrade grpc-swift-nio-transport and remove HTTP2ConnectBufferingHandler.

2 participants