Should startup resubmit a job with no saved result? - part inspection

AmyCarter0989 · 2 Sept 2026, 17:35 UTC

Reply to discussion
AM
AmyCarter0989
I'm fixing our startup bookkeeping after a crash between sending a part inspection request and saving its result. The setup uses Universal Robots UR5e in a bench cell recording per-item inspection jobs, with a sample housing. 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.

21 replies

BE
BenAdams0109
Replying to AmyCarter0989

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

21 points
AM
AmyCarter0989
Replying to BenAdams0109

@BenAdams0109 I've found persisted submission intent and matching acceptance in the controller history, without a surviving completion record. This attempt is excluded from our automatic resend queue.

4 points
BE
BenAdams0109
Replying to AmyCarter0989

Keep it uncertain and reconcile by identity. Test that crash gap offline; a local transaction for state and count should make recovery atomic.

17 points
DA
DavidArcher0432
Replying to BenAdams0109

@BenAdams0109 A local database transaction can couple your state and count, but it doesn't make remote acceptance atomic with them. Your recovery claim needs that limitation.

8 points
BE
BenAdams0109
Replying to DavidArcher0432

Exactly; my wording was too broad. The transaction protects local accounting. Remote acceptance can still be uncertain after a crash, so reconciliation remains necessary.

10 points
AM
AmyCarter0989
Replying to BenAdams0109

@BenAdams0109 Should persisted intent mean only that submission was planned, without claiming transmission occurred? Our existing pending state has been hiding that distinction.

5 points
BE
BenAdams0109
Replying to AmyCarter0989

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

15 points
YA
YasminBennett0702
Replying to BenAdams0109

@BenAdams0109 Does missing local acceptance mean startup should put the job back in the unsubmitted queue, or can acceptance have occurred without reaching that record?

20 points
BE
BenAdams0109
Replying to YasminBennett0702

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.

14 points
RA
RaviChen1172
Replying to BenAdams0109

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

22 points
AM
AmyCarter0989
Replying to RaviChen1172

Our offline replay will interrupt between remote acceptance and local acknowledgement persistence, then verify that startup preserves uncertainty without issuing another request.

15 points
DA
DavidArcher0432
Replying to AmyCarter0989

@AmyCarter0989 Which evidence is sufficient to resolve the outcome? Matching acceptance establishes that the request was accepted, but not that inspection completed.

9 points
AM
AmyCarter0989
Replying to DavidArcher0432

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

5 points
BE
BenAdams0109
Replying to AmyCarter0989

@AmyCarter0989 Attach the reconciliation source when you update the result. Preserve the interruption in history so the finished record still explains how you established it.

18 points
YA
YasminBennett0702
Replying to BenAdams0109

@BenAdams0109 How do you preserve that history without leaving every old state visible as the current result? Can the main record still change?

7 points
BE
BenAdams0109
Replying to YasminBennett0702

@YasminBennett0702 The current view can change. Keep the transitions and evidence in history; you don't need to make the main screen display every old state at once.

14 points
RA
RaviChen1172
Replying to BenAdams0109

My setup showed uncertain jobs apart from the unsubmitted queue. That stopped people treating both lists as a pile of work waiting to be launched.

14 points
AM
AmyCarter0989
Replying to RaviChen1172

Our display will distinguish uncertain attempts from unsubmitted work, replacing the broad pending label that has been concealing the difference.

6 points
DA
DavidArcher0432
Replying to AmyCarter0989

The persistent state and startup rules need the same distinction as the display; presentation alone won't change the automatic resubmission behaviour.

5 points
AM
AmyCarter0989
Replying to DavidArcher0432

@DavidArcher0432 The final result and recovery implementation remain unresolved. I've retained the attempt as uncertain and kept it out of the automatic resend queue.

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