Currently, modifying deployed unit/composite tasks and redo cornserve-deploy will have absolutely no effect. The current behavior is very conservative, because if we allow updating the existing classes, terrible inconsistency can happen, for example: the classes are still in deployment, we updated those classes, then a service like RM/dispatcher failed and restarted, it observes the updated CR, and views a different version of the task than other services.
But a common workflow does require testing and updating the tasks. So we should add dedicated gateway endpoint to do something like
- checking if the updated unit/composite tasks are already unregistered
- update the CRs
- invalidate the task classes already fetched by the services
Currently, modifying deployed unit/composite tasks and redo
cornserve-deploywill have absolutely no effect. The current behavior is very conservative, because if we allow updating the existing classes, terrible inconsistency can happen, for example: the classes are still in deployment, we updated those classes, then a service like RM/dispatcher failed and restarted, it observes the updated CR, and views a different version of the task than other services.But a common workflow does require testing and updating the tasks. So we should add dedicated gateway endpoint to do something like