mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-02 01:10:23 +08:00
fix: keep affinity out of scheduler eligibility
This commit is contained in:
@@ -305,7 +305,6 @@ mod tests {
|
|||||||
provider_concurrent_limits: &provider_concurrent_limits,
|
provider_concurrent_limits: &provider_concurrent_limits,
|
||||||
provider_key_rpm_states: &BTreeMap::new(),
|
provider_key_rpm_states: &BTreeMap::new(),
|
||||||
now_unix_secs: 100,
|
now_unix_secs: 100,
|
||||||
cached_affinity_target: None,
|
|
||||||
provider_quota_blocks_requests: false,
|
provider_quota_blocks_requests: false,
|
||||||
account_quota_exhausted: false,
|
account_quota_exhausted: false,
|
||||||
oauth_invalid: false,
|
oauth_invalid: false,
|
||||||
@@ -330,7 +329,6 @@ mod tests {
|
|||||||
provider_concurrent_limits: &BTreeMap::new(),
|
provider_concurrent_limits: &BTreeMap::new(),
|
||||||
provider_key_rpm_states: &provider_key_rpm_states,
|
provider_key_rpm_states: &provider_key_rpm_states,
|
||||||
now_unix_secs: 100,
|
now_unix_secs: 100,
|
||||||
cached_affinity_target: None,
|
|
||||||
provider_quota_blocks_requests: false,
|
provider_quota_blocks_requests: false,
|
||||||
account_quota_exhausted: false,
|
account_quota_exhausted: false,
|
||||||
oauth_invalid: false,
|
oauth_invalid: false,
|
||||||
@@ -356,7 +354,6 @@ mod tests {
|
|||||||
provider_concurrent_limits: &BTreeMap::new(),
|
provider_concurrent_limits: &BTreeMap::new(),
|
||||||
provider_key_rpm_states: &provider_key_rpm_states,
|
provider_key_rpm_states: &provider_key_rpm_states,
|
||||||
now_unix_secs: 100,
|
now_unix_secs: 100,
|
||||||
cached_affinity_target: None,
|
|
||||||
provider_quota_blocks_requests: false,
|
provider_quota_blocks_requests: false,
|
||||||
account_quota_exhausted: false,
|
account_quota_exhausted: false,
|
||||||
oauth_invalid: false,
|
oauth_invalid: false,
|
||||||
@@ -385,7 +382,6 @@ mod tests {
|
|||||||
provider_concurrent_limits: &BTreeMap::new(),
|
provider_concurrent_limits: &BTreeMap::new(),
|
||||||
provider_key_rpm_states: &provider_key_rpm_states,
|
provider_key_rpm_states: &provider_key_rpm_states,
|
||||||
now_unix_secs: 100,
|
now_unix_secs: 100,
|
||||||
cached_affinity_target: None,
|
|
||||||
provider_quota_blocks_requests: false,
|
provider_quota_blocks_requests: false,
|
||||||
account_quota_exhausted: false,
|
account_quota_exhausted: false,
|
||||||
oauth_invalid: false,
|
oauth_invalid: false,
|
||||||
@@ -415,7 +411,6 @@ mod tests {
|
|||||||
provider_concurrent_limits: &BTreeMap::new(),
|
provider_concurrent_limits: &BTreeMap::new(),
|
||||||
provider_key_rpm_states: &provider_key_rpm_states,
|
provider_key_rpm_states: &provider_key_rpm_states,
|
||||||
now_unix_secs: 1_000,
|
now_unix_secs: 1_000,
|
||||||
cached_affinity_target: None,
|
|
||||||
provider_quota_blocks_requests: false,
|
provider_quota_blocks_requests: false,
|
||||||
account_quota_exhausted: false,
|
account_quota_exhausted: false,
|
||||||
oauth_invalid: false,
|
oauth_invalid: false,
|
||||||
@@ -436,7 +431,6 @@ mod tests {
|
|||||||
provider_concurrent_limits: &BTreeMap::new(),
|
provider_concurrent_limits: &BTreeMap::new(),
|
||||||
provider_key_rpm_states: &BTreeMap::new(),
|
provider_key_rpm_states: &BTreeMap::new(),
|
||||||
now_unix_secs: 100,
|
now_unix_secs: 100,
|
||||||
cached_affinity_target: None,
|
|
||||||
provider_quota_blocks_requests: false,
|
provider_quota_blocks_requests: false,
|
||||||
account_quota_exhausted: false,
|
account_quota_exhausted: false,
|
||||||
oauth_invalid: false,
|
oauth_invalid: false,
|
||||||
@@ -460,7 +454,6 @@ mod tests {
|
|||||||
provider_concurrent_limits: &BTreeMap::new(),
|
provider_concurrent_limits: &BTreeMap::new(),
|
||||||
provider_key_rpm_states: &provider_key_rpm_states,
|
provider_key_rpm_states: &provider_key_rpm_states,
|
||||||
now_unix_secs: 100,
|
now_unix_secs: 100,
|
||||||
cached_affinity_target: None,
|
|
||||||
provider_quota_blocks_requests: false,
|
provider_quota_blocks_requests: false,
|
||||||
account_quota_exhausted: false,
|
account_quota_exhausted: false,
|
||||||
oauth_invalid: false,
|
oauth_invalid: false,
|
||||||
@@ -496,7 +489,6 @@ mod tests {
|
|||||||
provider_concurrent_limits: &BTreeMap::new(),
|
provider_concurrent_limits: &BTreeMap::new(),
|
||||||
provider_key_rpm_states: &provider_key_rpm_states,
|
provider_key_rpm_states: &provider_key_rpm_states,
|
||||||
now_unix_secs: 100,
|
now_unix_secs: 100,
|
||||||
cached_affinity_target: None,
|
|
||||||
provider_quota_blocks_requests: false,
|
provider_quota_blocks_requests: false,
|
||||||
account_quota_exhausted: false,
|
account_quota_exhausted: false,
|
||||||
oauth_invalid: false,
|
oauth_invalid: false,
|
||||||
@@ -524,7 +516,6 @@ mod tests {
|
|||||||
provider_concurrent_limits: &BTreeMap::new(),
|
provider_concurrent_limits: &BTreeMap::new(),
|
||||||
provider_key_rpm_states: &provider_key_rpm_states,
|
provider_key_rpm_states: &provider_key_rpm_states,
|
||||||
now_unix_secs: 99,
|
now_unix_secs: 99,
|
||||||
cached_affinity_target: None,
|
|
||||||
provider_quota_blocks_requests: false,
|
provider_quota_blocks_requests: false,
|
||||||
account_quota_exhausted: false,
|
account_quota_exhausted: false,
|
||||||
oauth_invalid: false,
|
oauth_invalid: false,
|
||||||
@@ -539,7 +530,6 @@ mod tests {
|
|||||||
provider_concurrent_limits: &BTreeMap::new(),
|
provider_concurrent_limits: &BTreeMap::new(),
|
||||||
provider_key_rpm_states: &provider_key_rpm_states,
|
provider_key_rpm_states: &provider_key_rpm_states,
|
||||||
now_unix_secs: 100,
|
now_unix_secs: 100,
|
||||||
cached_affinity_target: None,
|
|
||||||
provider_quota_blocks_requests: false,
|
provider_quota_blocks_requests: false,
|
||||||
account_quota_exhausted: false,
|
account_quota_exhausted: false,
|
||||||
oauth_invalid: false,
|
oauth_invalid: false,
|
||||||
@@ -560,7 +550,6 @@ mod tests {
|
|||||||
provider_concurrent_limits: &BTreeMap::new(),
|
provider_concurrent_limits: &BTreeMap::new(),
|
||||||
provider_key_rpm_states: &provider_key_rpm_states,
|
provider_key_rpm_states: &provider_key_rpm_states,
|
||||||
now_unix_secs: 100,
|
now_unix_secs: 100,
|
||||||
cached_affinity_target: None,
|
|
||||||
provider_quota_blocks_requests: false,
|
provider_quota_blocks_requests: false,
|
||||||
account_quota_exhausted: false,
|
account_quota_exhausted: false,
|
||||||
oauth_invalid: false,
|
oauth_invalid: false,
|
||||||
@@ -574,7 +563,6 @@ mod tests {
|
|||||||
provider_concurrent_limits: &BTreeMap::new(),
|
provider_concurrent_limits: &BTreeMap::new(),
|
||||||
provider_key_rpm_states: &BTreeMap::new(),
|
provider_key_rpm_states: &BTreeMap::new(),
|
||||||
now_unix_secs: 100,
|
now_unix_secs: 100,
|
||||||
cached_affinity_target: None,
|
|
||||||
provider_quota_blocks_requests: true,
|
provider_quota_blocks_requests: true,
|
||||||
account_quota_exhausted: false,
|
account_quota_exhausted: false,
|
||||||
oauth_invalid: false,
|
oauth_invalid: false,
|
||||||
@@ -592,7 +580,6 @@ mod tests {
|
|||||||
provider_concurrent_limits: &BTreeMap::new(),
|
provider_concurrent_limits: &BTreeMap::new(),
|
||||||
provider_key_rpm_states: &BTreeMap::new(),
|
provider_key_rpm_states: &BTreeMap::new(),
|
||||||
now_unix_secs: 100,
|
now_unix_secs: 100,
|
||||||
cached_affinity_target: None,
|
|
||||||
provider_quota_blocks_requests: false,
|
provider_quota_blocks_requests: false,
|
||||||
account_quota_exhausted: true,
|
account_quota_exhausted: true,
|
||||||
oauth_invalid: false,
|
oauth_invalid: false,
|
||||||
@@ -610,7 +597,6 @@ mod tests {
|
|||||||
provider_concurrent_limits: &BTreeMap::new(),
|
provider_concurrent_limits: &BTreeMap::new(),
|
||||||
provider_key_rpm_states: &BTreeMap::new(),
|
provider_key_rpm_states: &BTreeMap::new(),
|
||||||
now_unix_secs: 100,
|
now_unix_secs: 100,
|
||||||
cached_affinity_target: None,
|
|
||||||
provider_quota_blocks_requests: false,
|
provider_quota_blocks_requests: false,
|
||||||
account_quota_exhausted: false,
|
account_quota_exhausted: false,
|
||||||
oauth_invalid: true,
|
oauth_invalid: true,
|
||||||
|
|||||||
@@ -26,7 +26,6 @@ pub struct CandidateRuntimeSelectabilityInput<'a> {
|
|||||||
pub provider_concurrent_limits: &'a BTreeMap<String, usize>,
|
pub provider_concurrent_limits: &'a BTreeMap<String, usize>,
|
||||||
pub provider_key_rpm_states: &'a BTreeMap<String, StoredProviderCatalogKey>,
|
pub provider_key_rpm_states: &'a BTreeMap<String, StoredProviderCatalogKey>,
|
||||||
pub now_unix_secs: u64,
|
pub now_unix_secs: u64,
|
||||||
pub cached_affinity_target: Option<&'a crate::SchedulerAffinityTarget>,
|
|
||||||
pub provider_quota_blocks_requests: bool,
|
pub provider_quota_blocks_requests: bool,
|
||||||
pub account_quota_exhausted: bool,
|
pub account_quota_exhausted: bool,
|
||||||
pub oauth_invalid: bool,
|
pub oauth_invalid: bool,
|
||||||
@@ -48,7 +47,6 @@ pub fn candidate_runtime_skip_reason_with_state(
|
|||||||
provider_concurrent_limits,
|
provider_concurrent_limits,
|
||||||
provider_key_rpm_states,
|
provider_key_rpm_states,
|
||||||
now_unix_secs,
|
now_unix_secs,
|
||||||
cached_affinity_target,
|
|
||||||
provider_quota_blocks_requests,
|
provider_quota_blocks_requests,
|
||||||
account_quota_exhausted,
|
account_quota_exhausted,
|
||||||
oauth_invalid,
|
oauth_invalid,
|
||||||
@@ -104,8 +102,6 @@ pub fn candidate_runtime_skip_reason_with_state(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let is_cached_user = cached_affinity_target
|
|
||||||
.is_some_and(|target| crate::matches_affinity_target(candidate, target));
|
|
||||||
if let Some(provider_key) = provider_key {
|
if let Some(provider_key) = provider_key {
|
||||||
if crate::is_provider_key_circuit_open_at(
|
if crate::is_provider_key_circuit_open_at(
|
||||||
provider_key,
|
provider_key,
|
||||||
@@ -123,7 +119,7 @@ pub fn candidate_runtime_skip_reason_with_state(
|
|||||||
provider_key,
|
provider_key,
|
||||||
recent_candidates,
|
recent_candidates,
|
||||||
now_unix_secs,
|
now_unix_secs,
|
||||||
is_cached_user,
|
false,
|
||||||
rpm_reset_at,
|
rpm_reset_at,
|
||||||
) {
|
) {
|
||||||
return Some("key_rpm_exhausted");
|
return Some("key_rpm_exhausted");
|
||||||
|
|||||||
@@ -853,7 +853,7 @@ mod tests {
|
|||||||
fn merges_proxy_trace_info_into_existing_candidate_extra_data() {
|
fn merges_proxy_trace_info_into_existing_candidate_extra_data() {
|
||||||
let mut existing = sample_candidate("cand-1", 1, 0);
|
let mut existing = sample_candidate("cand-1", 1, 0);
|
||||||
existing.extra_data = Some(json!({
|
existing.extra_data = Some(json!({
|
||||||
"provider_name": "Codex"
|
"provider_name": "Provider One"
|
||||||
}));
|
}));
|
||||||
|
|
||||||
let metadata = parse_request_candidate_report_context(Some(&json!({
|
let metadata = parse_request_candidate_report_context(Some(&json!({
|
||||||
@@ -896,7 +896,7 @@ mod tests {
|
|||||||
slot.extra_data
|
slot.extra_data
|
||||||
.as_ref()
|
.as_ref()
|
||||||
.and_then(|value| value.get("provider_name")),
|
.and_then(|value| value.get("provider_name")),
|
||||||
Some(&json!("Codex"))
|
Some(&json!("Provider One"))
|
||||||
);
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
slot.extra_data
|
slot.extra_data
|
||||||
|
|||||||
Reference in New Issue
Block a user