-
Notifications
You must be signed in to change notification settings - Fork 447
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
ExaBGP process get stuck with rapid API updates #1141
Comments
Thank you for the lab, I will look into it. |
Thanks for you response. The freeze itself happens because when API process don't read acks, PIPE buffer(64 kb by default) getting full.
If reading instantly unfreezes the main process, than it's PIPE buffer to blame, and child process probably not reading it's STDIN. @thomas-mangin I'd like to further dig in this problem, and probably will return later with some kind of pull-request, that will allow to write an error to log, or even auto-restart child process if it is not reading the buffer. |
confirmed as API ack. so closing. |
Some time later I figured out that the problem was not only because of Anyway, great thanks to you and all the contributors for making this product ❤️ |
Thank you @newrushbolt - opened an issue to deal with this abnormality. |
Describe the bug
Main ExaBGP process is getting stuck if api process has a lot of flaps between "announce" and "withdraw".
It takes about 5 minutes when flap interval is 500ms.
Once stuck main process is not moving anywhere from one exact syscall:
Last log messages looks like this:
To Reproduce
I uploaded a complete test environment to https://github.com/newrushbolt/exabgp_stuck_example, please have a look.
But the key steps are:
withdraw x.x.x.x
orannounce x.x.x.x
.Expected behavior
ExaBGP daemon runs no matter how many times healthcheck process flaps between "announce" and "withdraw".
Environment (please complete the following information):
Additional context
All the additional information (config, envs, other packages versions) could be found in test repo https://github.com/newrushbolt/exabgp_stuck_example.
The text was updated successfully, but these errors were encountered: