Upgrading Temporal and workflows in retry state

We have a Temporal instance that is heavily used but severely out of date version-wise. We want to move to the Temporal Cloud or set up another upgraded Temporal instance. Is there a recommendation or best practice on how to point to the new Temporal instance while also remaining connected to the old Temporal instance so that workflows in a retry state will be able to complete?

As an example, in case this is not clear, we might have workflows that deliver data to customers but their servers are not receiving at the moment so we will retry for 4 days to send the data. If we point to a new Temporal server, how will these workflows that are being retried complete? Thank you.

I think you can start all new executions on Cloud/new cluster and let the existing ones complete. Once they complete can remove the old cluster and workers that poll it.

That’s what it seems like. So the code needs to be modified to connect to both the old and the new Temporal instances but route all new workflows to the new instance. Then when the workflows have all completed on the old instance, that code can be removed.

1 Like