timed-out check comes back and completes its replacement

LucyChan1089 · 2026年6月8日 11:38 UTC

回复讨论

主帖中文翻译暂不可用,以下显示英文原文;回复保留原文。 查看英文原文

LU
LucyChan1089
My offline FR5 inspection tracker accepts a late result from the first check after its retry has started. Both checks belong to the same housing, so the housing ID does not distinguish them. Random delays reproduce it occasionally. I want a test that fails every time until the correlation is fixed.

10 条回复

JO
JoAli0244

Can you hold the first result and release it after starting the retry?

25分
LU
LucyChan1089
回复 JoAli0244

Yes. The fake transport can store outgoing requests and let the test deliver responses explicitly. I have reproduced the failure with no sleeps: start one check, expire it, start the retry, deliver the first result. The retry becomes complete immediately.

17分
JO
JoAli0244

Then assert the retry stays pending before delivering its own result.

7分
OL
OliverChan1059

We had a similar test that passed after adding IDs, then failed after a process restart because the counter started again. Distinguish attempts across the lifetime where old events can still arrive. Housing identity and attempt identity are doing different jobs here.

21分
JO
JoAli0244

Does the response carry the attempt ID, or only the request?

8分
LU
LucyChan1089
回复 JoAli0244

Only the request did. I changed the fake responder and tracker to carry and compare an attempt token end to end. The old result now leaves the retry pending; its matching result completes it. We still need to agree that token with the real interface owner.

-2分
JO
JoAli0244

Have you delivered the matching result twice as well?

17分
MA
MayaBarnes0562

What happens if the pending attempt is cancelled before its matching result arrives?

17分
LU
LucyChan1089

The duplicate produces no second completion in the new test. Cancellation also stays final when its matching result arrives later. These pass in the offline tracker only; the restart case and production transport agreement are still outstanding.

25分
AN
AnikaBennett0769

Keep that explicit event delivery helper; it makes each ordering readable, and someone maintaining this later won't have to interpret a handful of mysterious sleep durations

20分

参与讨论

欢迎来到 Application Robot

所有人都可以阅读论坛。登录或注册后即可发起讨论、回复或上传照片。

忘记密码?

注册账号即表示你同意我们的 使用条款 和 社区准则。请阅读我们的 隐私政策 ,了解我们如何处理你的信息。