PreEmptive Analytics Data Hub User Guide

Retry Behavior

This section provides details about how the Data Hub handles messages that aren't successfully delivered.

Offline Response Handling and Retry

When the Dispatch Service starts, each destination is considered to be online. For durable destinations, when a message delivery attempt results in an offline response, the destination is marked offline, and the message that received the response is queued in the destination's offline queue. All further dispatch attempts to this destination just move the message to the offline queue, to reduce traffic to the destination.

Then, periodically (every 60 seconds by default), the first message of every offline queue is retried. If the retry results in another offline response message, the message is moved to the back of the offline queue, in case there are any issues caused by that particular message. If the retry results in a success or error response, the remainder of the queue is retried, continuing until the queue is empty or another offline response is received.

Note that the retry interval timer resets each time the Dispatch Service is restarted.

When delivery fails for a non-durable destination, it will go to an offline state and all incoming messages are discarded. At the end of the retry interval, the destination will automatically be marked as active and message delivery attempted once more.

Error Response Handling and Retry

When a delivery attempt results in an error response for a durable destination, the message that received the response is queued in the destination's error queue and timestamped with the time it first entered the error queue. Subsequent messages are not affected (as with offline messages) as the problem is presumed to be with the message in particular.

Then, periodically (every 6 hours by default) the entirety of every error queue is retried. If a message's retry results in another error response, the message's timestamp is checked; if the time between this retry and the first time the message entered the error queue is greater than the error give-up time span, the message is dropped. Otherwise, the message is moved to the back of the error queue.

Note that the retry interval timer resets each time the Dispatch Service is restarted.



Data Hub Version 1.5.0. Copyright © 2015 PreEmptive Solutions, LLC