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

[Improvement] Avoid unnecessary retry in some access checker when using DelegationShuffleManager #151

Closed
zuston opened this issue Aug 9, 2022 · 14 comments

Comments

@zuston
Copy link
Member

zuston commented Aug 9, 2022

The retry mechanism is introduced by #127. But in some access checker, there's no need to retry, like candidates checker. But the health checker maybe need.

So I think we need introduce the NON_TRANSIENT_ACCESS_DENIED to avoid retry in some checker to reduce time.

@zuston
Copy link
Member Author

zuston commented Aug 9, 2022

cc @jerqi

@jerqi
Copy link
Contributor

jerqi commented Aug 9, 2022

@smallzhongfeng What do you think?

@smallzhongfeng
Copy link
Contributor

smallzhongfeng commented Aug 9, 2022

I think this is a parameter setting. If the retry interval * retry times is greater than the heartbeat time passed by the server to the coordinator, the check of AccessCandidatesChecker is meaningful. If theretry interval * retry times is less than the heartbeat time of the server, Can be solved by setting the number of retries to 0 ? @zuston

@zuston
Copy link
Member Author

zuston commented Aug 9, 2022

Firstly i think your PR is meaningful for cluster load access checker.

But in other access checker, sometimes we needn’t retry. So I will introduce a special acess result of NON_TRANSIENT_ACCESS_DENIED to avoid retry in some checkers.

For example

If we enable two checkers

  1. when cluster-loader check deny but candidates checker pass, so we need to retry
  2. when cluster-loader check pass but candidates check deny, retry isn’t needed
  3. when two checks deny, retry isn’t needed

@smallzhongfeng
Copy link
Contributor

smallzhongfeng commented Aug 10, 2022

I got your point. If you raise a pr, I'm glad to review.@zuston WDYT? @jerqi

@jerqi
Copy link
Contributor

jerqi commented Aug 10, 2022

A little complex, are there similar mechanisms in the other systems? In my opinion, we shouldn't retry when we use candidate checker. when we only use health checker, we can retry, we can scale out our RSS at the same time. I doubt whether we need this mechanism?

@zuston
Copy link
Member Author

zuston commented Aug 10, 2022

If not having this mechanism, how to handle the multiple checkers retry?

In our internal env, we will use the multiple checkers, including health checker(need to retry) and customize checker(no need to retry).

@jerqi
Copy link
Contributor

jerqi commented Aug 10, 2022

If not having this mechanism, how to handle the multiple checkers retry?

In our internal env, we will use the multiple checkers, including health checker(need to retry) and customize checker(no need to retry).

You can choose not to retry.

@zuston
Copy link
Member Author

zuston commented Aug 10, 2022

If not having this mechanism, how to handle the multiple checkers retry?
In our internal env, we will use the multiple checkers, including health checker(need to retry) and customize checker(no need to retry).

You can choose not to retry.

No retry is OK. But this will not solve the problem described in the issue #127

@smallzhongfeng
Copy link
Contributor

Maybe you could choose not to retry when you use multiple checker, because in your description, the scenario of multiple checkers seems to be more dependent on the results of the candidates checker, in this way, it is not enough meaningful to retry, but the default checker is only AccessClusterloadChecker, and the issue #127 I proposed is mainly adapted to this checker, when you use this checker, you can choose to retry.

@zuston
Copy link
Member Author

zuston commented Aug 10, 2022

But when having multiple checkers, and the apps are in candidates list, for these apps, it need retry.

@zuston
Copy link
Member Author

zuston commented Aug 15, 2022

So do we need this feature ? cc @jerqi

@jerqi
Copy link
Contributor

jerqi commented Aug 15, 2022

So do we need this feature ? cc @jerqi

I don't think we need so complex retry mechanism ...

@zuston
Copy link
Member Author

zuston commented Aug 17, 2022

OK. Close it.

@zuston zuston closed this as completed Aug 17, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants