Resumo

  • draft-dikshit-netconf-yang-push-causal-ordering-00 propõe componentes físico e lógico de HLC para comparar notificações de publicadores diferentes. Contadores locais detectam problemas locais, mas não têm significado numérico comum.
  • A propriedade HLC preserva uma causa já existente: se e aconteceu antes de f no sentido distribuído, o relógio de e é menor. A desigualdade não demonstra a causa, e pares idênticos ainda precisam de um critério externo.
  • Mesmo uma sequência bem formada não comprova que todas as fontes estavam presentes, que os registros formam um estado simultâneo, que uma ação foi autorizada, que a configuração se aplicou ou que o serviço mudou como pretendido.

O silêncio que não desorganiza a lista

Um número monotônico por publicador responde a uma pergunta circunscrita. Dentro da mesma identidade e época, um salto pode revelar perda; uma chegada tardia pode revelar reordenação; uma repetição pode exigir análise de duplicata. O número 800 de um publicador não pode ser comparado ao 20 de outro, porque cada processo conta seu próprio histórico.

A revisão 00 propõe superar a comparação impossível usando um relógio lógico híbrido. O componente físico aproxima o registro do tempo de parede; o componente lógico preserva progressão quando vários eventos compartilham o mesmo valor físico. O receptor ordenaria o par lexicograficamente. A representação é pequena e conveniente para arquiteturas distribuídas.

Nada nesse mecanismo obriga uma fonte esperada a aparecer. Um publicador pode ter falhado, perdido a assinatura, sido removido pela política de acesso, encerrado a subscrição ou ficado atrás de um transporte quebrado. Os demais continuam produzindo pares monotônicos. O agregador pode entregar uma linha perfeita exatamente quando o universo observado encolheu.

Ordem não é relação causal

O artigo fundador do HLC formula uma implicação de mão única. Quando e happened-before f por ordem local, envio e recepção correspondentes ou transitividade, hlc(e) deve ser menor. O relógio respeita o caminho por onde informação já circulou.

Ler a desigualdade no sentido inverso é incorreto. Dois publicadores isolados podem observar fatos independentes. Seus relógios físicos lhes atribuem valores diferentes, e a ordenação escolhe um primeiro. Isso não estabelece mensagem, transação, dependência de controle ou influência material entre os fatos. O primeiro registro pode ser apenas o que veio de um relógio mais lento.

Relógios vetoriais carregam componentes suficientes para uma equivalência mais forte e deixam eventos concorrentes incomparáveis, ao custo de estado que cresce com participantes. HLC escolhe tamanho constante e proximidade com tempo físico. A escolha é útil; a governança precisa impedir que a camada analítica recupere, por linguagem confiante, a prova que a codificação não transporta.

Um par também pode empatar

Dois publicadores independentes podem usar o mesmo milissegundo e o mesmo contador lógico. O par proposto é idêntico. Para uma ordem única, a implementação pode acrescentar identidade do publicador, época e identificador do evento. O resultado se torna determinístico, mas a identidade usada no desempate não cria uma causa.

A identidade precisa ser autenticada e ligada a uma geração. Um hostname pode sobreviver a reinício, restauração ou troca de equipamento. Duas instâncias podem falar simultaneamente sob uma etiqueta mal governada. Sem época de processo e regra de restauração do HLC, uma sequência aparente pode misturar encarnações.

O recibo de ordenação deve registrar a chave completa e a versão do comparador. Se um intermediário normaliza nomes ou troca a regra, a mesma entrada pode ganhar outra posição. Isso é uma transformação de custódia e deve ficar visível, não virar uma reinterpretação silenciosa da história da rede.

Epsilon contém um valor, não certifica o relógio

O projeto observa que um publicador com relógio manipulado pode avançar o componente físico e fazer seus registros aparecerem sempre adiante. Recomenda que o receptor considere suspeito um valor mais de epsilon à frente de seu próprio relógio. É um controle importante, mas depende da condição temporal do próprio receptor.

NTP oferece disciplina, seleção de fontes e estimativas de erro; RFC 9581 oferece representação estruturada de tempo e qualidade. Nenhum transforma um timestamp em atestado do evento. Um valor dentro de epsilon ainda pode estar errado; um valor fora pode refletir uma correção legítima ou isolamento prolongado.

Descartar o suspeito cria ausência. Colocar em quarentena muda a latência. Corrigir muda a afirmação. Aceitar pode distorcer janelas e regras de último valor. O sistema deve preservar valor recebido, condição de sincronização, limite, decisão e resultados recalculados quando a evidência atrasada chega.

Completude exige uma lista de quem deveria falar

Para interpretar silêncio, o receptor precisa conhecer o conjunto esperado de publicadores para a decisão, não apenas os publicadores observados. Precisa saber quais subscrições estavam ativas, quais caminhos eram visíveis sob controle de acesso, qual esquema podia ser decodificado e quais transformações ou filas estavam saudáveis. Uma fonte ausente deve permanecer “desconhecida”, não “sem mudança”.

Mesmo com todas as fontes presentes, a ordem não produz uma fotografia transacional. Um subsistema lê a interface antes da transição; outro lê a rota depois. Os dois registros são verdadeiros no respectivo momento, mas a combinação pode nunca ter existido. Uma conclusão de estado precisa de barreira compartilhada, versão comum ou janela cuja inconsistência seja declarada.

A cadeia operacional mantém tempos de evento, observação, emissão, recebimento e decisão; identidade, época, sequência e HLC; subscrição, esquema e visão de acesso; lacunas, duplicatas e reparos. Uma alegação de causalidade acrescenta uma dependência explícita. Uma ação acrescenta responsável, mandato, alvo, parâmetros, validação no recurso, execução, leitura do estado aplicado e observação independente do tráfego ou serviço.

O estatuto limita a conclusão

A revisão 00 é um Internet-Draft individual de 30 de agosto de 2026, com intenção Informational e expiração em 1º de março de 2027. O Datatracker diz que não é endossado pelo IETF e não tem posição formal no processo de padrões. Não é documento do grupo NETCONF, RFC, teste de interoperabilidade, implantação ou incidente.

O problema descrito merece trabalho: uma arquitetura distribuída precisa combinar fluxos locais. A conclusão limitada é mais forte do que uma promessa vaga. HLC pode respeitar dependências conhecidas e ajudar a ordenar. Não pode, sozinho, provar a dependência, enumerar fontes ausentes, fabricar um estado simultâneo, autorizar uma mudança ou demonstrar resultado.

Fontes