Details
-
Task
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
-
None
-
Patch
Description
Currently, there are two options to execute a rolling restart, however both are undesirable — either use the restartShards endpoint and implement batching client-side, or use startJobUpdate with slightly modified task config so that a non-empty job diff forces an update. I propose adding a new thrift RPC for launching a rolling restart, which is an interface around the existing upgrade logic. Instead of requiring a TaskConfig and instanceCount, this restart endpoint will only accept JobUpdateSettings and will simply launch an update with the currently used task configuration. All of the existing job update RPCs will still be able to access updates which were launched from this restart endpoint. This ensures restarts are available in the UI and no additional storage changes are required.
Design doc here: https://docs.google.com/document/d/13xm23SfIRy5zMro82Ok8dRCsr7lKcC0_UUO_tJX21wQ/edit?usp=sharing