WIP: (GONRG-1838) GCP cannot retrieve a record with space
There is a core issue with record IDs that contain encrypted space symbols (%20):
Create record RQ:
curl --location --request PUT 'https://os-storage-attcrcktoa-uc.a.run.app/api/storage/v2/records' \
--header 'Data-Partition-ID: osdu' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data-raw '[{
"id": "osdu:work-product-component--WellboreMarkerSet:Some%20Text",
...
}]'
Get record RQ:
curl --location --request GET 'https://os-storage-attcrcktoa-uc.a.run.app/api/storage/v2/records/osdu:work-product-component--WellboreMarkerSet:Some%20Text' \
--header 'Data-Partition-ID: osdu' \
--header 'Authorization: Bearer <token>'
Get record RS:
{
"code": 400,
"reason": "Validation error.",
"message": "getLatestRecordVersion.id: Not a valid record id. Found: osdu:work-product-component--WellboreMarkerSet:Some Text"
}
Expected Result
- I should be able to retrieve it by ID that was used during record creation
Actual Result 2. Its not possible to retrieve the record after
Type of change
-
Bug Fix -
Feature
Does this introduce a change in the core logic?
- [NO]
Does this introduce a change in the cloud provider implementation, if so which cloud?
-
AWS -
Azure -
GCP -
IBM -
Core
Does this introduce a breaking change?
- [NO]
What is the current behavior?
It is impossible to retrieve record from the Storage service
What is the new/expected behavior?
It is possible to retrieve record from the Storage service
Have you added/updated Unit Tests and Integration Tests?
- [NO]
Edited by Dmitriy Rudko