The Command deduplication docs say:
Duplicate command submissions will be ignored until either
the deduplication time of the original command has elapsed
or the original submission was rejected (i.e. the command
failed and resulted in a rejected transaction), whichever comes first.
Within a single participant node I can read this two different ways, either duplicate commands are discarded outright when received during the deduplication window, or they’re held pending the success/failure of the original command.
More specifically:
-
Duplicate commands are ignored and implicitly discarded if they arrive within the deduplication time of the original command. If the original command is rejected the remaining deduplication time is ignored and new submissions that haven’t been ignored yet can now be submitted.
-
Duplicate commands are ignored and temporarily held if they arrive within the deduplication time of the original command. If the original command is rejected then those previously duplicate commands are now executed (in order?).
Which of these are the behavior of the Command Submission Service’s deduplication function? Or is it something else?