ODS - Changes & Fixes
This page covers the changes and fixes provided to ODS IPF Release 2025.2.0
ODS
New
-
Versioning of PDS Objects
-
Added pdsObjectId, version and metadata to PDS payloads and entries.
-
Added links to both the PDS history and the self ODS Object ID URL for the PDS object that is searched for using any of the PDS V2 API’s.
-
A new Akka Cluster Singleton can be enabled to execute a recurrent housekeeping task that enriches the
pdsObjectIdfield for PDS objects persisted before IPF Release 2025.2.0. When enabled, legacy PDS database entries will be gradually migrated, allowing ODS Inquiry to search for them using theirpdsObjectIdvalue. This task applies to PDS objects that do not currently have a value for thepdsObjectIdfield.
-
-
Configuration Changes:
-
To enable recurrent housekeeping task that enriches the
pdsObjectIdthis must be set to true, default is false.-
ods.housekeeping.pds-object-id-enrichment.enabled
-
-
To control the maximum number of PDS objects that will be enriched in a single execution, default is 1000.
-
ods.housekeeping.pds-object-id-enrichment.limit
-
-
-
CSM search field housekeeping task
-
A housekeeping task that enriches the Summary CSM search field for summaries persisted before IPF Release 2025.1.0.
-
See the Summary Csm Enrichment documentation.
-
Changed
-
Versioning of PDS Objects
Changed /api/v2/all/pds-objects/{name} to /api/v2/all/pds-objects/{odsObjectId} to align with other processing data API’s, this is a BREAKING CHANGE. -
Changed /api/v2/all/pds-objects/{name}/history to /api/v2/all/pds-objects/{pdsObjectId}/history, this was kept backwards compatible as pdsObjectId is made up of the unitOfWorkId and the type name.
-
Deprecated getLatestByUnitOfWorkIdAndName and getHistoryByUnitOfWorkIdAndName, in favour of getByOdsObjectId and getHistoryByPdsObjectId
-
Deprecated GetPdsObjectRequest in favour of GetPdsRequest which only relies on the odsObjectId rather than a unitOfWorkId and a type name.
-
Deprecated GetHistoryRequest in favour of GetPdsHistoryRequest which only relies on the pdsObjectId rather than a unitOfWorkId and a type name (pdsObjectId is made up of the unitOfWorkId and the type name, so is equivalent).
-
-
Configuration Path Change for Identity Enrichment Task
-
Configuration path for Summary Identity Enrichment housekeeping task has updated from
ods.persistence.housekeeping.summary.identity-enrichmenttoods.housekeeping.summary-identity-enrichment. -
For backwards compatibility, the identity enricher still supports the older configuration paths. If both the new and old configuration paths are specified, the new path will take precedence.
-
The table below lists all impacted configuration keys and their corresponding new values
-
| Previous configuration | New configuration |
|---|---|
ods.persistence.housekeeping.summary.identity-enrichment.enabled |
ods.housekeeping.summary-identity-enrichment.enabled |
ods.persistence.housekeeping.summary.identity-enrichment.initial-delay |
ods.housekeeping.summary-identity-enrichment.initial-delay |
ods.persistence.housekeeping.summary.identity-enrichment.frequency |
ods.housekeeping.summary-identity-enrichment.frequency |
ods.persistence.housekeeping.summary.identity-enrichment.restart-settings.min-backoff |
ods.housekeeping.summary-identity-enrichment.restart-settings.min-backoff |
ods.persistence.housekeeping.summary.identity-enrichment.restart-settings.max-backoff |
ods.housekeeping.summary-identity-enrichment.restart-settings.max-backoff |
ods.persistence.housekeeping.summary.identity-enrichment.restart-settings.jitter-factor |
ods.housekeeping.summary-identity-enrichment.restart-settings.jitter-factor |
-
Reformat transactionData in ODS details API (/api/v2/views/details/{unitOfWorkId})
transactionDatafield now returns an empty object and is deprecated.-
New field
mdsadded to details schema, which returns all the latest mdsObjects for a unitOfWorkId, grouped by MDS object type.
-
-
Make ODS data version agnostic
-
CSM and PaymentType PDS types are now configurable for metrics but also have a default configuration if using IPF and not client-specific types.
-
PDS values for metrics are now extracted through config using JsonPointer notation, this has been kept backwards compatible for dot-notation.
-
To migrate from dot notation to JsonPointer notation, you will need to replace all dots
.with forward slashes/and add a forward slash/at the beginning of your path, this is because JsonPointer requires a leading slash to indicate the root of the path. Here is an example below:
-
-
Fixed
-
There is now a possibility of emitting OdsIngestionFailed (system event) in ods when it fails to ingestion. It requires configuring explained in the ods docs. PAY-13828
-
There is now a possibility of emitting ArchiveBundlingFailed (system event) in archiving when it fails to bundle. It requires configuring explained in the archiving docs. PAY-13828