Upgrade grpc-swift-nio-transport to 2.9.0 and remove HTTP2ConnectBuff…#778
Conversation
…eringHandler workaround
There was a problem hiding this comment.
@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.|
@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. |
|
Ready to go. We're going to defer approve/merge until after container 1.1.0. |
|
@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. |
|
@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 |
|
@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. |
|
Thanks for the quick response! I'm running integration tests locally with both the containerization and container changes together. |
|
@adityabagchi24 Merged, thanks for your patience! |
|
@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. |
Upgrade grpc-swift-nio-transport to 2.9.0 and remove HTTP2ConnectBufferingHandler workaround
Release 2.9.0 of
grpc-swift-nio-transportfixes the HTTP/2 initialization race that required aHTTP2ConnectBufferingHandlerfor the vminitd API. This upgrades the dependency and eliminates the workaround.Fixes #776
Changes
Package.swift
grpc-swift-nio-transportfrom2.4.4to2.9.0Vminitd.swift
ClientBootstrap+HTTP2ConnectBufferingHandlerworkaround with the newHTTP2ClientTransport.WrappedChannel.wrapping(config:serviceConfig:)API usingwithCheckedThrowingContinuationinitfromthrowstoasync throwsGRPCNIOTransportHTTP2andNIOinstead ofGRPCNIOTransportCore+NIOCore+NIOPosixVZVirtualMachineInstance.swift
Vminitd(…)call sites to usetry awaitContainerTests.swift
Vminitd(…)call site to usetry awaitRemoved
HTTP2ConnectBufferingHandler.swift— no longer needed