Hello,
this is a bit of a continuation of this thread which ended with “TBD”.
I’d like to describe our current deployment and ask if we pieced the documentation together in a working upgrade solution, with some additional questions.
We have workflows implemented using java sdk version 1.0.0.
We have temporal service version 1.0.0 deployed from helm charts, the store is MySQL.
-
We upgrade our java sdk to
1.5.1. (as I understand, this is not required and it could stay on1.0.0and would work either way) -
We perform database schema update. This is a bit tricky to me as a manual step but as I see it we have two options:
- Build the binary with
make sql-temporal-toolfrom the go source.
The readme claims we should justmakebut is that necessary for the sql-temporal-tool only?
After that, we would need to copy the contents of/schema/mysql/v57and run the individualv1.1,v1.2andv1.3temporal andv1.1visibility updates. - The
tamporal-sql-toolbinary is already available locally inadmin-tools, but since we don’t know if it is the latest version, we would probably still need to somehow first upgradeadmin-toolsfirst and mount the/schema/mysql/v57there.
Or is it safe to assume that the binary has not changed incompatibly and only mounting the sql schema updates intoadmin-toolsand using what is in there for1.0.0is OK?
- At this point our database schema is updated and backwards compatible, meaning it does not break our
1.0.0temporal service deployments. Is that correct?
And what remains is the rollinghelm upgradeitself.
Considering the questions, have I described the upgrade procedure correctly? And also, is this the recommended way to do it? Or is there a more “straightforward” way, something like the admin-tools performing the backwards compatible database schema upgrades when they are upgraded themselves?