Skip to content

Releases: uber/cadence

v0.3.13 Release

11 Jun 19:50
8d47f5a
Compare
Choose a tag to compare
v0.3.13 Release Pre-release
Pre-release

Change log:
8d47f5a V0.3.12 patch (#829)
476c9bb Prevent duplicate user timer creation (#832)
8f6952d only global domain will use the v2 domain table (#831)
8441b49 Admin CLI: add describeHistoryHost (#826)
dccf888 Add ActivityScheduleTimeout deduction logic (#822)
7154288 Fix CLI parseTime for listworkflow (#824)
34c6e50 Fix print event version in CLI (#821)
5f40ae1 CLI: add history event version and full detail options (#817)
0d5583f Use workflowID as partition key on replication message (#820)
b947875 bugfix: should use shard's domain notification version (#818)
9eaa3dc Conflict Resolver bugfix (#816)
54e34f4 Reliable Domain Change Notification (#777)
42f44b6 Fix bug in adiminCLI: convert domain name to donmainID using domainCache (#812)
6573843 Always enable sticky when worker ask new task from complete (#811)
166ef58 Ut conflict resolver (#806)
772d653 Implement describeMutableState (#805)
1eb53c3 fix typo in getMutableState (#801)
a7ebd05 Multiple bugfixes (#803)
dd00c27 Fix error during Ringpop refresh (#802)
edfa972 Mutiple Bugfixes (#794)
4ae0147 CrossDC bugfixes to replication task generation and conflict resolver (#799)
ad90819 Update and move dockerfile-cli, add to auto build (#793)
076fb3d Add Dockerfile for CLI (#730)
0aef123 Add tips/directions for prod setups with cadence-cassandra-tool (#788)

v0.3.12 Release

26 May 04:10
7e5afe5
Compare
Choose a tag to compare
v0.3.12 Release Pre-release
Pre-release
Bugfix, reset mutable state empty UUID (#784)

* add .vscode to .gitignore

* bugfix: empty uuid in reset mutable state

v0.3.11 Release

18 Apr 00:39
f57cd0d
Compare
Choose a tag to compare

This releases includes some changes necessary for cross dc (still in progress) and other bugfixes.

New Features and Improvements

CLI Improvement

#606 CLI: make show,list workflow looks better
#636 CLI: add descirbe workflow execution
#640 Add unit tests for CLI commands
#649 Increase CLI version to 0.5.2
#657 Add CLI show workflow progress

New Feature

#621 SignalWithStart API: Cadence added support sending signals ensuring signal delivery for the following cases:

  • if workflow is running, it will signal success (same as existing SignalWorkflow behavior);
  • If workflow is not running, it will restart that workflow and then signal;
  • If workflow is not found, it will start workflow using input args and then signal

Cross DC Support (In Development)

This release has partial changes which are needed for supporting replication of workflow execution state across Cadence clusters. This feature is in development and should not be enabled in production clusters. Most of the changes included in this release either require spinning up a new Cadence role (worker) or hidden behind a Global Domain feature flag.

#604 Persistence support for replication state for execution
#618 Add helper functions in domain cache for events replication
#619 Bugfix: when setting up new cluster, there should be a way do replication of domain
#624 Support for generating replication task on workflow execution updates
#628 Support workflow execution CRUD without replication state
#625 DB & schema change for timer / transfer queue cross DC support
#632 Publish replication task to Kafka after reading from replicator queue
#635 Replication task processor bugfixes
#630 Separate timer queue ack manager in separate file, add functionality to timer queue processor to be cluster aware.
#643 Apply replication history events to passive cluster
#639 Add standby timer processing logic, separate existing timer processing logic into active & standby
#650 Add transfer task standby processor skeleton
#671 Add configuration check to enable standby timer processor

Stability Fixes

#616 Shard consistency is not using local qurom
#642 Fix multiple bugs in frontend
#644 Return BadRequestError from beginning
#655 When multiple activity got timeouted, there will be at most one being actually deleted in Cassandra
#658 Recreate activity heartbeat timeout after first timer fire
#665 Cache get function, when in pin mode, should not increase the counter before return
#670 Relax heartbeat timer check to allow heartbeats with incorrect IDs
#667 Mutable state should be reset if the operation is not successfully

Schema Changes

#604 Persistence support for replication state for execution
#625 DB & schema change for timer / transfer queue cross DC support

Miscellaneous

#601 history service should do event reordering making sure corresponding events for decision will have exactly the same order and no irrelevant event will be inserted in between, so client can predict the event ID of a corresponding decision.
#602 separate timer in timer queue processor into dedicated file, add UT
#631 Add retry in some frontend API
#647 Add missing fields to WorkflowExecutionStartedEventAttributes
#654 Add new members to receive docker build notifications
#627 Bump cadence-web to 1.1.1
#666 Fix misspell

v0.3.9 Release

14 Mar 19:28
6ad47ff
Compare
Choose a tag to compare

This releases fixes an issue with docker image to correctly bring up Cadence server.

v0.3.8 Release

13 Mar 23:42
dff860e
Compare
Choose a tag to compare

This is a patch for release to v0.3.7 to fix the following critical stability issue:
1f1d16f - Visibility records not getting moved to closed_executions for child workflows (#610)

v0.3.7 Release

13 Mar 16:11
35bf3de
Compare
Choose a tag to compare

New Features and Improvements

Cadence CLI

This release includes long awaited cadence CLI. Please see for more details

Cross DC Support (In Development)

This release has partial changes which are needed for supporting replication of workflow execution state across Cadence clusters. This feature is in development and should not be enabled in production clusters. Most of the changes included in this release either require spinning up a new Cadence role (worker) or hidden behind a Global Domain feature flag.

  • 1a9baeb - refactor existing domain API for cross DC, refactor existing domain p… (#527)
  • 952e86d - add separate config files for cross dc (#530)
  • d429f53 - move cross DC domain replication config from 0.4 to 0.5 (#542)
  • f059d31 - bugfix: add missing config for docker (#546)
  • 2740e6b - Cadence Worker service to host replicator (#563)
  • ad78f5f - make register domain aware of active cluster name (#576)
  • 095fbd7 - Config changes to start replicator for standby cluster (#575)
  • d914e07 - rename domain version to db_version, move failover_version to top level (#582)
  • f265fd8 - Kafka based publisher for replication tasks (#585)
  • 4a60ac3 - Replicate domain (#586)
  • 5c6cb08 - wire replicator transmission to domain APIs (#590)
  • 5782955 - use mock kafka producer in frontend before cross DC is ready (#594)

RequestCancel and Signal Decision Improvements

We made multiple fixes to transfer queue processing of request cancel decision and fixed quite a lot of edge cases with processing of both request cancel workflow and signal workflow decision handling.

  • ce52993 - bugfix: request cancel info should be pass down to persistence layer, add functionality to allow workflow signal and cancellation to specify target child workflow only (#544)
  • b1a2a0f - make request cancel workflow idempotent (#595)

Support for Heartbeat Using ActivityID

Dynamic Config

Added support for dynamic config for various service config knobs for Cadence roles. This allows to integrate Cadence server with custom configuration mechanism used for on premise deployment.

  • 0182700 - Define dynamic config and integrate in service bootstrap (#543)
  • 3f14209 - Create type functions and filter options for dynamic config (#587)
  • d17af66 - bugfix dynamic config (#596)

Stability Fixes

  • 051f9de - bugfix: potential null pointer error in transfer queue processor (#541)
  • 24b89d9 - Validation of decision attributes (#555)
  • 7d658c9 - bugfix: #573 sticky query should enforce sticky decision timeout (#579)
  • 35bf3de - bugfix: parent workflow, when signaling child workflow, can experienc… (#607)

Operational Improvements

  • 86e5954 - Add log in frontend API for InternalServiceError (#548)

Schema Changes

This release includes changes to Cadence core schema. All the schema changes required by new features are backwards compatible. Please make sure to deploy cadence schema 0.5 using cadence-cassandra-tool before deploying this release of Cadence server. Following are the changes which requires 0.5 version of schema:

  • 1a9baeb - refactor existing domain API for cross DC, refactor existing domain p… (#527)
  • ce52993 - bugfix: request cancel info should be pass down to persistence layer, add functionality to allow workflow signal and cancellation to specify target child workflow only (#544)
  • 4a60ac3 - Replicate domain (#586)

Miscellaneous

  • Add the cadence-web UI to docker compose (#525)
  • Fix README for cassandra tool (#553)
  • 083cb3c - update docker-compose to latest release (#549)
  • 9b56a18 - Propagate cassandra port in load schema (#558)
  • 9c2d1a1 - Change cassandra test setup to use input port (#552)
  • 9f82f5a - update docker to golang 1.9.3 (#580)

v0.3.6 Release

31 Jan 19:47
8cc9319
Compare
Choose a tag to compare

New Features and Improvements

ActivityTimeout Processing

  • 78c4b7a - Fixes various issues with ActivityTimeout Processing (#528)

Tasklist Throttling

Bug fix to ensure low throttling numbers do not cause CPU capacity spikes.

  • 4725ace - Remove throttling logs and set min burst size (#523)
  • 6fe6949 - Optimize task buffer throttling (#526)
  • 99f4899 - Fix throttling burst and add debug logs (#529)

Avoid tasklist leaks

Identify and expire unused tasklists

  • b7dc627 - Add ttl to expire and avoid leaks of sticky task lists (#510)
  • 11a308a - Unload tasklist to avoid leaks when no poller has queried recently (#519)

Cadence UI

Add docker support for cadence UI

  • 4d9fcf7 - Add the cadence-web UI to docker compose (#525)

Schema changes

Signal Workflow

Add support for sending signals in workflows in code and prevent workflows from signaling themselves.

Miscellaneous

  • b9c8eef - Use domain name in completeActivityByID instead of domainID to clarify usage (#520)
  • 9fab27a - Add integration test for respondActivityTaskCompleteByID (#524)
  • 6ce4fdc - Handle workflow already started error metrics correctly (#518)

v0.3.5 Release

18 Jan 01:35
2964f0b
Compare
Choose a tag to compare

New Features and Improvements

Sticky Query

Support for QueryTask to also use cached decider state rather than replay the entire execution to generate the result for query.

StartWorkflowExecution Flags

Support for deduping workflow execution event after completion

  • 8eaced5 - implement customized deduplication of start workflow execution API (#463)
  • b98524b - add handling of child workflow ID reuse logic (#500)

Long Poll For Workflow Completion

GetWorkflowExecutionHistory API now supports long poll completion event.

  • 5e9c49d - implement filter which allow caller choose all events or only close event of when dumping history events (#489)

Tasklist Throttling

  • 58a3ad2 - Add taskList throttling to allow users to limit activities executed per second (#432)

Visibility Improvements

  • 36c6f54 - add outstanding activities to the result of DescribeWorkflowExecution (#475)
  • 5121974 - Add API DescribeTaskList (#483)

PPROF Handler

  • 1fdb543 - add pprof config and start up logic (#478)
  • 113a644 - pprof should be initialized only once per process (#502)

Stability Fixes

  • e3afa22 - expose attempt to decision task (#466)
  • c3a2b1e - bugfix timer queue processor (#480)
  • bb03ce5 - Add metrics to persistence for visibility (#486)
  • 8a89e91 - bugfix: metrics client is initialized 2 times per shard (#484)
  • aa29ebb - Fix workflow timeout not created for new execution when ContinuedAsNew (#487)
  • 6ff9cbd - Separate history/matching failure metrics from cadence failures (#488)
  • 6fd468a - bugfix: domain retention is in days, not in seconds, so when deleting the current execution when finished, we should do a conversion (#490)
  • 7a51af2 - Move history and matching failure metric to common (#497)
  • 7ca011c - Missing Tasklist name on DecisionTaskScheduled history event (#499)
  • 65e165c - ChildWorkflow timeout not communicated to parent execution (#504)

Schema Changes

This release includes changes to Cadence core schema. All the schema changes required by new features are backwards compatible. Please make sure to deploy cadence schema 0.3 using cadence-cassandra-tool before deploying this release of Cadence server. Following are the changes which requires 0.3 version of schema:

  • 4550c4e - Add Sticky Query to Cadence Server (#464)
  • 5e9c49d - implement filter which allow caller choose all events or only close event of when dumping * history events (#489)

Miscellaneous

  • bb26b98 - Updated docker-compose to latest release (#465)
  • 26303d5 - Add instruction to update docker-compose.yml when releasing new version (#471)
  • 3c1e5bb - bugfix docker build (#479)
  • 2964f0b - fix flicky TestVisibility (#506)

v0.3.4 Release

13 Dec 00:38
963d13c
Compare
Choose a tag to compare

This release fixes some critical stability issues introduced in v0.3.3. You can skip v0.3.3 and directly upgrade to this release on top of v0.3.2, but make sure to upgrade schema as outlined in release notes for v0.3.3.

Stability Fixes

  • 6ed2014 - WorkflowExecution stuck fix on transient decision timeout (#450)
  • 7ad6d5b - fix buffered events bug (#449)
  • fffdc7e - TimerQueueProcessor to scan DB for existing timers on init (#455)
  • c844eb7 - check if workflow is closed when processing sticky timeout timer (#458)
  • 963d13c - TimerQueueProcessor stuck fix on large backlog on available timers (#460)

Miscellaneous

Schema Changes If Upgrading From v0.3.2

All the schema changes required by new features are backwards compatible please make sure to deploy cadence schema 0.2 and visibility schema 0.2 using the cadence-cassandra-tool before deploying this release of Cadence server. Following are the changes we requires 0.2 version of schema:

  • 9db7677 - Decision task failure support (#422)
  • e6697df - add sticky decision execution (#401)
  • d79841b - buffer events when decision task is inflight (#386)
  • cbc769d - Fix decision task leak with workflow timeout as ttl (#373)
  • b3d8ab3 - Reduce tombstones for open workflow executions (#395)

v0.3.3 Release

05 Dec 22:42
f7e2ff1
Compare
Choose a tag to compare

This release has a lot of new features and some important stability fixes for known Cadence server issues. This release also includes few schema changes to both cadence and visibility keyspaces. It is required to deploy schema version 0.2 of cadence and visibility keyspaces before deploying this release. Here is the list of some new features and improvements in this release.

Schema Changes

All the schema changes required by new features are backwards compatible please make sure to deploy cadence schema 0.2 and visibility schema 0.2 using the cadence-cassandra-tool before deploying this release of Cadence server. Following are the changes we requires 0.2 version of schema:

  • 9db7677 - Decision task failure support (#422)
  • e6697df - add sticky decision execution (#401)
  • d79841b - buffer events when decision task is inflight (#386)
  • cbc769d - Fix decision task leak with workflow timeout as ttl (#373)
  • b3d8ab3 - Reduce tombstones for open workflow executions (#395)

New Features and Improvements

Sticky Decider Support

Server side support for generating new decisions on sticky tasklist protected by decision schedule to start timeout.

DecisionTask Failure Support

Server side support for failing decisions tasks for scenarios like decider panics or clearing sticky tasklist.

Long Poll API for GetWorkflowExecutionHistory

  • 35a3d1d - add long pull functionality to GetWorkflowExecutionHistory (#428)

Describe Workflow Execution API

Complete Activity By ID

Buffer Events

  • d79841b - buffer events when decision task is inflight (#386)
  • 6a59d1b - remove startedEventId from PollForActivityTaskResponse (#391)
  • d0bd7ba - update startedEventId in buffered events (#392)

Running Cadence on AWS

  • 73ffdeb - Fix and update docker (#368)
  • 949009e - Extend statsd reporter to having tags appended to metric names (#378)
  • b388ca7 - Minor fixes for cadence-aws project (#379)
  • df770f5 - Add a script to autobuild docker image (#389)

Visibility Fixes

  • b3d8ab3 - Reduce tombstones for open workflow executions (#395)
  • 3970354 - Increase open execution TTL to account for shard outages (#399)

Stability Fixes

  • 3455967 - Shard lost Owner ship to preserve the owner host (#367)
  • 20f962f - After update timer ack level go back to waiting on any event (#375)
  • cbc769d - Fix decision task leak with workflow timeout as ttl (#373)
  • 0aba207 - add query failed metrics definition (#393)
  • b446766 - put firstEventID as part of nextPageToken (#419)
  • 1540be7 - Protect gettask to avoid query aborted caused by tombstone (#410)

Schema Version Check

  • 9968ec6 - Add cassandra schema version check on startup (#438)
  • d96d0d1 - Add shortcut to install cassandra schema on startup (#442)
  • f7e2ff1 - Update docker script to install cassandra schema versions (#445)

Miscellaneous