Migration for timezone aware timestamps #2587
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Relates to #2067
Followup to #2067. I realised that migrating from naive to offset aware timestamps for job scheduling might break existing connectors that had scheduling enabled and were using naive datatime (no tz info) representation.
I tried this scenario, as expected after migrating to new offset aware logic the scheduling was broken ... I got a following error from a scheduler
The fix is to try to cast naive datetimes, to offset aware datetimes when reading
last_access_control_sync_scheduled_at
,last_incremental_sync_scheduled_at
andlast_sync_scheduled_at
from ES index. This essentially takes care of the migration.I modified
_property_as_datetime
function to try to set datetime to UTC timezone, with thewith_utc_tz
function.The
_property_as_datetime
is used by following properties in protocol logic:last_incremental_sync_scheduled_at
this migrationlast_access_control_sync_scheduled_at
this migrationlast_sync_scheduled_at
this migrationlast_seen
- already indexed as offset aware timezone (no effect on logic)Verification
Checklists
Pre-Review Checklist
v7.13.2
,v7.14.0
,v8.0.0
)