Skip to content

v1.15.0

Compare
Choose a tag to compare
@yux0 yux0 released this 12 Feb 04:46
0e9f415

Release Highlights

tctl

  • A new sub-command is added that lists all Cluster information: tctl admin cluster list

API

  • Option to enable auto-forwarding over all APIs.
  • De-duplicate SignalWithStartWorkflowExecution requests on RequestID.

Namespace promotion

  • Support local Namespace promotion and handle Workflow version correctly.
  • Allow updating enableGlobalNamepsace config from false to true .
  • Allow Namespace update operations from non-master Clusters.
  • Allow removal of Clusters from the replication Cluster list.

Cron

  • Update cron to v3.0 and add CronSchedule Timezone support.

Metrics and logging

  • Several metrics and logging improvements in History client and Matching client.
  • Fix History client and Matching client error logging with nil return error.

Visibility

  • Replace Cassandra visibility TTL with explicit DELETE.
  • Support visibility dual-write to multiple Elasticsearch indices.

Other

  • Upgrade to go 1.17.6.
  • Upgrade SDK to v1.13.
  • Switch scanner to scan over visibility.
  • Update OpenTelemetry to v1.2.0 and OpenTelemetry Metrics to v0.25.0.

Improvements and fixes

  • Several test improvements on coverage and flaky tests.
  • Fix SQLite concurrency bug fixes.
  • Improvements in database schema setup and update tooling.
  • Several improvements on handling loss of shard ownership.
  • Improvements to sync matches and task dispatch in Matching engine.
  • Handle namespaceNotActive error correctly with ParentChildPolicy Workflows.
  • Correctly handle “History not found” error in History Archival.
  • Handle SQL duplicate-key case in fetching History.
  • Apply ParentClosePolicy to Child Workflow only.
  • Trigger History node validation in Workflow updates.
  • Detect stale cache when RecordChildExecutionCompleted.
  • Use latest Worker identity for pending Activity.
  • Disallow marking an Activity as cancelled without a prior request to cancel the Activity.
  • Initialize shard controller with fx.
  • Initialize shard correctly in ExecutionMutableStateSuite.
  • Fix fail Workflow Task and generate new Workflow Task in Workflow Heartbeats.
  • Notify new Tasks when Workflow is potentially updated.
  • Use next-page token when listing Cluster metadata from database.
  • Fix transient Workflow Task check in getRawHistory.
  • Fix reference count in DeleteHistoryBranch.
  • New Task flush buffer in Matching engine.
  • Fix custom Search Attribute for Child Workflow and Continue-As-New.

Internal refactoring

  • Extend Cassandra test utility methods so that they can be executed from outside.
  • Separate History engine factory from handler.
  • Move Workflow deletion logic to DeleteManager.
  • Add ExecutionInfo field to InternalWorkflowSnapshot.
  • Rename InternalWorkflowSnapshot.ExecutionInfo to ExecutionInfoBlo.
  • Simplify LRU cache implementation.

All changes

