Details
-
Bug
-
Status: Open (View Workflow)
-
P2
-
Resolution: Unresolved
-
None
-
None
-
-
CP: Sprint 154, CP: Sprint 155, CP: Sprint 156, CP: sprint 157, CP: Sprint 158, CP: Sprint 159, CP: Sprint 160
-
Core: Platform
-
Not Scheduled
-
TBD
Description
Reproduction and initial investigation
Having done some investigation to reproduce this, it also affects fetching the user and
searching. All of which fail for a user with a date of birth of 0000-01-01.
If the date of birth is provided on user creation, then I believe the record is created in the database however the API request fails (with a 500 error). This does not happen for the edit because that does not deserialize the updated representation from the database when responding.
I have removed the records that I used for manual testing from the snapshot environment, otherwise folks
Possible underlying cause
The invalid value (0000-01-01) gets converted to +0000-01-01T00:00:00.000+00:00 when it is stored in the database, which when retrieved causes the following deseralization error:
com.fasterxml.jackson.databind.exc.InvalidFormatException: Cannot deserialize value of type `java.util.Date` from String "+0000-01-01T00:00:00.000+00:00": not a valid representation
It is this asymmetry (the value is allowed on the way in and not on the way out) that causes this situation to occur.
As the serialization / deseralization of the record is done by Jackson configured by RMB, I think we are likely going to need the assistance of the Core Platform team to identify what needs to be done to rectify this.
TestRail: Results
Attachments
Issue Links
- blocks
-
MODUSERS-320 User with invalid date value will break /users/expire/timer API
-
- Closed
-
- relates to
-
MODUSERBL-103 One bad records blocks API from returning entire result set
-
- Draft
-
- mentioned in
-
Page Loading...