Cluster upgrade from 1.14.4 -> 1.9.0 - serverVersion changes but current version stays 1.14.4

I read through the docs and all the threads related to the temporal server upgrade and I still have some trouble to complete the upgrade.

I have a fresh cluster of self hosted temporal on AWS ecs. I created it in a following way:

  1. I created postgres database for temporal and temporal visibility
  2. I set up schema v0.0 for temporal and temporal visibility
  3. I ran the update-schema with admin tools 1.14.4 for temporal and temporal visibility

Started frontend, matching, history and worker on ecs. Everything works great, I can run the workflows and the command tctl admin cluster d returns

...
"serverVersion": "1.14.4" 
...
"versionInfo": {
    "current": {
      "version": "1.14.4",
      "releaseTime": "2022-01-21T23:00:00Z"
    },
...

Next step is the upgrade → 1.15.2:

  1. I ran the update-schema with admin tools 1.15.2 for temporal and temporal visibility
  2. I updated all the containers to 1.15.2 docker image

Again everything works fine and I can run workflows. But when I ran tctl admin cluster d:

...
"serverVersion": "1.15.2" 
...
"versionInfo": {
    "current": {
      "version": "1.14.4",
      "releaseTime": "2022-01-21T23:00:00Z"
    },
...

And I am not really sure if the upgrade was completed successfully. I tried to move forward with the next version 1.16.2 and even 1.17.6 where there is an actual update of the schema but the result is the same. The current version stays 1.14.4 and the serverVersion gets updated.

Is there something I am missing?

versionInfo

Do no rely on this, the cluster polls our api periodically to get notifications of of new version releases, it seems that service might not have been updated yet.
If versionInfo does not update please open an issue in github.com/temporalio/temporal/issues.

Rely only on serverVersion for the server version your server says its on.

Thank you, that is exactly the thing I wanted to hear :slight_smile:. That UI banner reminding me to upgrade stressed me a lot lol.

@mdon

You can prevent the UI from checking whether there is a new version by setting the env variable TEMPORAL_NOTIFY_ON_NEW_VERSION=false

1 Like