[
https://issues.apache.org/jira/browse/AURORA-691?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14250120#comment-14250120
]
Maxim Khutornenko commented on AURORA-691:
------------------------------------------
Dual writing on the scheduler is not enough. In order to safely drop the old
field client needs to dual read as well. Otherwise, no matter how many versions
apart we will always break older clients when a final scheduler version is
deployed.
Consider the current example:
- 0.5.0 - scheduler starts dual writing. Clients of all versions are supported
- 0.6.0 - no changes
- 0.7.0 - scheduler AND client are updated to drop the old field completely.
Clients 0.6.0 and lower are broken unable to find the old (populatedDEPRECATED)
value.
I have raised AURORA-973 in an effort to document our thrift deprecation
procedure. Will update it with this example.
> Remove populated field in PopulateJobResult struct
> --------------------------------------------------
>
> Key: AURORA-691
> URL: https://issues.apache.org/jira/browse/AURORA-691
> Project: Aurora
> Issue Type: Task
> Components: Scheduler
> Reporter: Maxim Khutornenko
> Assignee: Maxim Khutornenko
>
> In api.thrift:PopulateJobResult, the {{populated}} field (id 1) is deprecated
> in favor of {{taskConfig}} (id 2).
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)