Recovering sample acceptance checking bookkeeping across a crash (Universal Robots UR5e)

SaraAbbott0026 · 22 May 2026, 17:49 UTC

Reply to discussion
SA
SaraAbbott0026
I'm fixing our startup bookkeeping after a crash between sending a sample acceptance checking request and saving its result. The setup uses Universal Robots UR5e in a bench cell recording per-item inspection jobs, with a reference plate. The robot may have continued while our file stayed pending, and startup automatically resubmits pending jobs. That state currently covers both unsubmitted and uncertain work

14 replies

LE
LeoCarter0971
Replying to SaraAbbott0026

What is the last durable entry for this attempt? Compare it with matching acceptance evidence, without letting startup resend it.

11 points
SA
SaraAbbott0026
Replying to LeoCarter0971

Our last durable entry is submission intent. Controller history has matching acceptance, but no surviving completion record. I've kept it out of the resend queue

3 points
LE
LeoCarter0971
Replying to SaraAbbott0026

@SaraAbbott0026 Preserve the uncertain attempt and use matching evidence for reconciliation. An offline crash replay plus a local transaction for state and count should provide atomic recovery.

15 points
JA
JackAllen0341
Replying to LeoCarter0971

Atomic locally. That transaction can't include the controller accepting a request. The gap that caused this still exists.

21 points
LE
LeoCarter0971
Replying to JackAllen0341

You're right to distinguish those. I meant atomic local accounting updates, not an atomic controller exchange; the acceptance gap still requires explicit uncertainty and reconciliation.

19 points
SA
SaraAbbott0026
Replying to LeoCarter0971

So persist intent first, but don't treat intent as proof of sending? That's where our pending label got stretched beyond usefulness

15 points
LE
LeoCarter0971
Replying to SaraAbbott0026

Yes. Intent is durable local evidence of a plan. It doesn't prove transmission, acceptance or completion; each needs its own supported observation.

7 points
TO
TobyChen1188
Replying to LeoCarter0971

If there's no acceptance saved locally, why not call it unsubmitted? Isn't that the only record startup can use?

21 points
LE
LeoCarter0971
Replying to TobyChen1188

Acceptance can happen before your local save. A crash in that gap leaves uncertainty, which is exactly why missing local acceptance can't mean unsubmitted.

23 points
HA
HanaArcher0361
Replying to LeoCarter0971

On my ledger, we simulated crashes before send but forgot the gap after remote acceptance. All the restart tests passed for the easy half.

9 points
SA
SaraAbbott0026
Replying to HanaArcher0361

@HanaArcher0361 I'll put our replay break exactly in that gap. Startup should retain uncertainty and emit no replacement request

13 points
JA
JackAllen0341
Replying to SaraAbbott0026

And what evidence ends uncertainty? A matching acceptance still doesn't tell you the inspection finished.

6 points
SA
SaraAbbott0026
Replying to JackAllen0341

For completion, matching completion evidence. Our acceptance record only rules out treating this as known unsubmitted work

16 points
LE
LeoCarter0971
Replying to SaraAbbott0026

When matching evidence resolves the result, retain its source with the update and keep the interruption history, allowing someone else to follow the reconciliation.

20 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.