v0.3.11 Release
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