-
Type: Improvement
-
Status: Open
-
Priority: Minor
-
Resolution: Unresolved
-
Affects Version/s: None
-
Fix Version/s: None
-
Component/s: Streams
-
Tags:
Today the computation policy can define a retry policy and a fallback which is Stop or Drop (continueOnFailure=true).
It would be nice to be able to have an option to send the record in a Dead Letter Queue as well.
Something like this:
<streamProcessor name="myStreamProcessor" class="org.nuxeo.runtime.stream.tests.MyStreamProcessor" logConfig="default"> <stream name="dlq-myComputation" partition="1" /> <policy name="myComputation" maxRetries="10" delay="1s" maxDelay="60s" continueOnFailure="true" dlqStream="dlq-myComputation" /> ...
How to replay the records in the DQL is another story:
- a simple way can be to copy the DLQ records into the original stream so they are reprocessed, this can be done using stream.sh dump and append.
- have an option on the stream processor to start processing DLQ before input streams.
- define a new recovery processor that reads from the DLQ (like it is done on the WorkManager repair procedure
NXP-27148)
Of course, for the 2 lasts options the DLQ mechanism should be disabled to not run in an infinite loop in case of systematic failure.
- is related to
-
NXP-27148 Store Work in failure in DLQ for repair purpose
- Resolved