2022-02-08 - fb8a5e0 - Fix admin handler getTaskType implementation (#2474)
2022-02-08 - cdb4fa0 - Use throttled logger and use error type in metrics client (#2477)
2022-02-08 - 670d99c - Move search attribute validator and mapper calls to frontend service (#2476)
2022-02-08 - 5fcfe25 - Remove unused queue processor (#2473)
2022-02-08 - 0e9f415 - Add error type for logging in clients (#2480)
2022-02-08 - 01d071a - Fix conflict error handling (#2469)
2022-02-05 - b2c7ee1 - Update invalid command message (#2468)
2022-02-05 - 8f88254 - Fix matching client error logging (#2471)
2022-02-05 - 16871d7 - fix error logging for history client (#2472)
2022-02-04 - e642020 - Upgrade base images (#2467)
2022-02-04 - 8c81dbc - Handle history not found error when archiving history (#2465)
2022-02-04 - 89c17cc - Remove dynamic config translation map (#2462)
2022-02-04 - 6e7489a - Order delete workflow execution steps and document the order (#2466)
2022-02-03 - a7abf84 - Updated README for running BuildKite tests locally (#2459)
2022-02-02 - d2d1e3d - Add more test for namespace migration (#2450)
2022-02-02 - 9454db2 - Update developer tools (#2454)
2022-02-02 - 515900d - Updated SetUpCassandraDatabase to take an actual logger instead of creating a NoopLogger. (#2453)
2022-02-02 - 4d41efc - Set task queue name in DescribeWorkflowExecutionResponse (#2455)
2022-02-02 - 4670e98 - Update go dependencies (#2452)
2022-02-02 - 0447a17 - Assign LastFirstTransactionID correctly (#2438)
2022-02-01 - fe89dd4 - Update SDK version to 1.13.0 (#2445)
2022-02-01 - a9ebd01 - Use namespace function to check active cluster (#2449)
2022-02-01 - 9fc6b63 - Address late review comments from #2365 (#2441)
2022-02-01 - 3eb7730 - Convert ConverterError to InvalidArgument in standard visibility parser (#2437)
2022-02-01 - 2503c84 - Added GetVersionedSchemaFilesInOrder helper function to cassandra_test_util.go (#2436)
2022-02-01 - 0e547dc - Remove unused resource struct (#2444)
2022-01-31 - 8c30d1d - Remove hacky force flush buffer check (#2439)
2022-01-31 - 736fabf - Single binary server (SQLite) and concurrency bugfixes for in memory storages (#2114)
2022-01-31 - 4600713 - Add RawTokenKeyProvider (#2420)
2022-01-31 - 426621d - Handle buffered events during namespace migration / promotion (#2440)
2022-01-28 - f4c4ab6 - Fix task queue user latency (#2431)
2022-01-28 - c0cac88 - Allow global namespace update from all clusters (#2429)
2022-01-28 - a7ab9a2 - Allow remove cluster from namespace cluster list (#2432)
2022-01-28 - 6c1f2ff - Set git revision at build from env variable (#2428)
2022-01-28 - 46376c0 - Integration test: retry with empty task response (#2433)
2022-01-28 - 31dc2f8 - Moved Cassandra test utility methods to a new file so they can be used outside of temporal repo (#2434)
2022-01-27 - fcd3148 - Add resource_exhausted_cause metrics tag (#2423)
2022-01-27 - f9c6ddf - Add DeleteWorkflowExecution API to history service (#2311)
2022-01-27 - b80a54f - Updated schema tool to work with full semantic versions, i.e., MAJOR.MINOR.PATCH (#2417)
2022-01-27 - aceda14 - Update XDC integration test to use add remote cluster api (#2424)
2022-01-27 - 7388783 - Allow update initial failover version and version increment (#2425)
2022-01-26 - e5c7c7c - Handle namespaceNotActive error in parentClosePolicy workflow (#2394)
2022-01-26 - b87d605 - Fix fake cluster for empty version (#2376)
2022-01-26 - b042650 - Update replication fetcher lifecycle (#2421)
2022-01-26 - a69c45c - Expose pending workflow task information (#2416)
2022-01-26 - 735e057 - Add metrics on replication lag and replication task apply latency (#2404)
2022-01-26 - 6ebaa80 - Add dynamic config for force search attributes refresh (#2422)
2022-01-26 - 0bf97af - Remove namespace from GetSystemInfo call (#2418)
2022-01-25 - 57cdbe3 - Correct branch name in docker image build pipeline (#2413)
2022-01-25 - 2a88779 - Add pipeline to trigger Temporal docker images build (#2399)
2022-01-24 - ab519c9 - Replace Cassandra visibility TTL with explicit DELETE (#2387)
2022-01-24 - 87dc0ef - Handle SQL duplicate key case (#2410)
2022-01-24 - 410b593 - Separate history engine factory from handler (#2409)
2022-01-24 - 3377e64 - Verify run IDs in archival int test (#2411)
2022-01-21 - aff2a82 - Use base-server:1.5.0 after recent update (#2402)
2022-01-21 - 65e4958 - Check SDK versions via version check call (#2365)
2022-01-21 - 43b4531 - Extract workflow execution delete code to workflow.DeleteManager (#2388)
2022-01-20 - e16c038 - Added ExecutionInfo field to InternalWorkflowSnapshot (#2392)
2022-01-20 - c74cb49 - Fix c symbol in caCert variable name (#2397)
2022-01-20 - b8a36d6 - Switch force-replication to scan over visibility (#2386)
2022-01-20 - aa69178 - Build docker image using Buildkite (#2400)
2022-01-20 - 7e9a789 - Remove go mod init from dockerize build in base-server.Dockerfile (#2393)
2022-01-20 - 1e19178 - Add validation for invalid starttime filter for standard visibility (#2401)
2022-01-20 - 17f330d - Wire up cluster metadata in start fx DI (#2398)
2022-01-20 - 0ff1b16 - Enable cgo by default and disable it explicitly for docker image build (#2396)
2022-01-20 - 07cda1b - Apply parentClosePolicy to child workflow only (#2390)
2022-01-19 - 28f78d5 - Separate SQL session management into a dedicated file (#2391)
2022-01-18 - 26d1806 - Update OpenTelemetry to v1.2.0 and OpenTelemetry Metrics to v0.25.0 (#2385)
2022-01-18 - 24ca4e8 - Renamed InternalWorkflowSnapshot.ExecutionInfo to ExecutionInfoBlob. (#2384)
2022-01-14 - 773e18a - [Docker build] fix defaults with variables in templates (#2378)
2022-01-14 - 71093d7 - Trigger history node validation & trimming logic within write path (#2379)
2022-01-13 - eb95443 - Add admin api to list all cluster information (#2377)
2022-01-13 - 72e5b67 - Remove dummy registrations in sdk integration test (#2349)
2022-01-12 - f3780d0 - Option to enable forwarding all APIs (#2367)
2022-01-12 - ba30aa8 - Check max taskID instead of max read level when process task (#2371)
2022-01-12 - 434ec0e - Favor local config value on enable global namespace (#2368)
2022-01-12 - 12bbccb - Add more tests to history cache (#2373)
2022-01-12 - 00a49ab - Remove removal function away from LRU cache for simplicity (#2372)
2022-01-11 - dc208e9 - add basic rate limit to force replication workflow (#2364)
2022-01-11 - c61e2c8 - Support visibility dual write to different ES indices (#2359)
2022-01-11 - b3c8586 - Include more API to Cassandra read after write inconsistency protection (#2366)
2022-01-11 - aa62866 - Unload shard if loaded task ID is greater than max transfer ID (#2361)
2022-01-11 - 86605c4 - [Docker build] add separate visibility env vars for different db instance (#2362)
2022-01-11 - 6e4cdc0 - Remove cluster metadata dual write (#2358)
2022-01-10 - b33d241 - make tests more extensible/reusable by other tests (#2357)
2022-01-07 - d01b1c7 - Dedup SignalWithStart based on RequestId (#2356)
2022-01-07 - b0e2c05 - Reduce heartbeat timeout for flaky test (#2351)
2022-01-07 - 16bf19d - Use actual worker in onebox setup. (#2352)
2022-01-06 - ffc6071 - Unload shard when ownership lost (#2355)
2022-01-06 - fde1e4e - Detecting stale cache when RecordChildExecutionCompleted (#2354)
2022-01-06 - cf6c03e - Use latest worker identity for pending activity (#2350)
2022-01-06 - b13fccf - Set Fossa to run non-blocking (#2348)
2022-01-06 - 9ed152f - Fix LRU cache eviction behavior (#2353)
2022-01-06 - 46eafc9 - add link to explain docker builds and auto setup (#2346)
2022-01-06 - 327591b - Use error message for tiered storage (#2347)
2022-01-05 - ec65088 - Disallow marking activity as cancelled without activity being request cancelled first (#2344)
2022-01-05 - 7a695e5 - Replace abandoned dgrijalva/jwt-go with golang-jwt/jwt (#2339)
2022-01-05 - 412035f - Rewrite TestCronWorkflow_Failed/Succeeded as SDK integration tests (#2345)
2022-01-04 - dc0c75a - Add missing err returns (#2250)
2022-01-04 - 7ae02e3 - Add logging to matching / history client (#2340)
2022-01-03 - f689eeb - Cleans up some comments for ServerOptions #2337
2022-01-03 - 4d9faa2 - Initialize shard controller with fx (#2319)
2021-12-30 - 733a052 - Fix fail workflow task and generate new workflow task (#2335)
2021-12-30 - 633e456 - Initialize shard correctly in ExecutionMutableStateSuite (#2336)
2021-12-30 - 05f584c - Notify new tasks when workflow is potentially updated (#2334)
2021-12-29 - e9a1cc9 - Update failover version for namespace promote (#2332)
2021-12-29 - 26278fd - Add metrics to ns migration workflows (#2326)
2021-12-29 - 1e02664 - Use page token when list cluster metadata from DB (#2331)
2021-12-28 - c191883 - Add lag and pending tasks metrics for visibility queue (#2328)
2021-12-28 - 94ef184 - Fix remote sync match for standby namespaces (#2327)
2021-12-28 - 81ce604 - Fix queue diff metrics for disabled clusters (#2329)
2021-12-27 - e1fa8f2 - Fix transient workflow task check in getRawHistory (#2324)
2021-12-27 - d61a454 - Fix reference count in DeleteHistoryBranch (#2323)
2021-12-27 - 097fa79 - Fix flaky Test_ActivityTimeouts (#2325)
2021-12-20 - f61e90f - Update cron to v3.0 + CronSchedule Timezone support (#2215)
2021-12-20 - e61e8fe - Update DB task manager (#2310)
2021-12-20 - bdbfb60 - Use --target for docker builds (#2273)
2021-12-20 - 929c1cd - Add tzdata to server base image and binary (#2277)
2021-12-20 - 0f2bcc8 - New GetSystemInfo RPC (#2309)
2021-12-18 - c80744d - Revert persistence rate limit error type (#2312)
2021-12-15 - c95a34e - Matching sync match task should not have completion function (#2307)
2021-12-15 - a619fd4 - Make matching service executeWithRetry function stateless (#2305)
2021-12-15 - 8e9a8d4 - Use metrics.Client for sdk.metrics.Handler (#2302)
2021-12-15 - 8750b1c - Deflake/rewrite TestActivityHeartbeatDetailsDuringRetry test (#2304)
2021-12-15 - 67b06d6 - Add basic metrics unit tests (#2271)
2021-12-14 - adf5747 - Use persistence config consistency for schema version check (#2291)
2021-12-14 - 18d1d06 - New matching task flush buffer (#2286)

Helpful links to get you started with Temporal

Temporal Docs
Server
Docker Compose
Helm Chart

Docker images for this release (use tag 1.15.0)

Server
Server With Auto Setup (what is Auto-Setup?)
Admin-Tools