[infinispan-dev] Best practices for Netty version clashes

Galder Zamarreño galder at redhat.com
Thu Feb 15 07:25:33 EST 2018


Hi,

I was playing around with GRPC for a talk next month and made a mistake
that threw me a little bit and wanted to share it here to see if we can
do something about it.

My demo uses GRPC and Infinispan embedded cache (9.2.0.CR1), so I added
my GRPC dependencies and Infinispan bom dependency [1].

This combo resulted in breaking my GRPC demos.

The bom imports Netty 4.1.9.Final while GRPC requires 4.1.17.Final. The
dependency tree showed GRPC using 4.1.9.Final which lead to the
failure. This failure does not seem present in 4.1.17.Final.

Should we have an embedded bom where no client libraries are depended
upon? This would work for my particular use case...

However, someone might develop a GRPC server (which I *think* it still
requires netty) and they could then use Infinispan remote client to
bridge over to Infinispan sever. For example: this could be way to move
clients over a new client while other clients use an older protocol.

How should a user solve this clash? I can only see exclusions and
depending on latest Netty version as solution. Any other solutions
though?

Cheers,

[1] https://gist.github.com/galderz/300cc2708eab76b9861985c216b90136


More information about the infinispan-dev mailing list