Julgue o próximo item, relativos a ferramentas e soluções p...
Se um processo dentro de um pod sofrer um deadlock, deve-se utilizar a verificação de sanidade de processo para resolver esse problema e garantir que a aplicação esteja sempre no estado ativo.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Gabarito: E - Errado
Vamos analisar a questão e entender por que a alternativa "Errado" é a correta.
Tema Central: O tema da questão é a resolução de deadlocks em processos dentro de um pod, especificamente no contexto de DevOps e Docker. Essa questão exige um entendimento de como lidar com falhas e garantir a continuidade de aplicações em ambientes de contêineres.
Conceito de Deadlock: Um deadlock ocorre quando dois ou mais processos ficam esperando indefinidamente por recursos que estão sendo simultaneamente retidos por outros. Em termos simples, é uma situação em que os processos não conseguem avançar porque estão presos, cada um aguardando o outro liberar um recurso.
Verificação de Sanidade de Processo: A verificação de sanidade (ou saúde) de processo refere-se a técnicas utilizadas para monitorar se um processo está ativo e funcionando corretamente. No contexto de contêineres, isso geralmente envolve o uso de liveness probes e readiness probes para verificar se os processos estão rodando conforme esperado.
Por que a afirmação está errada: A questão sugere que a verificação de sanidade pode ser utilizada para resolver um deadlock, mas isso é incorreto. Embora as verificações de sanidade possam detectar que um processo não está ativo devido a um deadlock, elas não resolvem o deadlock por si mesmas. A solução de deadlocks normalmente requer intervenção para liberar os recursos envolvidos ou reiniciar processos de modo a restaurar o fluxo normal de execução.
Para lidar com deadlocks em um ambiente de containers, pode ser necessário implementar estratégias como: reinício automático dos processos através de políticas no Kubernetes, ajustes no código para prevenir deadlocks ao utilizar recursos compartilhados ou a introdução de mecanismos de detecção e recuperação de deadlocks.
Portanto, a afirmação na questão é incorreta ao sugerir que a simples verificação de sanidade de processos resolve o problema de deadlock.
Gostou do comentário? Deixe sua avaliação aqui embaixo!
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
liveness probes
O kubelet usa liveness probes para saber quando reiniciar um contêiner. Por exemplo, liveness probes podem capturar um deadlock (onde um aplicativo está em execução, mas não consegue progredir). Reiniciar um contêiner em tal estado pode ajudar a tornar o aplicativo mais disponível, apesar dos bugs.
kubernetes.io/docs/
Gabarito, portanto, ERRADO
O item está errado porque as verificações de sanidade (probes) do Kubernetes não "resolvem" um deadlock (elas apenas detectam a condição de travamento e reiniciam o contêiner como recuperação), e elas não podem "garantir" que a aplicação esteja sempre ativa, pois o deadlock em si representa inatividade e o reinício causa uma interrupção. A resolução do deadlock exige a correção do código da aplicação.
Fonte: Gemini 2.5 Pro
Errado.
Deadlock é uma situação em que dois ou mais processos ficam bloqueados esperando por recursos que nunca serão liberados, o que impede sua continuidade. Esse é um problema de sincronização concorrente, e não algo que possa ser resolvido automaticamente apenas com uma "verificação de sanidade".
"Verificação de sanidade de processo" (ou health checks) em ambientes como Kubernetes normalmente envolve:
- Readiness probes – determinam se o pod está pronto para receber tráfego.
- Liveness probes – verificam se o processo principal do contêiner ainda está rodando corretamente. Se falhar, o contêiner pode ser reiniciado.
Essas sondas não resolvem deadlocks, mas podem detectar que o processo travou (inclusive por causa de um deadlock) e então reiniciar o contêiner. Isso é um mecanismo de recuperação, não de resolução do problema em si.
By Futuro DEV Estável.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo