session 在服务器端已经过期甚至已经看不到了,但是客户端用这个session去查询返回值是成功这个科学么

提问参考模版:

  • nebula 版本:3.2.1
  • 部署方式:k8s
  • 问题的具体描述 开发一个实时应用去写nebula,一个线程拥有一个自己的session,当天应用跑
    是没问题的,但是第二天 服务器端session释放以后,客户端这边显示插入成功但是 nebula graph里面没有数据

    客户端这边 resultSet显示的返回值成功, 没有报E_SESSION_INVALID,否则会重建一个session;
    这边nebula graph是k8s部署,有一个lbs 对应着后面三台graphd的ip

这里的问题是 session 的问题还是插入数据查不到的问题?

能用 nebula-console 连接 graphd,查验一下数据吗?

1 个赞

检查了下,是java.net.socketexception:connection reset by peer, 我检查下了sockettimeout 已经设置成8 * 60 * 60 *1000了,有一个10分钟定时轮询的 任务总是会 报这个错误,这种在服务端有socket timeout 的配置么? 我的graph 配置显示这个session还是存在的

服务端关于 session 的配置只有下面两个选项:

https://github.com/vesoft-inc/nebula/blob/master/conf/nebula-graphd.conf.default#L55-L59

graph 现在 session 和 connection 做了分离,session 存在但是有可能 connection 断开了,可以检查一下客户端的 connection 是否还有可用的,比如 connection pool 中的 conn 的状态?

此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。