Pending Transaction

Durante a operação regular dos HSMs e com todos os nós funcionando normalmente não devem haver muitas situações de Transação Pendente. Estas são transações de replicação que por algum motivo começaram o protocolo de transação distribuída (Two Phase Commit), mas não puderem ser concluídas. Uma transação pendente envolve ao menos dois nós do pool, um deles sendo o coordenador e outro um participante. Na maioria dos casos o próprio mecanismo de replicação do HSM pode se recuperar sozinho e resolver a pendência que estava impedindo a transação de completar. Noutros casos, por exemplo um defeito de hardware ou problema de comunicação pode exigir a intervenção do operador.

Uma transação pendente vai deixar todo o pool bloqueado para novas operações de escrita (write); as operações de leitura (read) continuam sendo feitas normalmente.

Quando existe uma transação a tela irá exibir várias informações sobre ela:

  • Now: data e hora atuais (quando foi aberta a tela), apenas para efeito informativo;

  • Data/Time: data e hora (timestamp) quando foi gerada a transação;

  • GUID: identificador único da transação, todos os nós envolvidos numa transação replicada reconhecem a transação pelo mesmo identificador;

  • State: o estado do protocolo Tow Phase Commit onde a transação parou;

  • Type: tipo de transação, como por exemplo criação ou remoção de chave, criação ou remoção de usuários.

  • Source: usuário responsável pela transação, aquele que fez a requisição inicial de serviço;

  • Target: usuário afetado pela transação, pode ser o mesmo indicado em Source, ou um outro se a transação envolver operações numa partição de usuário remoto (via permissionamento);

  • Nodes: a lista de nós conhecida pela HSM no momento da transação; é com esta lista de nós que o HSM vai tentar concluir a replicação. O primeiro nó na lista é sempre o coordenador. O nó que aparece com a marcação PA (Pending Ack) é aquele que não completou a comunicação do protocolo de replicação. Este normalmente é um bom ponto de partida para investigação das causas de problema.

O mecanismo de replicação tem um serviço automático de recuperação (recovery), que de tempo em tempo vai tentar algumas medidas, como retransmissão, para eliminar a pendência e concluir a transação. O intervalo de tempo em que roda o serviço de recuperação automática é definido na opção Policy do menu de replicação.

A razão para o surgimento de um Transação Pendente na maior parte das vezes pode ser algo simples, como um nó com serviço parado ou com problema de comunicação com o restante do pool (cabo de rede, porta de switch, link down, etc), e algumas vezes pode precisar de uma investigação mais profunda. Todas as informações mostradas são relevantes para identificar a causa e solução do problema.

Algumas informações de Transação Pendente também podem ser exibidas pala Console Remota do HSM.

Last updated