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

Investigate slowdown through io.grpc version increment #383

Open
smcvb opened this issue Sep 20, 2024 · 2 comments
Open

Investigate slowdown through io.grpc version increment #383

smcvb opened this issue Sep 20, 2024 · 2 comments

Comments

@smcvb
Copy link
Contributor

smcvb commented Sep 20, 2024

Enhancement Description

Since axonserver-connector-java has incremented the io.grpc dependency from version 1.59.1 to version 1.65.1, we have noted slowdown within regular use of the connector (through for example Axon Framework).
We should investigate where the slowdown comes from and how we can resolve this.
Without resorting to a downgrade of the grpc-bom dependency.

Current Behaviour

Everything works with grpc-bom version 1.65.1, but there is a noticeable performance impact compared to version 1.59.1

Wanted Behaviour

Ensure the axonserver-connector-java does not have a performance penalty when using version 1.65.1 or higher of the grpc-bom dependency.

Possible Workarounds

Override the grpc-bom dependency to 1.59.1.

@adben002
Copy link

Could this be related to the protoc versions not aligning with the ones in the dependencies? Things like AbstractAsyncStub have been introduced by default into the generator.

With a change like:

<configuration>
<protocArtifact>com.google.protobuf:protoc:3.6.1:exe:${os.detected.classifier}</protocArtifact>
<pluginId>grpc-java</pluginId>
<pluginArtifact>io.grpc:protoc-gen-grpc-java:1.19.0:exe:${os.detected.classifier}</pluginArtifact>
<protoSourceRoot>${project.build.directory}/proto</protoSourceRoot>
</configuration>

⬇️

<configuration>
    <protocArtifact>com.google.protobuf:protoc:3.25.1:exe:${os.detected.classifier}</protocArtifact>
    <pluginId>grpc-java</pluginId>
    <pluginArtifact>io.grpc:protoc-gen-grpc-java:${grpc.version}:exe:${os.detected.classifier}</pluginArtifact>
    <protoSourceRoot>${project.build.directory}/proto</protoSourceRoot>
</configuration>

(btw, I found this when investigating if a dependent service could utilise protobuf v4)

@smcvb
Copy link
Contributor Author

smcvb commented Dec 23, 2024

That's a worthy path to try out, @adben002! Thanks for sharing that nugget of info with us.

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

No branches or pull requests

2 participants