we have two fields inside of the app.residency datastructure:
As far as I can tell, these two fields do absolutely nothing in the Marathon code. Further, it seems that such has been the case since Marathon 1.1.
Worse, these two fields totally overlap with UnreachableStrategy.
Also, specifying a non-zero relaunchEscalationTimeoutSeconds and WAIT_FOREVER taskLostBehavior would, if I understand the intended purpose of these fields, lead to the former field being ignored from the latter.
I think two potential solutions are:
- Remove the fields. They have had no effect since at least Marathon 1.1.x. We haven't received any loud noises that they do have an effect.
- Impute the value of fields from UnreachableStrategy; document clearly that specifying them has no effect.
After some discussion, it seems that imputing the values is the best option
> As a user
> When I read about the residency parameters
> Then it should be clear to me that the fields are deprecated and have no effect
> When I query an app definition with residency
> Then I should see the residency fields as imputed from unreachable strategy
> When I modify the app definition residency parameters
> Then it should have no effect (silently ignored)
We will remove the fields completely in the v3 API