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
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 on
1.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 just
makebut is that necessary for the sql-temporal-tool only?
After that, we would need to copy the contents of
/schema/mysql/v57and run the individual
tamporal-sql-toolbinary is already available locally in
admin-tools, but since we don’t know if it is the latest version, we would probably still need to somehow first upgrade
admin-toolsfirst and mount the
Or is it safe to assume that the binary has not changed incompatibly and only mounting the sql schema updates into
admin-toolsand using what is in there for
- 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 rolling
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?