soul网关学习4-给soul官方提issue过程

今天原本打算将soul网关的其他几个功能插件(HystrixRateLimiterSentinel)验证一下,看看他们是怎么起作用的。结果当我测试Hystrix插件的时候,同步数据的时候出现了一个问题,下面将大致讲下我自己发现并解决问题的过程。

问题描述与处理

我在soul-admin上面添加了Hystrix插件,配置情况如下:

  • 打开Hystrix插件开关
    Hystrix开关
  • 增加Hystrix插件配置
    Hystrix配置

    Hystrix配置-规则
  • 再通过postman模拟请求,程序却一直没有进行熔断
  • 怀疑是我的配置并没有下发到网关bootstrap,于是尝试着手动将配置同步
    同步Hystrix配置
  • admin前端返回提示同步成功,但我看后台bootstrap日志时发现如下错误
    NPE
  • 经过debug知晓,配置同步过程中如果存在参数为空的接口,那么就会引发NPE
  • 看起来这是一个BUG,于是我便到github上面提交了一个issue
  • 后续就是在soul官方的维护人员帮助下,以及查阅官方文档的源码贡献者指南,成功修复了这个BUG,提交了自己的第一个Pull Request,并已Merge
  • 提交的issue
    https://github.com/dromara/soul/issues/994

总结

  • 关于修复soul dubbo插件中的一些BUG时,需要注意可能要修改两个地方,Apache DubboAlibaba Dubbo。我这次的问题最初的时候我只在Alibaba Dubbo进行了修改,后面是soul官方人员dengliming的提示下,发现我的问题在Apache Dubbo中也存在。所以commit了两次才最终完成修改。

你可能感兴趣的:(soul网关学习4-给soul官方提issue过程)