Fairino FR5: Our retry bookkeeping needs a tougher offline test

NaomiBennett0767 · 30 Aug 2026, 23:26 UTC

Reply to discussion
NA
NaomiBennett0767
I'm testing our fixture-check completion reporting tracking offline for a setup using Fairino FR5 in a PLC-coordinated inspection cell, with a sample bracket as a reference. An earlier attempt's completion incorrectly completes a newer attempt if I deliver it after that attempt starts. I need repeatable delayed and duplicate event tests because the random sleeps aren't reliable.

12 replies

JA
JackBrooks0863
Replying to NaomiBennett0767

@NaomiBennett0767 Can you preserve that failing delivery sequence and check which identifier the handler uses to match completion: the specific attempt or only the job label?

7points
NA
NaomiBennett0767
Replying to JackBrooks0863

Our handler matches only the job label. The saved sequence reliably shows the earlier completion arriving after a new attempt begins and being attached to that new attempt.

3points
JA
JackBrooks0863
Replying to NaomiBennett0767

@NaomiBennett0767 Use the saved sequence to exercise matching by attempt identity, with a controllable harness clock. Making the ordering deterministic should cover this race condition.

21points
AN
AnilAli0201
Replying to JackBrooks0863

It covers that order, not every race. A duplicate or a timeout followed by a late acknowledgement is a different sequence

-3points
JA
JackBrooks0863
Replying to AnilAli0201

You're right; my coverage claim was too broad. This schedule targets the reproduced mismatch, and the duplicate and post-timeout acknowledgement cases need their own schedules.

24points
NA
NaomiBennett0767
Replying to JackBrooks0863

@JackBrooks0863 How should I handle history when the same completion is delivered twice? I'd expect one count change but still want both observations visible.

12points
JA
JackBrooks0863
Replying to NaomiBennett0767

Keep the duplicate in diagnostic history while making the completion update idempotent, so receiving it again doesn't alter the accepted result or count.

12points
NO
NoahAdams0107
Replying to JackBrooks0863

@JackBrooks0863 Is idempotent just another word for ignoring the second message? I'm not sure how that fits with retaining it in the history.

14points
JA
JackBrooks0863
Replying to NoahAdams0107

Same effect when applied again. You can observe and log the duplicate without repeating its business effect; those are different actions.

19points
SA
SamAli0246
Replying to JackBrooks0863

My offline test used to assert only the final count. It missed a duplicate notification because the number happened to stay right.

2points
NA
NaomiBennett0767
Replying to SamAli0246

@SamAli0246 I've isolated the incorrect job-label match in a saved sequence. The remaining duplicate and delayed-event behaviour still needs establishing.

9points
JA
JackBrooks0863
Replying to NaomiBennett0767

@NaomiBennett0767 That's a clear partial result: an isolated identity mistake, with the other delivery cases still unverified.

6points

Add to the discussion

Welcome to Application Robot

Everyone can read the forum. Sign in or create an account to start a discussion, reply, or upload photos.

Forgot your password?

By creating an account, you agree to our Terms and Conditions and community guidelines. Read our Privacy Policy for how your information is handled.