ngbatis icon indicating copy to clipboard operation
ngbatis copied to clipboard

How to print NebulaGraph query failures?

Open zhangxk-ocean opened this issue 2 years ago • 20 comments

现在执行nGQL报错后,都是一种报错 image 很难排查是哪里的原因

zhangxk-ocean avatar May 23 '23 09:05 zhangxk-ocean

是用了 1.1.2 的版本,并且 nebula.ngbatis.use-session-pool: true 了吗

CorvusYe avatar May 23 '23 09:05 CorvusYe

nebula.ngbatis.use-session-pool: true这个配置没有加

zhangxk-ocean avatar May 23 '23 09:05 zhangxk-ocean

加上这个配置,还是报一样的错

zhangxk-ocean avatar May 23 '23 09:05 zhangxk-ocean

这个配置在 1.1.2 会报一个 null 的错,不过是 sessionPool 相关的,刚刚只是确认下。

现在执行nGQL报错后,都是一种报错 image 很难排查是哪里的原因

这个调用栈看着不太对劲,unknown source 下一行应该调用的是 51行的 MapperProxy.invoke,报到第 72 行是有点奇怪。 这个时候 asm-debug 有了吧,可以看看对应的方法里是怎么样的,

CorvusYe avatar May 23 '23 09:05 CorvusYe

这样的 image

72行报错是这个 image

zhangxk-ocean avatar May 23 '23 09:05 zhangxk-ocean

那你帮断点看下具体是哪个空了,回头我把详细的报错信息补上

CorvusYe avatar May 23 '23 09:05 CorvusYe

当然,直接提PR更好~哈哈哈😀

CorvusYe avatar May 23 '23 10:05 CorvusYe

不行,直接到这报错的,不知道上一步是哪

zhangxk-ocean avatar May 23 '23 10:05 zhangxk-ocean

https://graph-cn.github.io/ngbatis-docs/step-forward-docs/advanced-configuration.html

执行打印的配置

CorvusYe avatar May 23 '23 10:05 CorvusYe

翻了下,72行这个接口现在的版本并没有直接使用,包括代理类用的也不是这个 因为是公开方法,担心有项目会直接用,只是早期 api 的一个遗留 调用到这里属实有点不好理解

CorvusYe avatar May 23 '23 10:05 CorvusYe

怎么更换1.2.0版本的呢,我加上repositories标签后,不走repositories标签,还是去从私服拉取依赖,结果就是拉取不到

zhangxk-ocean avatar May 23 '23 11:05 zhangxk-ocean

跟 settings.xml 是不是有点关系.. demo 这么写 workflow 是能跑通 https://github.com/nebula-contrib/ngbatis/blob/8b6b9d5d3d52a3ce5359a8165d947f2610185f10/ngbatis-demo/pom.xml#L145

CorvusYe avatar May 23 '23 11:05 CorvusYe

找到哪个是null了,好排查吗 MapperProxy类 image image

zhangxk-ocean avatar May 23 '23 12:05 zhangxk-ocean

@Configuration 没生效... 可以试着自己用注册Bean的方式注册一下 EnvConfig

CorvusYe avatar May 23 '23 12:05 CorvusYe

自己重写一个EnvConfig吗

zhangxk-ocean avatar May 23 '23 12:05 zhangxk-ocean

那不用,只要有个 @Bean 的方法能返回一个 Env 实例就行,我想下怎么处理会好点

CorvusYe avatar May 23 '23 12:05 CorvusYe

想了下,自己写 @Bean 注解的方法,感觉也跟自己重写个 EnvConfig 差不多...

CorvusYe avatar May 23 '23 12:05 CorvusYe

找到问题了,是因为这个项目是分布式架构,用了@SpringCloudApplication注解,然后又加了@SpringBootApplication扫描包,导致SpringBootApplication没生效,改成@ComponentScan注解扫描包就解决了!!!

zhangxk-ocean avatar May 23 '23 12:05 zhangxk-ocean

漂亮!!!我刚刚还在想不行就把整个 EnvConfig 搬到项目中。

CorvusYe avatar May 23 '23 12:05 CorvusYe

哈哈

zhangxk-ocean avatar May 23 '23 12:05 zhangxk-ocean