grpc-restful
grpc-restful copied to clipboard
duplicated key timeout exit status 1
clone 项目后,go run sum.go启动,新窗口执行curl:
curl -d '{"a":2,"b":3}' -H 'Content-Type: application/json' localhost:8081/v1/sum
go 的版本在 1.17 时,是请求成功的:

但是在 1.20 下,请求失败:

请问在go1.20版本下,该怎么处理或兼容一下?
在使用go1.18后,启动还有一个报错:
error: config file etc/user.yaml, duplicated key timeout

这个错误的原因是什么?我该怎么处理?
这个报错是因为你的配置文件中含有重复的隐式变量声明,你检查一下yaml文件和config中引入的配置就可以找到。解决办法就是对配置采用显式声明。
这个报错是因为你的配置文件中含有重复的隐式变量声明,你检查一下yaml文件和config中引入的配置就可以找到。解决办法就是对配置采用显式声明。
感谢指点,还有上面我提的那两个关于 go 不同版本导致的问题,是因为啥呢?
况且我把项目clone下来后,什么都没改,只是go mod tidy和go mod downlod下载所需依赖,然后go run sum.go就报错了,是指这个项目的配置本身就有bug吗?
但是针对go-zero项目,我在项目里的其中一个微服务中添加gateway后,还是报错error: config file etc/sum.yaml, duplicated key timeout,我把etc/sum.yaml内容清空了,还是报这个错误,很费解啊。
@wujinduo 果然是个bug,万总前两周刚更新完代码到v1.5.1 https://github.com/zeromicro/go-zero/pull/2968/files
新的问题又来了,升级v1.5.1以后,gateway与rpc之间的通信又出问题了:
rpc error: code = DeadlineExceeded desc = context deadline exceeded
没错,我也遇到了,应该也是个bug,还没排除出原因,目前要用的话先用1.4的版本吧
这个报错是因为你的配置文件中含有重复的隐式变量声明,你检查一下yaml文件和config中引入的配置就可以找到。解决办法就是对配置采用显式声明。
这个bug最新版看样子已经修了
这个报错是因为你的配置文件中含有重复的隐式变量声明,你检查一下yaml文件和config中引入的配置就可以找到。解决办法就是对配置采用显式声明。
这个bug最新版看样子已经修了
嗯,万总前两周把 Timeout 重复变量的 bug 改完了,合并到 v1.5.1 版本里了。
但是
v1.5.1 还有别的 bug,是因为创建 api-gateway 网关服务的时候,没有指定 timeout 超时时间,默认是 0 秒,导致在 0 秒内无法完成和 rpc 服务端的交互,返回超时错误:
rpc error: code = DeadlineExceeded desc = context deadline exceeded
针对这个 BUG,我已经提交修改 PR 了,看看万总啥时候有时间合并吧
这个报错是因为你的配置文件中含有重复的隐式变量声明,你检查一下yaml文件和config中引入的配置就可以找到。解决办法就是对配置采用显式声明。
这个bug最新版看样子已经修了
嗯,万总前两周把
Timeout重复变量的 bug 改完了,合并到 v1.5.1 版本里了。但是
v1.5.1 还有别的 bug,是因为创建 api-gateway 网关服务的时候,没有指定
timeout超时时间,默认是 0 秒,导致在 0 秒内无法完成和 rpc 服务端的交互,返回超时错误:rpc error: code = DeadlineExceeded desc = context deadline exceeded针对这个 BUG,我已经提交修改 PR 了,看看万总啥时候有时间合并吧
@liamhao nice,期待早点合并
@Angry-Chick 万总已经把我提的 PR 合并到 master 分支了,着急的话可以先切换到master分支:
go get -u github.com/zeromicro/go-zero@master
或者再等等新版本发布
感谢感谢!5.1前会发布新版,解决这个问题。