目前客户端都是非线程安全的,是否可以修改下

目前客户端都是非线程安全的,是否可以修改下

这个每个语言版本都会遇到,现在client功能比较薄,这块目前我们开始有同事集中去推进了,应该会建立一个数据库client标准,比如连接池池的管理,重连等,然后具体落实到各个语言版本,包括python的。

BTW,如果你觉得回复有用的话,可以将它标记为【解决方案】,这样后来的社区小伙伴也能直接看到这个问题对应的解决方法哈~

image.png

1 个赞

您好,可以具体问一下nebula的线程不安全,都具体是哪些地方呢,对其他模块有什么影响啊,如果我现在要使用的话,等不到发解决了这一问题的版本,要自己解决该问题的话,主要着手哪些方面比较好啊,期待您的回答

mk

主要就是你需要自行维护连接池的逻辑,具体的你可以再网上搜到相关资料的,比如:

  1. 数据库连接池的实现
  2. 比如参考sqlite如何做到线程安全
    因为都是数据库,涉及客户端与服务之间的连接处理是相似的,网上有很多资料可以提供一些思路,希望能帮助你。

另外,目前我们已经在开发有相关功能不同语言的新版本client,还需要一段时间,敬请期待:handshake:

嗯嗯,那就是客户端在数据库连接池管理部分是非线程安全的,还有别的地方吗,因为项目需要用,目前处于调研阶段,还没进入实用阶段,对nebula的具体使用不是很了解,麻烦您给解答一下,辛苦了

客户端不是线程安全,不要并发使用一个客户端就行。服务端肯定是线程安全。

看有人说数据库连接池那儿也有可能产生线程安全问题是吗,这个是数据库都有的问题,不是nebula独有的吧,除了并发产生的不安全问题以外,还有别的地方有可能产生线程安全问题吗,麻烦您了

连接池没有线程安全问题

嗯嗯,非常感谢,我还看到贵公司正在研发解决线程安全问题,请问有具体的计划吗,就哪个版本可以解决这个问题,大概什么时候发版本呢,嘿嘿,期待

@jude-zhu

感谢你的提问,1.0的客户端是不打算增加线程安全的,2.0的是否要增加线程安全,这个我们内部会讨论确定是否要做。

哈哈,我看去年5月有说之后得版本可能会解决这个问题,是不是有很大得可能是放弃这一点了呢,感谢