Skip to content

feat: enforce participant context state on dsp layer - #6142

Merged
wolf4ood merged 2 commits into
eclipse-edc:mainfrom
wolf4ood:fix/participant_context_state
Oct 21, 2026
Merged

wolf4ood merged 2 commits into
eclipse-edc:mainfrom
wolf4ood:fix/participant_context_state

Conversation

@wolf4ood

Copy link
Copy Markdown
Contributor

What this PR changes/adds

  • Service.
    • ParticipantContextService gets activateParticipantContext and deactivateParticipantContext.
    • updateParticipantContext keeps the stored state, so a PUT no longer resets it to CREATED.
    • ParticipantContext.toBuilder() now copies the identity. It was missing, which made toBuilder().build() fail.
  • Management API v5. New admin-only endpoints (management-api:admin):
    • POST /v5/participants/{id}/activate;
    • POST /v5/participants/{id}/deactivate.
  • Protocol API (virtual). A DEACTIVATED participant context is answered with 404, like one that does not exist:
    • by DspVirtualProfileDispatcher, which covers catalog, negotiations and transfers;
    • by /.well-known/dspace-version.

Why it does that

The participant context state was not enforced and could not be managed: only the management API authentication
filter checked DEACTIVATED (#6124), and any update reset the state (M5 in #6005).

Further notes

  • Only DEACTIVATED blocks: CREATED keeps behaving as operational.
  • Deactivation doesn't terminate anything. The state machines keep processing the ongoing negotiations and transfer
    processes, and they continue if the participant context is activated again.
  • Admin calls on the resources of a deactivated participant context, and data plane signaling, are not checked.
  • ParticipantContextService has two new methods. Custom implementations need to add them.

Who will sponsor this feature?

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

Linked Issue(s)

Part of #6005

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

@wolf4ood wolf4ood added the enhancement New feature or request label Oct 21, 2026
@wolf4ood
wolf4ood marked this pull request as ready for review October 21, 2026 14:46
@wolf4ood
wolf4ood requested a review from a team as a code owner October 21, 2026 14:46
@wolf4ood
wolf4ood merged commit 6bf78c9 into eclipse-edc:main Oct 21, 2026
32 of 33 checks passed
@wolf4ood
wolf4ood deleted the fix/participant_context_state branch October 21, 2026 14:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants