Releases: cadence-workflow/cadence
v0.4.0 Release
Cadence Cross DC is now ready for production in this release. It has 2 versions of schema changes and make sure cluster is upgraded to v0.11 version of Cassandra schema before deploying this release. MySQL support is still in development and not ready for production yet.
Schema Changes
Cassandra
V0.10
9f7df73 - Handle workflow history reset, without deletion (#997)
73b18a1 - Handle 2 edge case when start cross dc workflow (#1113)
V0.11
c183384 - Implement server side retry for workflow/child workflow
5c93511 - Emit metric for various mutable state stats (#1136)
e49263d - Event thrift encoding and refactoring dataInterfaces (#1145)
54eecab - Handle activity retry and activity hearbeat for cross DC (#1166)
MySQL
42df0fc - Moved cassandra schema to schema/cassandra (#1115)
ca90227 - SQL Persistence Implementation (#1121)
9e44e46 - mysql: cleanup history, shard, task and domain persistence (#1147)
a174a4d - Next batch of SQL persistence fixes (#1176)
4eb6818 - persistence: fixes for mysql (#1184)
81c0089 - mysql: bug fixes (#1195)
New Features and Improvements
Cadence Cross DC
Cadence CrossDC feature is now production ready with this release. It is an optional feature and existing clusters can be upgraded to use this feature in production. It requires Kafka for shipping replication tasks and a new worker role in Cadence which hosts replicator to support consuming replication tasks from Kafka to apply to local cluster. Please see services/worker for more details.
39b84a0 - Add new dynamic config (#1012)
6c68917 - Abstract Kafka interface (#1003)
9f7df73 - Handle workflow history reset, without deletion (#997)
a75e30d - Bugfix: decision attempt should be handled by history replication (#1005)
bf1e4e1 - Replication info should only contains last event version & ID of other cluster (#998)
c6ef084 - Bugfix: handle the buffered events during failover (#1001)
e8c1aee - Handle domain not active error on matching side (#1011)
bd79b91 - Should not apply / buffer stale replication event (#1020)
dd25233 - Push to matching engine when standby activity / decision task exceed time limit. (#1019)
e6c5a67 - Handle history replication race case (#1025)
ea816df - Upgrade uber-go/kafka-client to 0.2.x (#1028)
5a38f2f - Bugfix: current workflow execution deletion is missing replication state, causing cassandra fail to delete the entire record (#1030)
96e49a8 - Bugfix: when processing timer / transfer task and retry on DomainNotActiveError after expiration time, should complete task (#1039)
d8ec0e0 - Bugfix: failover timer ack manager should never do look ahead (#1036)
7d2ccdc - Bugfix: when encounter rate limit exceeded error when processing task, the task should be marked as completed (#1041)
71e126f - Fix leaking kafka consumer (#1062)
2cf0577 - Bug fix: add missing filed for create/update domain on replication (#1061)
0300251 - Bugfix: history replicator, when calling terminate workflow, should use standby logic rather than active logic, since active logic will do check on version and return domain not active (#1058)
da38e42 - Bugfix: reset workflow should also reset the current execution record (#1057)
1a49292 - Add integration tests for xdc (#1078)
e488d84 - Add more cases to xdc integration test (#1086)
faa8421 - Bugfix: continue as new timer should use start time set by the event time (#1079)
1bb2faa - Bugfix: should not flush buffer if the workflow has finished (#1092)
63b5612 - Bugfix: history replicator should use last write version, not start version to check for conflict resolution. (#1090)
6bc789d - Add handling of CurrentWorkflowConditionFailedError (#1101)
4fcf57c - Add new error: internal failure, which indicate code bug. (#1119)
df53bbc - Use thriftrw binary encoding for kafka message (#1120)
4fe90bb - Bugfix error is not handled for replication task ack (#1122)
43740b2 - For Cross DC, temporarily disable activity heartbeat timer task generation on standby (#1130)
b1e68cc - Bugfix: state builder should refresh activity / user timer if activit… (#1126)
ba97e71 - Drop sync shard time task if time diff > 10 min (#1132)
5955efa - Non global domain should use empty event version (#1142)
73b18a1 - Handle 2 edge case when start cross dc workflow (#1113)
505fa98 - Bugfix: domain replication should not replicate non global domain (#1165)
02f2001 - Change timer ack manager to have readlevel per cluster (#1075)
54eecab - Handle activity retry and activity hearbeat for cross DC (#1166)
a96a8e5 - Handle Transient Decision On Standby Cluster (#1183)
MySQL Support (In Development)
1a22c01 - Refactoring of persistence unit tests (#1111)
42df0fc - Moved cassandra schema to schema/cassandra (#1115)
ca90227 - SQL Persistence Implementation (#1121)
21d69b7 - Fixed SQL metadata persistence (#1133)
593ac83 - Renamed SQL implementation classes to reflect interface names (#1138)
6207cbe - Renamed testBase.WorkflowMgr to ExecutionManager (#1140)
9e44e46 - mysql: cleanup history, shard, task and domain persistence (#1147)
e16cb02 - persistence: config refactoring to support heterogeneous datastores (#1168)
86a6f71 - persistence-test: add DBPort option (#1173)
e70b067 - persistence-test: add schemaDir option (#1171)
a174a4d - Next batch of SQL persistence fixes (#1176)
4eb6818 - persistence: fixes for mysql (#1184)
9e9969b - mysql: convert sqlx batch deletes to normal deletes (#1193)
81c0089 - mysql: bug fixes (#1195)
Server Side Retries
c183384 - Implement server side retry for workflow/child workflow
f3a9acb - retry expiration for activity (#907)
dc1922d - Extend SCHEDULE_TO_START and SCHEDULE_TO_CLOSE to expiration on retry policy (#1089)
f805d2d - Retry with heartbeat progress (#1091)
Visibility Sampling
61068e4 - Add PriorityTokenBucket (#1048)
a5732f0 - Add visibility sampling (#1059)
a0cd3f5 - Adding support for long retention to sampled workflows (#1141)
61e6eaf - Add sampling for long rentention in visibility (#1158)
Thrift Encoding For History Events
e49263d - Event thrift encoding and refactoring dataInterfaces (#1145)
468b3e3 - Bug fix: nil checking for passing bufferedReplicationTask object (#1154)
6f17033 - Add dynamic config for encoding type (#1153)
a93e79e - Bug fix: nil pointer error for appendHistory (#1157)
1391eb7 - Fix request.NewBufferedEvents (#1160)
4a3c01f - Add unit tests for bufferedEventCount/Size and clear buffered events … (#1161)
496235b - Bugfix: shard context should get default encoding before acquire shard lock, or otherwise, deadlock will happen (#1163)
Stability Fixes
bb56513 - Optimze matching getTasks with frequent break (#1008)
98e4094 - Add service protection to signal input size (#1015)
6eea91f - Add service protection to history service (#1029)
bd37bac - Handle potential coroutine leak issue (#1033)
48b77aa - Use token aware round robin policy for cassandra (#1056)
59e184f - Do not acquire all shard when doing start up. (#1047)
44f5d46 - Fix leak task for timer and transfer queue processor (#1072)
ae390d9 - Enable range delete on timer / transfer tasks (#1043)
986e93c - Fix history corruption due to deletion of events (#1087)
ef4d157 - Fix executions table conditional update failure detection (#1095)
b03dc32 - Add shard protection in case task is pending for too long (#1131)
b91d4c0 - Increase the signal size limit to 2 MB (#1149)
41cf0cf - Refactor task processing logic (#1107)
3df20a9 - Out of order history events (#1191)
Bug Fixes
2d99fa3 - Add timeout timer for renewed decision task (#1023)
ba508e2 - Change timer processor logic to Fix timer skipped issue (#970)
dc689c4 - Skip staled batch of events (#1042)
0e276d5 - Bugfix: cancel timer may cause nil pointer error (#1045)
411ea26 - Bugfix: should notify new timer if current timer scan is a failure (#1050)
86b6003 - Bugfix: reset sticky tasklist should not update mutable state if workflow finished (#1096)
b7200f4 - Fix execution table update condition for current_run_id checking and fix error msg (#1098)
1499a13 - Bugfix for missing heartbeat timer (#1108)
430d371 - Should check whether workflow has closed before processing decision (#1109)
e539407 - Bugfix: when schedule a new decision, if there is any event flushed out of the buffer, the new decision cannot be a transient decision (#1135)
6a30c59 - Bugfix: when failing decision, should also reset timer builder (#1146)
83aef38 - Bugfix: fix racing condition when a shard is to be removed and re-initialized again (#1118)
825db3a - Fix nil pointer error during ConditionFailedError (#1152)
8a00010 - Use domain ID + workflow ID + run ID as history cache key instead of … (#1151)
8693242 - Fix race issue in signalwithstart (#1167)
ab3ec46 - Force a non transient decision on sticky timeout (#1175)
bf434b7 - Bugfix: should only create one session per execution store factory (#1182)
ea5a0dd - Check if domain exists before do domain registration, (#1188)
93d05b3 - Fix sticky query timeout (#1187)
36851f2 - Add WorkflowIDResuePolicy to SignalWithStart (#1185)
dce3ea7 - When workflow finish, clear stickness (#1194)
Operational Improvements
052e9ac - Fix some issues on metrics and logging (#1009)
427f151 - Add metrics recording signal size (#1034)
a2cb9e3 - Return fmt.Errorf for internal error instead of thrift error (#1035)
524a1a7 - define metrics scope for ResetStickyTaskList (#1037)
95c7ec9 - Add metrics for task process latency (#1044)
de42b32 - Add metrics for SyncMatch (#1049)
87b12c2 - Fix retry timer metric scope (#1067)
779f2b4 - Seperate metrics of client API from service API (#1088)
3f7a3b0 - Fix missing and inconsistent metrics (#1102)
58d5da4 - Optimize debug loging for dynamic config no value (#1104)
96d0f19 - Add context timeout flag to list...
v0.3.15 Release
This release fixes some critical stability issues introduced in v0.3.14. You can skip v0.3.14 and directly upgrade to this release on top of v0.3.13, but make sure to upgrade schema as outlined in release notes for v0.3.14.
Stability Fixes
122cad8 - Bugfix: timer queue active processor missing return err (#1000)
9905bf7 - Add jitter to ack level update (#999)
CLI Improvements
2912570 - Fix CLI show history to better display long text (#994)
Schema Changes
Make sure to apply schema changes from v0.3.14 before upgrading to this release. All the schema changes required by new features are backwards compatible. Please make sure to deploy cadence schema 0.9 using cadence-cassandra-tool . Following are the changes which requires 0.9 version of schema:
710b688 - Add customized data map to domain type (#863)
3a79fc0 - Apply 5 min delay for standby task (#920)
v0.3.14 Release
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.9 using cadence-cassandra-tool before deploying this release of Cadence server. Following are the changes which requires 0.9 version of schema:
- 710b688 - Add customized data map to domain type (#863)
- 3a79fc0 - Apply 5 min delay for standby task (#920)
New Features and Improvements
Cross DC Support (In Development)
We have made a lot of progress on Cross DC replication support for Cadence workflows, but it is still not ready for production release yet. We are code complete on this feature and currently in the testing phase. Please see XDC V1 release for a list of pending tasks we are currently working on before this feature is ready for production. Here is the list of changes which went into this release for XDC support.
- 8f6952d - only global domain will use the v2 domain table (#831)
- 0fecb80 - Support for retrying messages within replicator processor (#827)
- b7d4dea - Multiple bugfixes (#823)
- 1a167d7 - Ut state builder (#808)
- 583fe1c - Handle more edge case when apply events in history replicator (#836)
- 3d019ba - handling case when reset workflow history, the target workflow has already done continue as new (#853)
- 524538d - some behavior change on worker (#847)
- a8958f0 - compact duplicate code, add more logging (#846)
- 278a773 - Add EnableGlobalDomain as dynamic config (#858)
- 9f78eca - bugfix: non global domain workflow, when started, should not generate replication task (#862)
- 710b688 - Add customized data map to domain type (#863)
- 36c617d - retry timer task for 100 times (#872)
- b501bf1 - Optimize replication task generation (#869)
- 0e397c5 - optimize queue ack manager, in case the task IDs are not sequencial. (#875)
- 5530848 - handle DomainNotActive error in timer / transfer queue (#878)
- 5cdfeb2 - dynamic set the retry for retryable error on worker processor (#883)
- 622d1a0 - bugfix: buffered replication task should be persisted (#884)
- 515df70 - Make task processors reselient to LimitExceededError (#891)
- ec2c6da - Bugfix: failover trigger should also notify activer timer / transfer … (#886)
- 9ea16c0 - Add more metrics and log, remove some dead code (#893)
- e5f07f2 - Make worker retry on 2 level, make history replicator allow option to force buffer events (#894)
- 6edece4 - Update service transient retry error predicate (#904)
- ce946a7 - Bugfix: worker should not retry on non err (#908)
- 6fa8589 - Fix replicationTask for updating domainData (#923)
- 3651ac8 - Replication worker gets stuck on busy retry (#938)
- 77a9979 - include service tag on logs emitted by worker role (#939)
- 3c9a409 - Handle service deployment causing buffer events not flushed (#940)
- 5ab74ef - bugfix: workflow can be reset after finished, while close transfer task is already created, causing panic (#935)
- fcc9b0a - Reset of mutable state should use event version (#937)
- cb87bd7 - Simplify replication worker retry logic (#945)
- 8156cde - Minimize failover impact (#948)
- 31b98fa - Pass through request timeout to replicator code path (#961)
- 23ba2b9 - Yarpc error code 13 should not be retriable (#958)
- 302f239 - Few performance optimization. (#960)
- a496241 - Add time sync functionality, to move the view of time of a remote cluster (#952)
- ab7d664 - Bugfix: timer for standby activity is not generated (#968)
- b21b809 - Adding more metrics, fix some bugs (#965)
- 152d202 - Only generate replication task for updated which has history events (#973)
- 3a79fc0 - Apply 5 min delay for standby task (#920)
- ddd0307 - Clear buffers on resetting of mutable state (#978)
- 0a3ff55 - Bugfix replication protocol (#979)
- aa5e689 - Add metrics on shard info (#980)
- 4769b55 - Bugfix: when buffering events, the last write version should remain the same (#982)
- 992a81a - Bugfix: rpc call cancel function should not use defer in for loop (#986)
- 09a1a9c - Bugfix: when failover happen and workflow has pending decision, new events on the active dide (aftter the failover) will be buffered. workflow execution context should first store the standby events (after the failover), then flush the active events. (#991)
- 287a0da - Handle deletion of task during failover (#976)
Dynamic Config
Converted all Cadence service config knobs to support dynamically updating them based on external config store. Checkout the dynamic config interface in package to bootstrap your own config store to allow dynamically updating service config.
- 1733b61 - Change cadence config to dynamic (#851)
- 49fd3c0 - Refactor and fix matching dynamic configs (#857)
- 57e8196 - Add test to ensure dynamic config key has mapped value (#922)
Stability Fixes
- 50b5d43 - add jitter to timer / transfer / replication queue sanity scan (#864)
- 4dbdfd4 - Return ShardOwnershipLostError as catch all from persistence layer (#873)
- 1844352 - Backoff on shard creation and adjust default number of persistence conns (#876)
- da1ccd6 - Fix missing decision timeout for transient decisions (#889)
- f11fff3 - Rate limit request on matching host (#899)
- 308cfc0 - Deadlock in matching engine (#909)
- ad7b522 - bugfix: rate limiter is not passed as pointer (#906)
- 7eaf360 - Fix leaking goroutine in matching (#911)
- a9a3727 - Fix check idle tasklist to include active task writers (#916)
- 98ea187 - Use current time as reference when timing out activities (#931)
- cbbff60 - Add dedupe logic for heartbeat timer creation (#962)
- 37c98ee - Force close decision on limit exceeded during task processing (#971)
Bug Fixes
- 85dbdf5 - Resolve #711: CLI panics on domain update when domain doesn't exist (#838)
- 1276b22 - bugfix: domain cache previously has a hard expiration, which cannot be updated, this expiration, in combination with periodical refresh of domains in v2 table, can cause domain missing for a short period of time. (#855)
- 11c8e38 - Fix bug in merging domain data (#918)
- 2b92fd6 - Bugfix: deadlock when domain failover (#919)
- fd7a1db - Batch of fixes (#927)
- 1864329 - Fix lock issue for timer ack level (#942)
- 19e4de2 - Add maximum timeout protection (#946)
- 17023c7 - Fix flaky test for visibility (#977)
- c4650a1 - Fix SignalWithStart open visibility not recorded (#974)
- c19a5e6 - Whitelist context deadline exceeded error for retry (#981)
- 9b832fa - Change protection of decision timeout to warn instead of reject (#993)
Operational Improvements
- 4fda6d0 - Implement ListDomain API (#879)
- d3e8f10 - Schema Tool option to configure request timeout for cql client (#900)
- 3e7ac1a - Fix noisy log (#917)
CLI Improvements
Misc
- 893c74c - Add client integration test for data converter (#809)
- e3b6cef - Fix firewall warning for CLI (#833)
- 4f8c0c3 - update docker-compose.yml (#839)
- 922b0e6 - Added header to marker (#798)
- ab30c8a - Fix flaky TestClientDataConverter_Failed (#865)
- 8510333 - Upgrade gocql version (#866)
- ca127f6 - Increase the retry initial interval on matching (#901)
- 1e0ec6c - workflow/child_workflow retry (#885)
- 492faf0 - Revert "workflow/child_workflow retry (#885)" (#910)
- 1b984ea - Add updated thriftrw gen files (#925)
- bc02cc7 - Update client version to 0.7.1 (#924)
- 1d64401 - Fix inconsistent client interface (#954)
- b6715c4 - Release CLI 0.5.4 (#953)
- 1341820 - Add integration test (#975)
- 65f9834 - glide up on cadence dependencies (#987)
v0.3.13 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
Bugfix, reset mutable state empty UUID (#784) * add .vscode to .gitignore * bugfix: empty uuid in reset mutable state
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
v0.3.9 Release
This releases fixes an issue with docker image to correctly bring up Cadence server.
v0.3.8 Release
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
New Features and Improvements
Cadence CLI
This release includes long awaited cadence CLI. Please see for more details
- 4f0eb40 - Cadence CLI (#577)
- 08652db - CLI: Add list workers of tasklist (#597)
- 0a4abbe - Increase CLI version (#603)
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
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
New Features and Improvements
ActivityTimeout Processing
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
Schema changes
Signal Workflow
Add support for sending signals in workflows in code and prevent workflows from signaling themselves.
- bd9eb9f - Add signal external workflow decision (#485)
- 8cc9319 - Handle workflow signal itself (#539)