Voltar ao catalogoP-05
Lock global para cotacao manual bloqueia todo o sistema
MediumAchado ConfirmadoEscalabilidadeRodada 2
Evidencia
`OfertasAppService.Extended.cs` linha 49: lock com chave global sem identificador de oferta ou tenant.
Impacto Tecnico
Contencao global em operacao critica. Aceite lento bloqueia todos os outros.
Impacto de Negocio
Aceites manuais serializados para todo o sistema, causando timeouts em horario de pico.
Recomendacao
Alterar chave do lock para OfertaLock:InUse:Tenant:{tenantId}:Oferta:{cogProgColeta}.
Arquivos Afetados
aspnet-core/src/cargo_fleet.Application/Ofertas/OfertasAppService.Extended.cs
{
"id": "P-05",
"title": "Lock global para cotacao manual bloqueia todo o sistema",
"severity": "Medium",
"type": "achado confirmado",
"category": "scalability",
"description": "`CotarOfertaAsync` adquire lock `OfertaLock:InUse` com escopo global, bloqueando todos os aceites manuais do sistema.",
"evidence": "`OfertasAppService.Extended.cs` linha 49: lock com chave global sem identificador de oferta ou tenant.",
"technicalImpact": "Contencao global em operacao critica. Aceite lento bloqueia todos os outros.",
"businessImpact": "Aceites manuais serializados para todo o sistema, causando timeouts em horario de pico.",
"recommendation": "Alterar chave do lock para `OfertaLock:InUse:Tenant:{tenantId}:Oferta:{cogProgColeta}`.",
"files": [
"aspnet-core/src/cargo_fleet.Application/Ofertas/OfertasAppService.Extended.cs"
],
"pass": 2
}
Descricao
CotarOfertaAsyncadquire lockOfertaLock:InUsecom escopo global, bloqueando todos os aceites manuais do sistema.