Skip to content
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

Bug: when no endpoints is healthy, "it will cause crazy retries" #111

Closed
Yiyiyimu opened this issue Jan 26, 2021 · 12 comments · Fixed by #112
Closed

Bug: when no endpoints is healthy, "it will cause crazy retries" #111

Yiyiyimu opened this issue Jan 26, 2021 · 12 comments · Fixed by #112
Assignees
Labels
bug Something isn't working

Comments

@Yiyiyimu
Copy link
Contributor

#109 fixed the situation when some endpoints got taints it could be jumped over. But when all endpoints are unhealthy, it keeps the old method, so the problem of #101 still not fixed and "it will cause crazy retries". See discussion

@Yiyiyimu
Copy link
Contributor Author

ping @tzssangglass @nic-chen @membphis

@membphis membphis added the bug Something isn't working label Jan 26, 2021
@membphis
Copy link
Contributor

I added a bug, let us fix it

@tzssangglass
Copy link
Contributor

so we stop requesting etcd when all endpoints are unhealthy?

@nic-chen
Copy link
Collaborator

How about increasing the waiting time?

@tzssangglass
Copy link
Contributor

How about increasing the waiting time?

ngx.sleep?

@membphis
Copy link
Contributor

It is more reasonable for the caller to add processing logic.

@tzssangglass
Copy link
Contributor

provide some processing strategies for caller to choose from?

  • stop requesting etcd(default)
  • ngx.sleep
  • keeps the old method

@tzssangglass
Copy link
Contributor

It is more reasonable for the caller to add processing logic.

are you saying let the caller write the code themselves and have healthcheck call it?

@membphis
Copy link
Contributor

When there is no healthy node available, we can directly return an error message.
The caller decides how long to sleep based on the return error message.

@tzssangglass
Copy link
Contributor

When there is no healthy node available, we can directly return an error message.
The caller decides how long to sleep based on the return error message.

agree +1

@membphis
Copy link
Contributor

we can check the process way in APISIX ^_^

@tzssangglass
Copy link
Contributor

tzssangglass commented Jan 28, 2021

assigned me, fix soon

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
4 participants