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

bump: grpc-core, grpc-interop-testing, ... 1.60.0 (was 1.58.0) #1884

Merged
merged 6 commits into from
Jan 22, 2024

Conversation

scala-steward
Copy link
Contributor

About this PR

📦 Updates

from 1.58.0 to 1.60.0

📜 GitHub Release Notes - Version Diff

Usage

Please merge!

I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.

If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.

Configure Scala Steward for your repository with a .scala-steward.conf file.

Have a fantastic day writing Scala!

🔍 Files still referring to the old version number

The following files still refer to the old version number (1.58.0).
You might want to review and update them manually.

benchmark-java/build.sbt
gradle-plugin/src/main/groovy/akka/grpc/gradle/AkkaGrpcPluginExtension.groovy
plugin-tester-java/pom.xml
plugin-tester-scala/pom.xml
sbt-plugin/src/sbt-test/gen-scala-server/00-interop/build.sbt
⚙ Adjust future updates

Add this to your .scala-steward.conf file to ignore future updates of this dependency:

updates.ignore = [ { groupId = "io.grpc" } ]

Or, add this to slow down future updates of this dependency:

dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "io.grpc" }
}]
labels: library-update, early-semver-minor, semver-spec-minor, old-version-remains, commit-count:1

@wim82
Copy link

wim82 commented Jan 9, 2024

It would be really nice if this PR could be looked at. We tried overriding io.grpc to 1.60 (because of different reasones) But it seems prepending "//" in NettyClientUtils is breaking a proper URI.
(

var builder =
NettyChannelBuilder
// Not sure why netty wants to be able to shoe-horn the target into a URI... but ok,
// we follow their lead and encode the service name as the 'authority' of the URI.
.forTarget("//" + settings.serviceName)
.flowControlWindow(NettyChannelBuilder.DEFAULT_FLOW_CONTROL_WINDOW)
// TODO avoid nameResolverFactory #1092, then 'nowarn' can be removed above
.nameResolverFactory(
new AkkaDiscoveryNameResolverProvider(
settings.serviceDiscovery,
settings.defaultPort,
settings.servicePortName,
settings.serviceProtocol,
settings.resolveTimeout))
)

When we build our client with akka-grpc 2.3.3 and io.grpc 1.60 we get

java.lang.IllegalArgumentException: requirement failed: target uri should not have null authority, got [http://///localhost]
	at scala.Predef$.require(Predef.scala:337)
	at akka.grpc.internal.AkkaDiscoveryNameResolverProvider.newNameResolver(AkkaDiscoveryNameResolverProvider.scala:29)
	at akka.grpc.internal.AkkaDiscoveryNameResolverProvider.newNameResolver(AkkaDiscoveryNameResolverProvider.scala:15)
	at io.grpc.internal.ManagedChannelImpl.getNameResolver(ManagedChannelImpl.java:756)
	at io.grpc.internal.ManagedChannelImpl.getNameResolver(ManagedChannelImpl.java:771)
	at io.grpc.internal.ManagedChannelImpl.<init>(ManagedChannelImpl.java:635)
	at io.grpc.internal.ManagedChannelImplBuilder.build(ManagedChannelImplBuilder.java:668)
	at io.grpc.ForwardingChannelBuilder2.build(ForwardingChannelBuilder2.java:260)
	at akka.grpc.internal.NettyClientUtils$.createChannel(NettyClientUtils.scala:102)
	at akka.grpc.internal.ChannelUtils$.create(ChannelUtils.scala:41)
	at akka.grpc.GrpcChannel$.apply(GrpcChannel.scala:57)

the 5 slashes in [http://///localhost] is kind of strange. we're looking a bit more into it

Copy link
Member

@octonato octonato left a comment

Choose a reason for hiding this comment

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

LGTM

@octonato octonato merged commit 855b65a into akka:main Jan 22, 2024
11 checks passed
@octonato octonato added this to the 2.4.1 milestone Jan 22, 2024
@rukmini-basu-da
Copy link

It would be really nice if this PR could be looked at. We tried overriding io.grpc to 1.60 (because of different reasones) But it seems prepending "//" in NettyClientUtils is breaking a proper URI. (

var builder =
NettyChannelBuilder
// Not sure why netty wants to be able to shoe-horn the target into a URI... but ok,
// we follow their lead and encode the service name as the 'authority' of the URI.
.forTarget("//" + settings.serviceName)
.flowControlWindow(NettyChannelBuilder.DEFAULT_FLOW_CONTROL_WINDOW)
// TODO avoid nameResolverFactory #1092, then 'nowarn' can be removed above
.nameResolverFactory(
new AkkaDiscoveryNameResolverProvider(
settings.serviceDiscovery,
settings.defaultPort,
settings.servicePortName,
settings.serviceProtocol,
settings.resolveTimeout))

)
When we build our client with akka-grpc 2.3.3 and io.grpc 1.60 we get

java.lang.IllegalArgumentException: requirement failed: target uri should not have null authority, got [http://///localhost]
	at scala.Predef$.require(Predef.scala:337)
	at akka.grpc.internal.AkkaDiscoveryNameResolverProvider.newNameResolver(AkkaDiscoveryNameResolverProvider.scala:29)
	at akka.grpc.internal.AkkaDiscoveryNameResolverProvider.newNameResolver(AkkaDiscoveryNameResolverProvider.scala:15)
	at io.grpc.internal.ManagedChannelImpl.getNameResolver(ManagedChannelImpl.java:756)
	at io.grpc.internal.ManagedChannelImpl.getNameResolver(ManagedChannelImpl.java:771)
	at io.grpc.internal.ManagedChannelImpl.<init>(ManagedChannelImpl.java:635)
	at io.grpc.internal.ManagedChannelImplBuilder.build(ManagedChannelImplBuilder.java:668)
	at io.grpc.ForwardingChannelBuilder2.build(ForwardingChannelBuilder2.java:260)
	at akka.grpc.internal.NettyClientUtils$.createChannel(NettyClientUtils.scala:102)
	at akka.grpc.internal.ChannelUtils$.create(ChannelUtils.scala:41)
	at akka.grpc.GrpcChannel$.apply(GrpcChannel.scala:57)

the 5 slashes in [http://///localhost] is kind of strange. we're looking a bit more into it

Were you able to get this working? We also get a similar error requirement failed: target uri should not have null authority, got [http://///localhost] when using GrpcClientSettings.connectToServiceAt("localhost", 9090).withTls(false)

@johanandren
Copy link
Member

You can't use Akka gRPC 2.3.3 together with 1.60 because of breaking changes in the underlying netty client behavior. You'll have to bump to Akka gRPC 2.4.1+ where that is fixed.

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

Successfully merging this pull request may close these issues.

5 participants