grpc-restful icon indicating copy to clipboard operation
grpc-restful copied to clipboard

duplicated key timeout exit status 1

Open liamhao opened this issue 2 years ago • 11 comments
trafficstars

clone 项目后,go run sum.go启动,新窗口执行curl:

curl -d '{"a":2,"b":3}' -H 'Content-Type: application/json' localhost:8081/v1/sum

go 的版本在 1.17 时,是请求成功的: image

但是在 1.20 下,请求失败: image

请问在go1.20版本下,该怎么处理或兼容一下?

在使用go1.18后,启动还有一个报错:

error: config file etc/user.yaml, duplicated key timeout

image

这个错误的原因是什么?我该怎么处理?

liamhao avatar Mar 30 '23 09:03 liamhao

这个报错是因为你的配置文件中含有重复的隐式变量声明,你检查一下yaml文件和config中引入的配置就可以找到。解决办法就是对配置采用显式声明。

wokito avatar Apr 18 '23 06:04 wokito

这个报错是因为你的配置文件中含有重复的隐式变量声明,你检查一下yaml文件和config中引入的配置就可以找到。解决办法就是对配置采用显式声明。

感谢指点,还有上面我提的那两个关于 go 不同版本导致的问题,是因为啥呢? 况且我把项目clone下来后,什么都没改,只是go mod tidygo mod downlod下载所需依赖,然后go run sum.go就报错了,是指这个项目的配置本身就有bug吗?

liamhao avatar Apr 19 '23 00:04 liamhao

但是针对go-zero项目,我在项目里的其中一个微服务中添加gateway后,还是报错error: config file etc/sum.yaml, duplicated key timeout,我把etc/sum.yaml内容清空了,还是报这个错误,很费解啊。

liamhao avatar Apr 19 '23 03:04 liamhao

@wujinduo 果然是个bug,万总前两周刚更新完代码到v1.5.1 https://github.com/zeromicro/go-zero/pull/2968/files

liamhao avatar Apr 19 '23 06:04 liamhao

新的问题又来了,升级v1.5.1以后,gateway与rpc之间的通信又出问题了:

rpc error: code = DeadlineExceeded desc = context deadline exceeded

liamhao avatar Apr 19 '23 07:04 liamhao

没错,我也遇到了,应该也是个bug,还没排除出原因,目前要用的话先用1.4的版本吧

Angry-Chick avatar Apr 19 '23 08:04 Angry-Chick

这个报错是因为你的配置文件中含有重复的隐式变量声明,你检查一下yaml文件和config中引入的配置就可以找到。解决办法就是对配置采用显式声明。

这个bug最新版看样子已经修了

Angry-Chick avatar Apr 19 '23 08:04 Angry-Chick

这个报错是因为你的配置文件中含有重复的隐式变量声明,你检查一下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 avatar Apr 19 '23 10:04 liamhao

这个报错是因为你的配置文件中含有重复的隐式变量声明,你检查一下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 avatar Apr 20 '23 05:04 Angry-Chick

@Angry-Chick 万总已经把我提的 PR 合并到 master 分支了,着急的话可以先切换到master分支:

go get -u github.com/zeromicro/go-zero@master

或者再等等新版本发布

liamhao avatar Apr 21 '23 03:04 liamhao

感谢感谢!5.1前会发布新版,解决这个问题。

kevwan avatar Apr 21 '23 06:04 kevwan