A objeção de formato

Marcada abaixo, na linha exata onde ela difere.
O motivo mais comum de uma fila de cartas mortas encher de madrugada é um producer que mudou um campo: um número que virou string, um objeto que virou null. O Marshall compara o formato de toda mensagem que lê e aponta as que discordam.
O que ele diz
Quando a maioria concorda e algumas não, a barra de veredito faz a objeção com os detalhes:
totalCentsé string em 2 de 14, número nas outras 12.
Selecione uma das diferentes e o campo aparece marcado na linha exata do payload.
Não precisa de schema, de modelo nem de rede. A discordância está nos dados, e o Marshall só conta.
Quando ele recusa
A objeção tem recusas, cada uma com a própria frase:
| Recusa quando | Por quê |
|---|---|
| Menos de 4 mensagens deram para ler | Pouco para dizer qual é a maioria |
| Não existe um formato da maioria | Não tem com quem discordar |
| Nada comparável | Payloads que não são dados estruturados, como binário |
Uma recusa não quer dizer "está tudo certo". Quer dizer que o Marshall não consegue saber, e avisa.
Tópicos Avro
Num tópico decodificado por um Schema Registry, o formato comparado é o que o schema declara, não o que sai dos valores de cada mensagem. Um campo que aceita null é um campo opcional, então um tópico com um schema só é consistente, e dois schemas no mesmo tópico aparecem como o campo que o novo adicionou.