nebula 版本:3.2.1(原版本3.0.2)
部署方式:分布式
安装方式:RPM
是否为线上版本:N
硬件信息
- Centos7.4 x86_64
- 3T普通磁盘
- 16核128gb
原使用3.0.2版本,升级3.2.1版本后,GET SUBGRAPH报错:failed: Auth failed: Insert userIpSessionCount to local cache failed.
相关的ngql :预先格式化的文本 GET SUBGRAPH WITH PROP 3 STEPS FROM '102_19050594-001_007_004' OUT COURSE_LEARN_PATH,LEARN_PATH_ANCHOR_POINT,ANCHOR_POINT_TOPIC YIELD VERTICES AS nodes, EDGES AS relationships;
traceId=294e2fd9-0be8-443c-abe9-db773e2a45c9;Execute: `GET SUBGRAPH WITH PROP 3 STEPS FROM 'xxxx' OUT COURSE_LEARN_PATH,LEARN_PATH_ANCHOR_POINT,ANCHOR_POINT_TOPIC YIELD VERTICES AS nodes, EDGES AS relationships;`, failed: Auth failed: Insert userIpSessionCount to local cache failed.
steam
2023 年2 月 17 日 05:22
3
用的是 studio 来连接 nebulagraph 报错了么?
不是的,是java Client 3.0.0连接执行的代码逻辑。
com.vesoft
client
3.0.0
感谢回答,nebula java client库建议 用什么版本 ?3.4.0吗?
大佬,麻烦分析检查下:failed: Auth failed: Insert userIpSessionCount to local cache failed. 这个日志,可能是哪块问题?
steam
2023 年2 月 17 日 07:06
8
版本对齐,如果你内核是 3.2 那客户端也用 3.2(注意这里要留意 studio,studio 3.x 版本和内核不对齐,参考下图)
你的报错信息大概是连接池有点问题,你试试客户端重新连接下内核看看。
亲,我这边情况是 java Client 3.0.0连接的 nebula graph社区版 3.2.1的三节点分布式。
3.2.1的nebula服务 我看了官方文档 如下:
NebulaGraph 版本 NebulaGraph Java 版本
3.2.1 3.0.0
看了Tags · vesoft-inc/nebula-java · GitHub 并没有NebulaGraph Java Client 3.2.x版本,请帮忙分析看下情况~~ 感谢
nicole
2023 年2 月 20 日 03:36
11
贴一下你的java代码,并确认下是在getSession报错 还是在执行语句时报错。
这个错误日志是服务端返回的,是创建session时进行session计数失败而返回的。
这个现象 也是偶现的,不好再次捕捉到。
目前我用3.4的nebula java client 链接 3.4nebula服务测试,运行几w次没有复现。
之前的情况是是nebula java client 3.0.0连接的 nebula graph社区版 3.2.1的三节点分布式。
还请大佬走 nebula服务端分析下。
目前这边客户端java代码看 异常捕捉 包含了getSession和 执行语句。
那就有可能 nebula服务端异常在 创建session阶段抛出。
nicole
2023 年2 月 20 日 09:05
14
你单独catch getSession语句吧,看看什么情况下会出现auth那个异常
亲,顺便问一下 nebula3.4.0社区版本,可以通过 nebula console命令 主动触发均衡分片分布的操作吗;或者说 如果ADD HOST后,原有的数据空间,能自动实现 节点的数据分片均衡吗?
可以的,配置里设enable_experimental_feature为1就可以用balance data了。
traceId=130de592-1a7d-4fca-b5ad-47307cce81b0;nebulaPool.getSession Error: Auth failed: Insert userIpSessionCount to local cache failed.
确实在getSession这块捕获到此异常。请帮忙再分析以下:
目前我用3.4的nebula java client 链接 3.4nebula服务测试。
maxConnSize=100
以下为默认
minConnSize=0
timeout=0
idleTime=0
intervalIdle=-1
waitTime=0
获取nebulaPool是直接参考官网样例的:
try {
List<HostAddress> addresses = Arrays.asList(graphProperties.getHosts().split(","))
.stream().map(item -> {
String ip = item.split(":")[0];
Integer port = Integer.parseInt(item.split(":")[1]);
return new HostAddress(ip, port);
}).collect(Collectors.toList());
NebulaPoolConfig nebulaPoolConfig = new NebulaPoolConfig();
nebulaPoolConfig.setMaxConnSize(graphProperties.getMaxConnSize());
nebulaPoolConfig.setMinConnSize(graphProperties.getMinConnSize());
nebulaPoolConfig.setTimeout(graphProperties.getTimeout());
nebulaPoolConfig.setIdleTime(graphProperties.getIdleTime());
nebulaPoolConfig.setIntervalIdle(graphProperties.getIntervalIdle());
nebulaPoolConfig.setWaitTime(graphProperties.getWaitTime());
NebulaPool pool = new NebulaPool();
pool.init(addresses, nebulaPoolConfig);
return pool;
} catch (Exception e) {
log.error("Nebula pool init error", e);
return null;
}
大佬,nebula 集群 从3.0.2升级到 3.2.1/3.4.0版本 均存在该问题;
如果用3.4.0 java client 连接 3.0.2 nebula集群,没有该问题,请提供解决方案~
感谢~~
GET SUBGRAPH报错:failed: Auth failed: Insert userIpSessionCount to local cache failed.
Aiee
2023 年3 月 6 日 03:30
20
和语句没关系, 3.1 引入了对用户/IP组合的 session 数限制 https://github.com/vesoft-inc/nebula/pull/3729 , 可能有些并发问题, 方便的话去提个 issue 吧