-
Notifications
You must be signed in to change notification settings - Fork 498
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
etcd watch失败时,内存泄漏 #2919
Comments
apisix version (cmd: apisix version): OpenResty / Nginx version (cmd: nginx -V or openresty -V): etcd version, if have (cmd: run etcd --version): apisix-dashboard version, if have: Browser version, if have: |
When I repeat 2-5 then I got more and more new watch gorouting and old gorouting coexist |
Issue description
当etcd watch失败,goroutine退出时,会在defer func中将当前GenericStore加入到storeNeedReInit中
每两分钟会调用一次ReInit,重新将storeNeedReInit slice中的GenericStore初始化,又回调回到上面出问题的代码,再次加入storeNeedReInit
storeNeedReInit并没有清理的地方,会一直增大
Expected behavior
就算etcd异常,manager-api进程内存使用也不能持续增长
How to Reproduce
1.将etcd打断点断住,模拟etcd返回超时
2.反复在dashboard中进行操作
3.放开etcd断点
4.manager-api进程内存使用持续增长
Screenshots
No response
Environment
apisix version
):uname -a
):nginx -V
oropenresty -V
):etcd --version
):Additional context
No response
The text was updated successfully, but these errors were encountered: