How does Cadence perform client version compatibility check #4369
-
我们的cadence server部署的是0.20.0版本,然后cadence client中import的cadence是0.16.0,这两边的cadence版本不一致会有什么问题吗? |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
By convention, Cadence server is always compatible to old clients, but may not for newer clients. Cadence is using "SDK feature version" to compare, and perform the compatibility check if you enable the "ClientVersionCheck" feature by dynamic config:
This feature is optional. You can enable it if you want to get some early protection. To look at feature versions, for examples: This is the highest feature version that 0.21.3 server support for go client: This is feature version of 0.16.0 go client : 3.2.0 Java client feature version is defined For other versions of servers/clients, you can replace the tag in the URL to see it. ========Chinese version=============== 这个是0.16.0 go client 的feature version: 都是1.6,所以是完全兼容. 首先,sever会向下兼容老的client,但可能会没法支持新的client. 如果你需要让这个错误更明显一些,需要在server 开启feature version checking. 默认是关闭的。开启后如果client 太新,会报类似的错误https://stackoverflow.com/questions/68217385/what-is-clientversionnotsupportederror-and-how-to-resolve-it |
Beta Was this translation helpful? Give feedback.
-
Similarly 3.2.0 Java client feature version is defined 0.20.0 server supported java client feature version is defined in https://github.com/uber/cadence/blob/v0.20.0/common/client/versionChecker.go#L45 For other versions of servers/clients, you can replace the tag in the URL to see it. |
Beta Was this translation helpful? Give feedback.
Similarly
3.2.0 Java client feature version is defined
https://github.com/uber/cadence-java-client/blob/v3.2.0/src/main/java/com/uber/cadence/internal/Version.java#L46
0.20.0 server supported java client feature version is defined in https://github.com/uber/cadence/blob/v0.20.0/common/client/versionChecker.go#L45
For other versions of servers/clients, you can replace the tag in the URL to see it.
In the future, we will show the feature version information in the binary as well after this PR is released: #4308