-
Notifications
You must be signed in to change notification settings - Fork 194
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
feat: skip proxy health check if connection is not active #1595
base: master
Are you sure you want to change the base?
Conversation
74bdd96
to
ac5aedf
Compare
Also need to handle the |
Please also update the doc for these sections:
|
11454b5
to
ed40f0a
Compare
1. Add last_active field for Connection. When Connection.call() is called, last_active is updated to current timestamp. 2. Add check_pause_elapsed field for ProxyConfig and MirrorConfig. Connection is considered to be inactive if the current time to the last_active time exceeds check_pause_elapsed. 3. In proxy and mirror's health checking thread's loop, if the connection is not active (exceeds check_pause_elapsed), this round of health check is skipped. 4. Update the document. Signed-off-by: BruceAko <[email protected]>
The above has been revised, PTAL, thanks. @imeoer |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
others LGTM, thanks!
api/src/config.rs
Outdated
@@ -938,6 +942,9 @@ pub struct MirrorConfig { | |||
/// Maximum number of failures before marking a mirror as unusable. | |||
#[serde(default = "default_failure_limit")] | |||
pub failure_limit: u8, | |||
/// Elapsed time to pause mirror health check when the request is inactive, in seconds. | |||
#[serde(default = "default_check_pause_elapsed")] | |||
pub check_pause_elapsed: u64, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We have health_check_interval
, so maybe name it health_check_pause_elapsed
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed, PTAL :) @imeoer
Signed-off-by: BruceAko <[email protected]>
Relevant Issue (if applicable)
Fixes #1588
Details
last_active
field forConnection
. WhenConnection.call()
is called,last_active
is updated to current timestamp.check_pause_elapsed
field forProxyConfig
andMirrorConfig
. Connection is considered to be inactive if the current time to thelast_active
time exceedscheck_pause_elapsed
.check_pause_elapsed
), this round of health check is skipped.Types of changes
What types of changes does your PullRequest introduce? Put an
x
in all the boxes that apply:Checklist
Go over all the following points, and put an
x
in all the boxes that apply.