Skip to content

fix(signaling): retry transient data plane signaling failures - #6234

Merged
wolf4ood merged 1 commit into
eclipse-edc:mainfrom
wolf4ood:fix/6177_signaling_transient_failures
Nov 13, 2026
Merged

wolf4ood merged 1 commit into
eclipse-edc:mainfrom
wolf4ood:fix/6177_signaling_transient_failures

Conversation

@wolf4ood

@wolf4ood wolf4ood commented Nov 13, 2026 •

Copy link
Copy Markdown
Contributor

What this PR changes/adds

  • DataPlaneSignalingClient classifies failures:

    • a signal that could not be delivered (timeout, I/O error), a 5xx response of the data plane, or an authorization that could not be obtained → ERROR_RETRY;
    • a 4xx → FATAL_ERROR.

    The transfer process state machine retries ERROR_RETRY with its backoff and retry limit (edc.transfer.send.retry.*) for every signal (prepare, start, suspend, resume, terminate, started, completed).

  • DataPlaneSignalingFlowController documents the known limitations of a retried prepare/start.

Why it does that

Every signaling failure was final (StatusResult.fatalError), so a slow or briefly unavailable data plane terminated transfers instead of delaying them (#6177).

Further notes

Known limitations, documented in the javadoc and not addressed here:

  • The HTTP client still re-sends a start/prepare whose response timed out. If the data plane created the flow anyway, it rejects the duplicate with a 4xx, and the transfer fails. The same applies to a retry by the state machine. Recovering from a lost synchronous response would need idempotent start/prepare in the Data Plane Signaling specification.
  • A retried prepare/start selects the data plane again, so with several matching data planes it may go to another one.

Who will sponsor this feature?

Please @-mention the committer that will sponsor your feature.

Linked Issue(s)

Closes #6234

Please be sure to take a look at the contributing guidelines and our etiquette for pull requests.

@wolf4ood
wolf4ood force-pushed the fix/6177_signaling_transient_failures branch from 498d4ed to 4afb0c9 Compare November 13, 2026 14:19
@wolf4ood wolf4ood added the bug Something isn't working label Nov 13, 2026
@wolf4ood
wolf4ood marked this pull request as ready for review November 13, 2026 14:41
@wolf4ood
wolf4ood requested a review from a team as a code owner November 13, 2026 14:41
@wolf4ood
wolf4ood merged commit 2b1aeab into eclipse-edc:main Nov 13, 2026
26 of 28 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants