Skip to content

Withdrawn - #174

Closed
mp-orkes wants to merge 7 commits into
mainfrom
feat/client-error-is-definite
Closed

mp-orkes wants to merge 7 commits into
mainfrom
feat/client-error-is-definite

Conversation

@mp-orkes

@mp-orkes mp-orkes commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

Withdrawn, I'll open another PR after considering alternatives to error.isDefinite()

mp-orkes and others added 7 commits October 1, 2026 20:23
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JvEmz7CHxsyLEmhWwPWm7F
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JvEmz7CHxsyLEmhWwPWm7F
…nitenessTest

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JvEmz7CHxsyLEmhWwPWm7F
…, align IOException sibling

MetadataResource.save can throw PAYMENT_REQUIRED (402) after registerWorkflowDef already
committed the write, so definiteFor(402) was wrongly telling callers a retry was safe.
ApiException#toString() never printed the definite flag, so log readers still had no way
to tell a logged failure's definiteness, which was the core ask behind this flag. The
print is placed outside the status>0 guard so it still shows for the Jepsen status==0 case.
checkAndUploadToExternalStorage's local JSON-serialization failure is a pre-transmission
error like its payload-threshold sibling, so it now gets the same setDefinite(true).
Also fixes a broken {@link #isRetryable()} javadoc reference (Lombok-generated, unresolvable).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JvEmz7CHxsyLEmhWwPWm7F
…ers cleanly at status==0

The prior change appended ", definite: ..." unconditionally after a brace that was only
opened inside the status>0 guard, so the status==0 case (the Jepsen case this flag exists
for) rendered a stray leading comma with no opening brace. Open " {" unconditionally and
move the separator inside the guard instead, so status>0 renders byte-identical to before
and status==0 now renders " {definite: false}".

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JvEmz7CHxsyLEmhWwPWm7F
@mp-orkes mp-orkes changed the title feat(client): tell callers whether a failed request definitely did not happen Withdrawn Oct 2, 2026
@mp-orkes mp-orkes closed this Oct 2, 2026
@mp-orkes
mp-orkes deleted the feat/client-error-is-definite branch October 2, 2026 01:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant