Skip to content

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

Merged
jglogan merged 5 commits into
apple:mainfrom
adityabagchi24:main
Jul 7, 2026
Merged

Upgrade grpc-swift-nio-transport to 2.9.0 and remove HTTP2ConnectBuff…#778
jglogan merged 5 commits into
apple:mainfrom
adityabagchi24:main

Conversation

@adityabagchi24

Copy link
Copy Markdown
Contributor

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
Contributor 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
Contributor 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.

@jglogan

jglogan commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

@adityabagchi24 Well that took a while, sorry. Had to rework our integration tests on the container side. Sorry for the wait.

Could you rebase this and add await to the two Vminitd() calls in CHVirtualMachineInstance.swift, and push again? Thank you!

@adityabagchi24

Copy link
Copy Markdown
Contributor Author

@jglogan No need to feel sorry. I know you must be busy in the container 1.1.0 release. No problem. I have done the changes you have requested. Also for the related change in apple container repository apple/container#1790, I have cleared out the merge conflict. Please check these changes out.

@jglogan

jglogan commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Thanks for the quick response! I'm running integration tests locally with both the containerization and container changes together.

@jglogan jglogan merged commit 7aa4e72 into apple:main Jul 7, 2026
5 checks passed
@jglogan

jglogan commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

@adityabagchi24 Merged, thanks for your patience!

@adityabagchi24

Copy link
Copy Markdown
Contributor Author

@jglogan Thank you so much for your cooperation and patience throughout the process of merging my PR. I truly appreciate your support. Please feel free to reach out if there's ever anything I can assist you with in the future.

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