Our retry bookkeeping needs a tougher offline test (sample acceptance bookkeeping)

CalebAdams0145 · 2 Sept 2026, 14:31 UTC

Reply to discussion
CA
CalebAdams0145
I'm testing our sample acceptance bookkeeping tracking offline for a setup using Universal Robots UR5e in a workshop fixture-checking station, 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.

10 replies

HE
HenryAdams0090
Replying to CalebAdams0145

@CalebAdams0145 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?

10 points
CA
CalebAdams0145
Replying to HenryAdams0090

Just the job label. I've saved the sequence: earlier completion arrives after the new attempt starts. It reproduces the wrong match.

23 points
HE
HenryAdams0090
Replying to CalebAdams0145

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

16 points
CA
CallumChen1143
Replying to HenryAdams0090

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

5 points
HE
HenryAdams0090
Replying to CallumChen1143

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.

21 points
CA
CalebAdams0145
Replying to HenryAdams0090

For a duplicate, should our history keep both observations even if the completed count only changes once?

19 points
HE
HenryAdams0090
Replying to CalebAdams0145

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

4 points
RE
RebeccaBaker0517
Replying to HenryAdams0090

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

6 points
HE
HenryAdams0090
Replying to RebeccaBaker0517

Idempotence means reapplying the message doesn't change the result again. Recording that it arrived is separate from repeating the completion or count update.

18 points
YA
YasminBarnes0528
Replying to HenryAdams0090

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

12 points

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.