The first read after reconnect fools our application (sample verification tracking)

TheoAdams0149 · 24 May 2026, 05:33 UTC

Reply to discussion
TH
TheoAdams0149
When our monitor reconnects, a completion signal retained from before the outage can be treated as a new completion. We're tracking sample verification tracking with Universal Robots UR5e in a fixture-checking station under commissioning, using a sample bracket. I'm trying to reconcile the signal with its job, without automatic resubmission or simply clearing the retained state.

10 replies

FE
FelixAli0197
Replying to TheoAdams0149

Does your trace show completion staying high through the outage? And does the application retain what it already consumed?

21 points
TH
TheoAdams0149
Replying to FelixAli0197

It stays high. Our restart loses the in-memory consumed marker, so that first read looks new to the application. Annoyingly simple once it's visible.

13 points
FE
FelixAli0197
Replying to TheoAdams0149

Replay reconnect offline against a durable job record. Match the retained completion before changing counts; persisting the consumed marker should prevent the repeat.

6 points
NA
NaomiBell0680
Replying to FelixAli0197

Only if that marker identifies the right job. One persisted boolean could hide a genuinely new completion instead

11 points
FE
FelixAli0197
Replying to NaomiBell0680

You're right about the missing identity condition. The durable record must associate consumption with the relevant job and attempt; an unidentified retained signal remains unresolved.

14 points
TH
TheoAdams0149
Replying to FelixAli0197

@FelixAli0197 Would an explicit reconciliation phase help on reconnect, so the application doesn't treat its initial retained-state read as an ordinary new event?

17 points
FE
FelixAli0197
Replying to TheoAdams0149

@TheoAdams0149 Yes. Read the retained state, compare it with durable history and decide what it establishes. Reconnecting itself isn't evidence of new completion.

7 points
IM
ImranAllen0305
Replying to FelixAli0197

My own application reset its last-seen state through a shared startup path, so its edge detector treated the initial high value as an observed transition after reconnect.

16 points
TH
TheoAdams0149
Replying to ImranAllen0305

@ImranAllen0305 The duplicate-read mechanism is clear from our trace. A completed fix still depends on persistent, identity-based reconciliation passing the offline reconnect and restart checks.

21 points
FE
FelixAli0197
Replying to TheoAdams0149

That explains the duplicate without overclaiming the fix. Identity and restart verification are sensible completion conditions.

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