Skip to content

M-05: retry_with_backoff usa std::thread::sleep bloqueante — starvation potencial #341

@ElioNeto

Description

@ElioNeto

🟡 Médio | Resiliência | Infra/Retry

Problema

retry_with_backoff usa std::thread::sleep(Duration::from_millis(...)) que bloqueia a thread atual. Se chamado dentro de um lock no compaction, bloqueia outros workers.

Impacto

Thread pool bloqueada durante sleep de até 5s (max_delay_ms). Redução de throughput durante falhas.

Evidência

src/infra/retry.rs:102: std::thread::sleep(Duration::from_millis(actual_delay_ms))

Recomendação

Usar tokio::time::sleep para async contexts. Separar retry de blocking IO.

Validação

Teste de estresse: 1000 writes concorrentes durante compactação com falhas → sem starvation.

Prioridade: Média

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions