sofastack / sofa-jraft

A production-grade java implementation of RAFT consensus algorithm.
https://www.sofastack.tech/projects/sofa-jraft/
Apache License 2.0
3.53k stars 1.12k forks source link

Jraft blot 和grpc-rpc-impl冲突,在exclude blot后, 某种情况下出现ClassNotFound错误导致部分元数据异常。 #970

Closed KomachiSion closed 1 year ago

KomachiSion commented 1 year ago

Describe the bug

根据

排查的结论。

bolt应该是sofa中一个类似grpc的rpc实现,底层应该是hessian序列化+netty自研,是jraft集群见默认的通信实现。 后因实现了grpc-rpc-impl, 在通过SPI进行加载,不exclude的话,否则应该会默认使用bolt通信。

同时这对于nacos这种已经依赖grpc的服务,多依赖一份bolt和grpc会很臃肿且容易出现冲突问题。

但exclude的话,又在某些情况下出现了ClassNotFound的问题,https://github.com/sofastack/sofa-jraft/issues/952

Expected behavior

将一些通用的依赖内容,单独抽一个依赖包,将bolt和grpc-rpc-impl彻底作为两个实现分离,使得在选择grpc-rpc-impl时不再出现https://github.com/sofastack/sofa-jraft/issues/952问题。

Actual behavior

https://github.com/sofastack/sofa-jraft/issues/952

Other

或者能够提供一种方式,能够在使用grpc-rpc-impl的情况下,不出现https://github.com/sofastack/sofa-jraft/issues/952 问题且不引入hessain的不需要的实现。

fengjiachun commented 1 year ago

但exclude的话,又在某些情况下出现了ClassNotFound的问题,https://github.com/sofastack/sofa-jraft/issues/952

这应该是 jraft 旧版本的问题,新版本应该没有这个问题,应该可以直接 exclude bolt

guozongkang commented 3 weeks ago

但exclude的话,又在某些情况下出现了ClassNotFound的问题,#952 。

这应该是 jraft 旧版本的问题,新版本应该没有这个问题,应该可以直接 exclude bolt

为什么说应该没这个问题,如果没这个问题的话,那jraft是什么版本解决的呢? 我没有看到

fengjiachun commented 3 weeks ago

但exclude的话,又在某些情况下出现了ClassNotFound的问题,#952 。

这应该是 jraft 旧版本的问题,新版本应该没有这个问题,应该可以直接 exclude bolt

为什么说应该没这个问题,如果没这个问题的话,那jraft是什么版本解决的呢? 我没有看到

https://github.com/sofastack/sofa-jraft/issues/952#issuecomment-1501060712

guozongkang commented 3 weeks ago

但exclude的话,又在某些情况下出现了ClassNotFound的问题,#952 。

这应该是 jraft 旧版本的问题,新版本应该没有这个问题,应该可以直接 exclude bolt

为什么说应该没这个问题,如果没这个问题的话,那jraft是什么版本解决的呢? 我没有看到

#952 (comment)

我就是从这个Issue过来的,里面没有提到如何解决。 jraft社区也没有

fengjiachun commented 3 weeks ago

但exclude的话,又在某些情况下出现了ClassNotFound的问题,#952 。

这应该是 jraft 旧版本的问题,新版本应该没有这个问题,应该可以直接 exclude bolt

为什么说应该没这个问题,如果没这个问题的话,那jraft是什么版本解决的呢? 我没有看到

#952 (comment)

我就是从这个Issue过来的,里面没有提到如何解决。 jraft社区也没有

注意我给你的链接指到了的具体的 comment

fengjiachun commented 3 weeks ago

搬运下:

image