Repository navigation
Replies: 1 comment 1 reply
|
Hi @AndrYurk The PR mention did not touch any data addresss or EDR generation. Just for clarification The data address is a DSP concept and fly over DSP protocol. The EDR is a client side concept materialized in the EDR API/Cache which wrap the data address from DSP and enrich it with local information like agreement, transfer process and other info. I don't recognize that shape of the data address object which I guess is from a transfer process callback json. On my environment using edc 0.18.0 I get this object which does not contain the agreementId nor the participantId nor the process id. how does those properties gets populated in your case?. If in a custom dataplane on the controlplane -> dataplane message you only get the local agreement id The |
Uh oh!
There was an error while loading. Please reload this page.
Since #5275, ContractAgreement has two identifiers:
id (agr_id) — the local, per-connector entity id (FK in ContractNegotiation/TransferProcess, used in the management APIs).
agreementId (agr_agreement_id) — the shared id that "acts as the id in the protocol layer between the consumer and provider" (per the DR).
The DR is explicit that the local id "will no longer represent the identifier of the contract shared between parties," i.e. anything crossing the party boundary should use the shared agreementId.
Observation (two separate connectors)
On a consumer TransferProcessStarted callback, the two ids don't line up:
The dataAddress is minted by the provider data plane, and its agreementId is the provider's local agr_id. That value doesn't appear in any consumer-side API (the consumer's @id and agreementId resolve to its own ids), so the consumer cannot correlate the EDR back to its agreement.
Questions
Is it intended that the EDR dataAddress.agreementId exposes the provider's local agr_id, or should it be the shared agr_agreement_id (consistent with the DR's "protocol layer between consumer and provider")?
All reactions