nebula 版本:3.1
部署方式:分布式
安装方式:RPM
是否为线上版本:Y
硬件信息
磁盘 SSD
CPU、内存信息
问题
导入大量数据时,会发生【nebula3.Exception.NotValidConnectionException】。出现过两次,第一次 config.max_connection_pool_size 设定的是10,后来将它调大至30,又发生同样的错误(较第一次次,改善好多了)。请问下,这个参数最大调多少合适。
获取session使用的是上下文的方式,是会自动释放的。
代码
# 连接池配置
def create_nebula_connect_pool():
config = Config()
config.max_connection_pool_size = 30
connection_pool = ConnectionPool()
connection_pool.init(NEBULA_HOSTS_FOR_POOL, config)
return connection_pool
# 使用方式
with nebula_conn_pool.session_context(self.user, self.pwd) as nebula_client:
resp = nebula_client.execute(
f"USE {NEBULA_SPACE_NAME};"
f"{insert_sql}"
)
错误日志
with nebula_conn_pool.session_context(self.user, self.pwd) as nebula_client:
│ │ │ │ │ └ 'XXX'
│ │ │ │ └ <application.graph.graphautosync.nebulatools.nebulafactory.NebulaFactory object at 0x7fbe960a5110>
│ │ │ └ 'root'
│ │ └ <application.graph.graphautosync.nebulatools.nebulafactory.NebulaFactory object at 0x7fbe960a5110>
│ └ <function ConnectionPool.session_context at 0x7fbe8238eb90>
└ <nebula3.gclient.net.ConnectionPool.ConnectionPool object at 0x7fbe8234e990>
File "/opt/anaconda3/envs/stpython/lib/python3.7/contextlib.py", line 112, in __enter__
return next(self.gen)
│ └ <generator object ConnectionPool.session_context at 0x7fbc083436d0>
└ <contextlib._GeneratorContextManager object at 0x7fbe7b765650>
File "/opt/anaconda3/envs/stpython/lib/python3.7/site-packages/nebula3/gclient/net/ConnectionPool.py", line 130, in session_context
session = self.get_session(*args, **kwargs)
│ │ │ └ {}
│ │ └ ('root', 'XXX')
│ └ <function ConnectionPool.get_session at 0x7fbe8238ea70>
└ <nebula3.gclient.net.ConnectionPool.ConnectionPool object at 0x7fbe8234e990>
File "/opt/anaconda3/envs/stpython/lib/python3.7/site-packages/nebula3/gclient/net/ConnectionPool.py", line 107, in get_session
raise NotValidConnectionException()
└ <class 'nebula3.Exception.NotValidConnectionException'>
nebula3.Exception.NotValidConnectionException