Skip to content

The shape objection ​

The most common reason a dead-letter queue fills overnight is a producer that changed a field: a number that became a string, an object that became null. Marshall compares the shape of every message he reads and points at the ones that disagree.

What it says ​

When most messages agree and some do not, the verdict bar objects with the specifics:

totalCents is a string in 2 of 14, a number in the other 12.

Select one of the outliers and the field is marked on the exact line of its payload.

It needs no schema, no model and no network. The disagreement is in the data, and Marshall only counts it.

When it refuses ​

The objection has refusals, each its own sentence:

Refuses whenWhy
Fewer than 4 messages could be readToo few to call a majority
There is no majority shapeNobody to disagree with
Nothing comparablePayloads that are not structured data, such as binary

A refusal is not "all good". It means Marshall cannot tell, and says so.

Avro topics ​

On a topic decoded through a Schema Registry, the shape compared is the one the schema declares, not the one read off each message's values. A nullable field is one optional field, so a topic under one schema is consistent, and two schemas on one topic show up as the field the new one added.

Marshall MQ is free for personal and commercial use.