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.0
and 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-tool
from the go source.
The readme claims we should justmake
but is that necessary for the sql-temporal-tool only?
After that, we would need to copy the contents of/schema/mysql/v57
and run the individualv1.1
,v1.2
andv1.3
temporal andv1.1
visibility updates. - The
tamporal-sql-tool
binary 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-tools
first and mount the/schema/mysql/v57
there.
Or is it safe to assume that the binary has not changed incompatibly and only mounting the sql schema updates intoadmin-tools
and using what is in there for1.0.0
is OK?
- At this point our database schema is updated and backwards compatible, meaning it does not break our
1.0.0
temporal service deployments. Is that correct?
And what remains is the rollinghelm upgrade
itself.
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?