-
Acredito que o gabarito esteja errado, que seja a letra C.
I-ERRADA. O problema que acontece no 2PC é a falha no coordenador. Caso isso ocorra, a transação fica paralisada, conhecida também como obstrução
II-ERRADA. Tanto no 2PC quanto no 3PC há a figura do coordenador
III-CORRETA. As fases do 2PC são votação e decisão. Segue descrição das fases:
1ª Fase: todos os nós participantes da transação sinalizam ao coordenador que sua parte da transação foi realizada. O coordenador envia uma mensagem preparar “para commit”. Cada nó fará uma gravação forçada em disco de todos os registros de log e informações necessárias para recuperação local, e em seguida envia um sinal “OK” ao coordenador, caso contrário envia um sinal “não OK”. Na falta de uma resposta o coordenador considera o nó “não OK”.
2ª Fase: se todos os nós respondem “OK’ e o voto do coordenador também for “OK”, a transação foi bem sucedida e o coordenador envia um sinal “commit” para os nós, caso contrário, a transação falhou e o coordenador envia uma mensagem para “rollback”. Neste caso a transação será desfeita utilizando-se os arquivos de log.
-
Rosana, a alternativa III o erro está no final da questão:
III. No protocolo two-phase commit, existe uma fase inicial de votação, onde o coordenador envia uma solicitação de commit para todos os participantes, e depois cada um envia sua resposta (concordando ou não com o commit) para todos os demais.
Na verdade cada um envia sua resposta apenas para o coordenador.
-
Na minha opnião todas as alternativas estão erradas.
Como Rosana Andrade disse lá em baixo, na afirmativa I a falha ocorre somente no coordenador.
Na afirmativa III, os membros enviam a resposta somente para o coordenador.
-
- Gerenciamento de transação em BDD
1- Protocolo de confirmação em duas fases (2PC) - exige um gerenciador de recuperação global, ou coordenador, para manter as informações necessárias para recuperação. É um protocolo de bloqueio.
2- Protocolo de confirmação em três fases (3PC) - divide a segunda fase de confirmação em duas subfases, chamadas preparar-para-confirmar e confirmar. Foi criado justamente para resolver o problema de bloqueio (deadlock) do 2PC.
-
I. O protocolo 3PC visa solucionar os problemas ocasionados pelo fato do 2PC ser bloqueante, em caso de falhas no coordenador. Um dos problemas do 2PC é exatamente o que ocorre quando tanto o coordenador quanto um nó falham na segunda fase, o que pode ocasionar inconsistências de dados. CERTA
II. No 3PC existe o coordenador. A diferença é que os nós participantes são informados do resultado da votação, permitindo que um deles assuma o papel de coordenador em caso de falha deste. ERRADA
III. No 2PC, os participantes respondem se podem ou não realizar o commit direto para o coordenador, não para os demais nós. ERRADA
Gabarito: A