Downtime and recovery

What happens while an interface is down, and how the catch-up is protected from double-processing.

Interfaces go down - maintenance windows, network incidents, a downstream system offline for an upgrade. What matters is what happens to the messages in the meantime and how the recovery avoids the two failure modes: losing a message and processing one twice.

While you are down

An MLLP sender does not consider a message delivered until the acknowledgment arrives. While your side is unreachable, the sending system keeps the message and retransmits - queueing on the sender's side is how the protocol itself bridges an outage.

Two things follow from that:

  • The backlog arrives on its own. When your side is back, senders deliver what they queued - there is no manual step to request it.
  • Retransmissions overlap with what already arrived. A sender that never received an ACK for a message you did in fact process will send that message again during the catch-up.

Retransmissions of already-processed messages are what deduplication exists for. Each message's MSH-10 control ID is remembered for the configured window - a retransmission of an already-processed message is answered with an immediate AA and your service is not invoked again. The window has to outlast the longest outage plus the sender's retransmission policy - the default is 14 days.

After you are back

  • Watch the catch-up land. The audit log filtered to the channel shows the burst - the activity strip makes the backlog visible as a spike, and each message records the acknowledgment it received.
  • Confirm nothing is left waiting. The Outstanding filter lists the exchanges whose acknowledgment has not arrived, oldest first - after a recovery it should drain to empty.
  • Reconcile the outage window. The sender's count of messages emitted during and after the outage against the audit log's count of messages received - the same reconciliation as at go-live, applied to one day.

When a destination is down

The direction reverses when a system you send to is offline: your side holds the recorded messages and the destination misses its copies.

Every sent message is stored in the audit log with its full body, not only the metadata - so the recovery is resubmission, from the same screen where the failures are listed:

  • Resending sends the stored payload through the same outgoing connection again - the right action when the failure was on the far side or in between, which is what an outage is.
  • A hop resend targets one destination of several. One incoming message delivered to three systems, one of which was down, is recovered by sending that one destination its copy - nobody who already has the message gets it twice.
  • The classification column helps with the order of work. Failures whose errors look like timeouts or refused connections are marked transient - resubmitting them as-is can work. Failures pointing at the message content are marked permanent and need a fix before another attempt.

A message that has already been resubmitted says so instead of offering the action again, which is what stops the same message going out twice during a hurried recovery.

Knowing it happened at all

A feed that goes silent produces no errors on your side, so silence needs its own detection. Alert rules over the audit log cover both directions - failures that spike and traffic that stops - and each notification links straight to the events behind it, with the resubmit confirmation one click away.

Learn more


Schedule a meaningful demo

Book a demo with an expert who will help you build meaningful systems that match your ambitions

"We evaluated 12 integration platforms and Zato was the only one to score 100%."

Philip Zuñiga, Assistant Professor, University of the Philippines