下面的图片是session过期那个异常又出现了
这个是threadlocal封装了session 能告诉我们 问题出现在哪里了吗?现在很急
你这个错误码为-5在服务端就不可能返回这个,上面已经让你把今天的日志贴出来,但是你到现在都没有贴出今天的日志,麻烦你先把服务端今天的日志先贴出来。
你上面说有的时候session为null,你这代码就是我说的上面的问题,getSession 失败了,你的代码catch了异常之后只是打印然后又继续往下走,所以你的session1用的就是初始化为null的session,而不是getSession这个给你返回一个null对象。麻烦你自己看看代码。
你的日志并发数这么多,你框的打印不一定是你异常的连接的那个,你把你池init的代码发下,graphd的日志整个上传,不要截图一部分。首先从服务端代码,客户端做 authenticate 的时候,服务端就不可能返回错误码为-5,没有代码会返回这个,所以为什么你的客户端拿到这个错误,这个怎么都解释不通,除非你们自己改了服务端端代码。
没有更改服务端代码,日志已上传,如上
我是让你贴你们代码初始化池的配置呀
我大概知道问题了,我看了服务端日志,服务端有打印 Session not found, id[2191],你们在一秒钟内大量申请session然后释放,2.0.0的java client的release是有问题的,没有把connection只为null,所以当你release的时候,然后你外面有可能接着用这个session的时候,但是这个session的持有的连接已经放回池里,所以你外部去用的时候也没有报错,但是池认为这个连接是释放的,所以分配给其他session,这样就会有多个session共用同个连接的时候,所以会出现你拿session的时候消息错掉了,auth拿到的是execute的消息,但是session已经是释放的,所以拿到的消息是invalid_session_id。所以你那边有可能是session调用release后还在接着用,所以出现这种情况了,当然客户端的这个版本也是有bug的,它应该报错的。
您好,请问一下,上述的问题什么时候会修复呢。有什么解决办法呢。
主线已经修过了,但是你们使用也有问题,因为你们使用了被release的session。假如你们更新新版本,你们的代码也要改的。假如你自己验证,那么你直接修改你依赖的客户端代码,在java-client的release函数里面最后加一行代码 connection == null
现在加上了 但是依然报这个错
你这个是超时了,超时可能是服务端那边并发数太多处理不过来,我看你上面发的日志,你一秒钟很多请求,你可以减少下并发数。一个连接一直在切换space,你们写的代码也有问题,为啥不停的切spae。这样增加了graph消息处理,所以超时了。
大佬,也是第一次使用nebula,在demo里没有看到怎么在一个space里一直执行ngql, 所以在每个ngql前面加了一个这个,大佬可以告诉我正确使用space的方式吗