tikv-java-client session 的getInstance方法禁止使用是出于什么考虑

请问下
https://github.com/tikv/client-java/pull/117 这个提交禁止掉getInstance方法是出于什么考虑啊,目前发现性能这块有点问题

如果我猜的没错,应该是引发了一些不可修复的 bug 所以才禁掉的~

您分享的代码中禁止getInstance方法的原因,代码本身并没有明确提及。 但是,我可以根据代码中所做的更改提供一些见解。

在原始代码中,Snapshot 类有两个构造函数,一个接受 TiConfiguration,另一个接受 TiSession。 两个构造函数都使用 TiSession 的 getInstance 方法初始化会话字段:

this.session = TiSession.getInstance(conf);
在更新的代码中,getInstance 方法被标记为已弃用,不再使用。 相反,会话字段是使用提供的 TiSession 对象直接分配的:

this.session = session;
弃用和禁止 getInstance 方法的原因可能是阻止使用静态方法创建 TiSession 的新实例,并促进使用依赖注入或其他管理 TiSession 实例的方法。

关于您提到的性能问题,请务必注意,您提供的代码中的更改与性能优化没有直接关系。 您遇到的性能问题可能是由您的代码库或环境中的其他因素引起的。 有必要分析和描述您的特定用例,以确定性能问题的根本原因。

我建议使用性能分析工具和性能监控来分析性能瓶颈,例如数据库查询、网络通信或资源利用率。 您还可以考虑查看 TiDB 和 TiKV 配置设置,确保它们针对您的工作负载进行了适当优化。 升级到包含性能改进的较新版本的 TiDB 也可能是有益的。