v1.5.0
Release Highlights
- The use of Kafka for visibility has been deprecated.
- Authorization code improvements and refactors.
- Small bug fixes.
Schema changes
This release includes schema changes.
Before upgrading your cluster, run the schema tool and upgrade your schema to support version 1.3
. For MySQL databases use: temporal-sql-tool
, for Cassandra use temporal-cassandra-tool
.
Below are a few examples that show how to upgrade "default" and "visibility" schemas for Cassandra.
Run these commands if you "bring your own" database.
temporal-cassandra-tool --tls --tls-ca-file $TLS_CA_FILE --user $CASSANDRA_USER --password $CASSANDRA_PASSWORD \
--endpoint $CASSANDRA_ENDPOINT --keyspace temporal --timeout 120 update --schema-dir ./schema/cassandra/temporal/versioned
temporal-cassandra-tool --tls --tls-ca-file $TLS_CA_FILE --user $CASSANDRA_USER --password $CASSANDRA_PASSWORD \
--endpoint $CASSANDRA_ENDPOINT --keyspace temporal_visibility --timeout 120 update --schema-dir ./schema/cassandra/visibility/versioned
Run these commands if you have a localhost installation:
temporal-cassandra-tool --keyspace temporal update -schema-dir schema/cassandra/temporal/versioned
temporal-cassandra-tool --keyspace temporal_visibility update -schema-dir schema/cassandra/visibility/versioned
Deprecate Kafka
UPDATE: Please use 1.5.5 release to migrate out of Kafka.
Because the use of Kafka is deprecated for visibility, to upgrade to this release in a backward compatible way you must perform the following steps:
- Rollout this release and make sure everything works.
- Add the following to your dynamic config and then perform a rolling restart:
history.visibilityQueue:
- value: "internalWithDualProcessor"
constraints: {}
- Wait for the Kafka visibility queue to drain. You may monitor the Kafka backlog, but 10 minutes should be enough.
- Change the
history.visibilityQueue
dynamic config value frominternalWithDualProcessor
tointernal
:
history.visibilityQueue:
- value: "internal"
constraints: {}
- Perform another rolling restart.
- Kafka and zookeeper are no longer used, and can be removed from the setup.
If it is acceptable to lose some visibility messages you may set the dynamic config value to internal
right away or wait for the next release where the default value will be internal
.
Change details
2020-12-08 - c96de94 - Adjust MySQL binary data upper size limit (#1056)
2020-12-09 - 32924ef - Add visibility tasks table for SQL (#1055)
2020-12-09 - 650beab - Use valid input for wfClient.GetSearchAttributes (#1067)
2020-12-09 - f67c31b - Finish migration of infinite workflow timeout (#1030)
2020-12-10 - 857c4d3 - Properly handle infinite activity timeout for SDK (#1073)
2020-12-10 - ad093b3 - Add explicit TLS settings for system workers while also supporting legacy config (#1059)
2020-12-10 - fab8274 - Bugfix: infinite timeout feature with activity & workflow retry (#1071)
2020-12-11 - 2eb1502 - Add checks for nil claims to defaultAuthorizer (#1074)
2020-12-11 - 55881bf - Replace Kafka for visibility with internal VisibilityQueue (#988)
2020-12-11 - 9ba849a - Adds log whenever we fetch bootstrap hosts for Ringpop from DB (#1076)
2020-12-11 - 9f720f7 - Wire visibility tasks for SQL (#1083)
2020-12-14 - 1abde2a - Correctly config ES for history service (#1094)
2020-12-14 - 61d9f53 - Add CLI command to check cluster health (#1091)
2020-12-14 - 7cb19f6 - Correctly config ES for frontend service (#1095)
2020-12-14 - aec3996 - Enable gRPC reflection for frontend service (#1089)
2020-12-14 - bdddc30 - Add add tasks API to DB layer (#1092)
2020-12-14 - e8f44af - Optimize delete visibility task (#1093)
2020-12-15 - e232832 - Use local quorum for Cassandra when querying schema version (#1099)
2020-12-15 - e5c28cf - Notify new task in shard context (#1097)
2020-12-15 - ff39007 - Add enforcement of namespace match for async completion tokens (#1086)
2020-12-16 - 16cd540 - Replace bool visibility queue dynamic configs with single string config (#1104)
2020-12-16 - 71499bf - Switch to using jose.JSONWebKeySet for parsing JWKS (#1101)
2020-12-16 - df20c7f - Add proper index to SQL visibility store (#1107)
2020-12-17 - 21efba4 - Add Prometheus to development dependencies (#1111)
2020-12-17 - 82ce0b4 - Add support for EC JWT keys (#1108)
2020-12-17 - a92e09b - Log details of authorization errors and return a generic unauthorized error to the caller (#1110)
2020-12-17 - ec1de64 - Properly handling task queue lease expiration (#1112)
2020-12-17 - f73e73c - Fix typo on availability zone env key (#1109)
2020-12-18 - 91e0626 - Use Prometheus as default metrics provider for all configs (#1116)
2020-12-18 - 9cb819d - Add support for extra authorization data (#1113)
2020-12-19 - 1df7e31 - Fix ES processor metrics (#1117)
2020-12-21 - 423adbc - Make metric ids globally unique (#1124)
2020-12-21 - 77acf2c - Fix authorization metrics scope (#1123)
2020-12-21 - 81de03d - Start Kafka producer in dual mode (#1121)
Helpful links to get you started with Temporal
Temporal Docs
Server
Helm Chart