test(ilm): cover manual transition e2e stress (#5320)

* test(e2e): cover distributed manual transition admission

Co-Authored-By: heihutu <heihutu@gmail.com>

* test: cover manual transition restart recovery

Co-Authored-By: heihutu <heihutu@gmail.com>

* test(ilm): cover queue pressure status readback

Co-Authored-By: heihutu <heihutu@gmail.com>

---------

Co-authored-by: heihutu <heihutu@gmail.com>
This commit is contained in:
houseme
2026-07-27 02:46:15 +08:00
committed by GitHub
parent 4bd8cc1369
commit 5af997ce5f
2 changed files with 148 additions and 43 deletions
@@ -1236,6 +1236,47 @@ mod tests {
assert_eq!(response.cancel_endpoint, response.status_endpoint);
}
#[test]
fn manual_transition_job_response_reads_back_terminal_queue_pressure_snapshot() {
let options = ManualTransitionRunOptions {
prefix: "logs/".to_string(),
tier: Some("WARM".to_string()),
..Default::default()
};
let mut record = ManualTransitionJobRecord::new(Uuid::new_v4(), "bucket", &options, "owner-a");
let queue_snapshot = ManualTransitionQueueSnapshot {
queue_capacity: 4,
queued: 2,
active: 1,
workers: 2,
queue_full: 3,
queue_send_timeout: 5,
compensation_pending: 7,
compensation_running: 1,
};
record.complete(
ManualTransitionRunReport {
bucket: "bucket".to_string(),
prefix: options.prefix,
tier: options.tier,
skipped_queue_full: 3,
skipped_queue_timeout: 5,
..Default::default()
},
queue_snapshot,
);
let response = manual_transition_job_response(record);
assert_eq!(response.status, ManualTransitionJobState::Partial);
assert_eq!(response.report.skipped_queue_full, 3);
assert_eq!(response.report.skipped_queue_timeout, 5);
assert_eq!(response.queue_snapshot, queue_snapshot);
assert!(response.completed_at_unix_nanos.is_some());
assert_eq!(response.failure_reason, None);
}
#[test]
fn manual_transition_active_job_cancel_token_round_trips() {
let job_id = Uuid::new_v4();