Open lzysuqianqiu opened 10 months ago
I checked it and found that commons pool was introduced directly and common-pool2 was introduced indirectly by jedis and dbcp2. But in any case, it is necessary to restrain the dependence to avoid a wider conflict, so I agree with you and you are more than welcome to participate in this.
我检查了一下,commons pool 是直接引入,common-pool2是被jedis,dbcp2间接引入。但无论如何,需要收敛依赖避免更大范围的冲突,所以我同意你的看法,也非常欢迎你参与到这里面来。
pelase assgin to me
我的本意是将版本统一到2.x,一方面是是间接依赖有依赖到2.x版本,不能exclude掉;另外一方面是1.x低版本应该升级到高版本,2.x高版本相比低版本,https://commons.apache.org/proper/commons-pool/ 有如下陈述,在性能和可扩展性和监控上有了提升。
The Apache Commons Pool open source software library provides an object-pooling API and a number of object pool implementations. Version 2 of Apache Commons Pool contains a completely re-written pooling implementation compared to the 1.x series. In addition to performance and scalability improvements, version 2 includes robust instance tracking and pool monitoring.
但是经过测试, 相同的case,2.x版本相比1.x版本,性能反而下降了3-4倍
Test case: 4c 16G for 20 thread 1、pool.borrowObject 2、Thread.sleep(10); 3、pool.returnObject
所以需要决策下,是否统一版本到2.x
另外我认为历史这里是销毁channel,应该是:invalidateObject,而非 returnObject :
io.seata.core.rpc.netty.NettyClientChannelManager#destroyChannel
seata-all contains common-pool2 and commons pool ,better use one