Skip to content

Releases: cadence-workflow/cadence

v1.3.4

20 Aug 19:33
d0d0a12
Compare
Choose a tag to compare

What's Changed

Added

Changed

  • Better lifecycle management in the shard executor library by @jakobht in #7095
  • [shard-distributor] Refactor storage and provide heartbeat storage API by @3vilhamster in #7090
  • Support decoding cluster selection policy payload in cli by @taylanisikdemir in #7115
  • [shard-distributor] AssignShards method fills ownership of the shards by @3vilhamster in #7114
  • [shard-distributor] Change the configuration name by @3vilhamster in #7117
  • [shard-distributor] Connect handler to the storage by @3vilhamster in #7118
  • Use different task retry policy for active and standby tasks in history queuev2 by @Shaddoll in #7108
  • We now use a raw tally scope for the client by @jakobht in #7119
  • Update merge virtual slices to support merging slices with different predicates by @Shaddoll in #7120
  • [active-active] ListDomains shouldn't fill ActiveClusterName with current cluster by @taylanisikdemir in #7137
  • [active-active] Switch to queuev2 by @taylanisikdemir in #7138
  • Update change log for release v1.3.3 by @neil-xie in #7139

Fixed

  • Fix standby task processing for history queue v1 by @Shaddoll in #7121
  • Make sure that task backlog metric is emitted in each gettaskspump run by @Shaddoll in #7123
  • [active-active] Fix failover version updates during failover by @taylanisikdemir in #7125
  • Fixed the startup so it does not depend on the fx timeout by @jakobht in #7127
  • Fix task priority assigner for history queue v2 by @Shaddoll in #7131
  • [active-active] Fix active cluster lookup in request forwarding layer by @taylanisikdemir in #7136

Removed

  • [shard-distributor] Executor cleanup removes shard ownership information by @3vilhamster in #7113

Full Changelog: v1.3.3...v1.3.4

v1.3.4-prerelease09

12 Aug 23:30
b5fe924
Compare
Choose a tag to compare
v1.3.4-prerelease09 Pre-release
Pre-release

Changes since v1.3.4-prerelease08

Features & Improvements

  • Makes the option to pass in a GoCQL connection public (#7154)
  • Exposes constructor for Cassandra DB instance tooling use (#7153)
  • Implement handler for queue pending task count alert (#7150)

Bug Fixes & Reliability

  • Fix thrift decode test flakyness (#7160)
  • Catch scroll node not found exception and start fresh scroll (#7155)

Testing & CI

  • Run replication simulation scenarios as part of CI (#7158)
  • Test reapply events active-active logic (#7135)

Infrastructure

  • Use a target-arch-compatible (and more up to date) version of dockerize (#7149)
  • Fix Best Practice in Rule File (#7152)

v1.3.3

06 Aug 17:41
5b5baa7
Compare
Choose a tag to compare

What's Changed

Added

  • Add metrics to queue v2 tracking the number of pending tasks by @Shaddoll in #7002
  • Cluster redirection e2e tests by @taylanisikdemir in #7007
  • Add CronOverlapPolicy to CQL commands in Update/Create WorkflowExecution by @timl3136 in #7010
  • Add pull request support for the buildkite to github actions migration by @mandyschen in #7009
  • Add Ephemeral TaskLists by @natemort in #7017
  • Add more metrics for history task processing by @Shaddoll in #7022
  • add docker-compose for filestore archiver by @shijiesheng in #7032
  • Add Integration Tests to Test Cron Overlap Policy and fix missing mapping for CronOverlapPolicy by @timl3136 in #7012
  • VISIBILITY_ARCHIVAL_STATUS setup for archival filestore by @vishwa-uber in #7043
  • [active-active] Support CLI operations for active-active domains by @taylanisikdemir in #7049
  • [shard-distributor] Added proto file for the shard distributor executor API by @jakobht in #7057
  • [shard-distributor] Add assign shards loop to the leader elected process by @3vilhamster in #7056
  • [shard-distributor] Added a client interface for the shard distributor executors by @jakobht in #7065
  • [shard-distributor] Add heartbeat cleanup loop by @3vilhamster in #7064
  • [shard-distributor] Add metrics for assing loop by @3vilhamster in #7066
  • Cadence LLM Friendly Rule File by @jayne-s in #7051
  • Add active-active basic simulation as CI job by @taylanisikdemir in #7072
  • Active-passive to active-active domain migration support by @taylanisikdemir in #7071
  • [scripts] Introduce a script that will create release/prerelease by @3vilhamster in #6954
  • Add cronOverlapPolicy and activeClusterSelectionPolicy to mapping functions in replication and mutable statue builder by @timl3136 in #7086
  • Created executer client SDK as an fx module by @jakobht in #7074
  • [authz] Introduce new type of permissions for poll APIs by @sankari165 in #7077
  • add unit test for not like query in custom search attributes by @shijiesheng in #7084

Changed

Fixed

  • Fix IDL submodule branch checking in CI workflows by @timl3136 in #7013
  • [active-active] Fix active cluster policy propagation and domain replication mappers by @taylanisikdemir in #7024
  • Fix data race in ValidateAndUpdateFailoverMarkers by @timl3136 in #7027
  • Fix TestOfferOrTimeout_SyncMatchTimedOut flaky test in matcher_test by @fimanishi in #7033
  • Fix history task latency metric for timer queue v2 by @Shaddoll in #7031
  • Fix task attempt metric by @Shaddoll in #7035
  • Fix task schedule latency metric by @Shaddoll in #7055
  • Fix standby timer task timestamp for history queue v2 by @Shaddoll in #7058
  • [CLI] fix domain deprecation security flag to be optional by @shijiesheng in #7061
  • [shard-distributor] Fix election tests not waiting for the election stop by @3vilhamster in #7063
  • [wf-describe]Fix negative ExpirationTimestamp when activity retry has no expiration by @gazi-yestemirova in #7068
  • Fix nil pointer for TaskListKind in SQL serialization by @natemort in #7078

Removed

New Contributors

Full Changelog: v1.3.2...v1.3.3

v1.3.2

03 Jul 19:57
ec5588f
Compare
Choose a tag to compare

What's Changed

Added

  • History QueueV2: Introduce pending task tracker component by @Shaddoll in #6962
  • Add domain tag back to frontend's poller request metrics by @Shaddoll in #6963
  • History QueueV2: Introduce active-standby task executor by @Shaddoll in #6964
  • adding some utilities for scripting by @davidporter-id-au in #6958
  • Add a design doc for history queue v2 by @Shaddoll in #6969
  • Introduce virtual slice and queue reader component for queuev2 by @Shaddoll in #6967
  • Add metrics to task processor to track migration by @Shaddoll in #6975
  • Introduce virtual queue component for queuev2 by @Shaddoll in #6974
  • Add retry visibility to client operations by @timl3136 in #6976
  • Implement BufferOneCronWorkflow behavior in CronOverlapPolicy to cron GetBackoffForNextSchedule by @timl3136 in #6968
  • Implement history queuev2 by @Shaddoll in #6978
  • Implement mapping for CronOverlapPolicy in Persistence layer by @timl3136 in #6985
  • [Active-active] Introduce cluster selection strategy by @taylanisikdemir in #6988
  • Introduce history queue v2 factory and feature flags to enable queue v2 by @Shaddoll in #6986
  • [active-active] Use active cluster selection policy to determine failover version of new workflows by @taylanisikdemir in #6991
  • Dashboard for persistence - Grafana/Prometheus by @vishwa-uber in #6984
  • Add rate limiter and metrics to history queue v2 by @Shaddoll in #6990
  • [active-active] Get active cluster selection policy from DB by @taylanisikdemir in #6994

Changed

  • Truncate timestamp of scheduled tasks to the min precision of Database timestamp by @Shaddoll in #6961
  • Update/fix documentation of active-active by @taylanisikdemir in #6965
  • [Wf-Diagnostics] handle pagination during fetching of history events by @sankari165 in #6959
  • [history] Mark task HandleError as logger Helper by @3vilhamster in #6972
  • [frontend/history] Mark common error handlers with logger.Helper() by @3vilhamster in #6973
  • Update the Cadence IDL module to include CronOverLapPolicy and sync types/shared.go by @timl3136 in #6980
  • Modify mapper function to add CronOverlapPolicy between shared/thrift/proto encoding by @timl3136 in #6983
  • Updating workflow_execution & activity_info types in Cassandra to support cron overlap policy, active-active domain, ephemeral tasklist features by @taylanisikdemir in #6989
  • Do not submit corrupted history tasks to scheduler by @Shaddoll in #6999

Fixed

Removed

Full Changelog: v1.3.1...v1.3.2

v1.3.1

11 Jun 17:42
647beb9
Compare
Choose a tag to compare

What's Changed

  • fix: fix incorrect nil return value by @huochexizhan in #6695
  • Active-active domain support - Part 3/N by @taylanisikdemir in #6850
  • Unify methods of history tasks in shard component by @Shaddoll in #6868
  • [service][fx] Move a few more components to fx and make shard distributor service have it's own dependencies by @3vilhamster in #6859
  • [domain deletion]Add validation acitivity after terminating open wfs by @gazi-yestemirova in #6867
  • Add proper categorization for client connection closing error by @timl3136 in #6844
  • Fix flaky unit tests for sequential task processor by @Shaddoll in #6872
  • Emit Target Peer IP address in Error Messages for Better Debugging by @timl3136 in #6863
  • Fix Parent workflow is not notified of child workflow completion issue by @Shaddoll in #6871
  • Fix flaky integration test in TestConcurrentlyForkAndAppendBranches by @timl3136 in #6860
  • [dependencies][clock] Update github.com/jonboulle/clockwork and provide context wrappers by @3vilhamster in #6876
  • Removed deprecated mock clock and replaced with the new timeSource by @jakobht in #6878
  • [integration_tests][persistent_base] Fix of time sensitive test by @3vilhamster in #6879
  • Added retries on creating the cassandra client. by @jakobht in #6877
  • Unify history task methods of shard context component - part2 by @Shaddoll in #6873
  • Fix not enough columns to scan issue for InsertInitialQueueMetadataRe… by @shijiesheng in #6881
  • Change License to Apache 2.0 by @demirkayaender in #6882
  • Serialize shard data by @Shaddoll in #6869
  • [common][clock] Adjust clock interface to avoid extra type assertions by @3vilhamster in #6886
  • [common][clock] Introduce context aware sleep by @3vilhamster in #6887
  • Add cache count and cache full metrics to base cache for enhanced monitoring by @timl3136 in #6890
  • Polish active cluster manager implementation and add tests by @taylanisikdemir in #6885
  • [domain deprecation]Integrate domain deprecation workflow with CLI by @gazi-yestemirova in #6870
  • [sharddistributor][leaderelection] Introduce leader election mechanism by @3vilhamster in #6889
  • Fix TestReplicationTaskFetcherSuite/TestLifecycle unit test by @Shaddoll in #6894
  • Update shard info to store queue state for history queue v2 by @Shaddoll in #6884
  • Add missing dynamicConfig propagation for execution cache byte size by @timl3136 in #6896
  • Generalize domain failover callback registration by @fimanishi in #6874
  • [Wf-Diagnostics] Update diagnostics result to follow structure for all issue types by @sankari165 in #6893
  • [Wf-diagnostics] add issue ID for issues and root causes by @sankari165 in #6899
  • Unify methods for creating history tasks by @Shaddoll in #6901
  • Add a new cache eviction metric by @timl3136 in #6902
  • [sharddistributor] Add leader election into sharddistributor service by @3vilhamster in #6900
  • [Wf-Diagnostics] map issue to rootcause in diagnostics workflow by @sankari165 in #6904
  • reducing log noise during timer cleanup by @davidporter-id-au in #6906
  • [domain-deletion]Introduce a new API for domain deletion by @gazi-yestemirova in #6905
  • [sharddistributor] Remove dependecy on Cadence config by @3vilhamster in #6911
  • Refactor history queue factory by @Shaddoll in #6907
  • Tuning grafana client queries to have domain as a filter by @vishwa-uber in #6856
  • Refactor client.Bean to return error instead of panicking by @Shaddoll in #6912
  • Refactor ndc history resender to handle multiple remote clusters by @Shaddoll in #6913
  • [common][log] Fixing logger stacktraces by @3vilhamster in #6917
  • Reduce repetitive warn and error logging in base lru cache by @timl3136 in #6914
  • [sharddistributor] Downgrade etcd client to a more stable version by @3vilhamster in #6916
  • [sharddistributor] Fix missalignment on etcd modules by @3vilhamster in #6921
  • Grafana front-end dashboard by @vishwa-uber in #6891
  • Refactor history task key by @Shaddoll in #6919
  • Grafana cadence-matching dashboard for prometheus by @vishwa-uber in #6895
  • Add capability to have multiple domains in replication simulation by @fimanishi in #6923
  • Disconnect tasklist pollers on domain failover using callback by @fimanishi in #6903
  • [domain-deletion]Introduce a feature flag to control domain deletion by @gazi-yestemirova in #6920
  • [domain-deletion]Add handler to process delete domain replication task by @gazi-yestemirova in #6918
  • Define submodules by @3vilhamster in #6924
  • Add a new parameter of context.Context to the Operation in retryer & inject retryCount to retryable operations by @timl3136 in #6922
  • Decouple workflowExecutionStartToCloseTimeout from workflowDuration in replication simulation by @fimanishi in #6926
  • [sharddistributor] Fix election related tests and code by @3vilhamster in #6927
  • [common] metricsfx separation of modules with external tally and without by @3vilhamster in #6928
  • Add workflowType to operation parameters in replication simulation by @fimanishi in #6930
  • Add is_retry metrics to retryable persistence operations by @timl3136 in #6929
  • Undo replace directives in main go.mod by @Groxx in #6937
  • Restructure workflows for replication simulation by @fimanishi in #6936
  • Fix gomod lint by @Groxx in #6938
  • [persistence] Mark logger.Error messages from wrapping layers as a Helper by @3vilhamster in #6925
  • [domain-deletion]Add domain delete CLI command by @gazi-yestemirova in #6908
  • Fix error shadowing issue for cluster redirection handler by @Shaddoll in #6935
  • Add shard ID tag to passive replication tasks by @timl3136 in #6933
  • Domain idl changes for active-active by @taylanisikdemir in #6915
  • Define internal types for queuev2 by @Shaddoll in #6931
  • Add support of SQLite storage in cadence server by @arzonus in #6940
  • Remove soft fail from integration-test-sqlite by @arzonus in #6944
  • Update activecluster config in sqlblobs by @taylanisikdemir in #6941
  • Improve the implementation of NoopScope by @Shaddoll in #6942
  • Disconnect sticky tasklist blocked pollers after domain failover by @fimanishi in #6943
  • Don't convert yarpc Unknown errors to error string by @natemort in #6949
  • Add error logging to elasticsearch and opensearch by @Groxx in #6947
  • [Wf-Diagnostics] update issueID to start from 0 by @sankari165 in #6952
  • [common][rin...
Read more

v1.3.0

14 May 18:08
4134777
Compare
Choose a tag to compare

What's Changed

Added

Changed

Fixed

Read more

v1.2.19-prerelease08

23 Apr 00:23
bcf5c01
Compare
Choose a tag to compare
v1.2.19-prerelease08 Pre-release
Pre-release

What's Changed

Full Changelog: v1.2.19-prerelease07...v1.2.19-prerelease08

v1.2.19-prerelease07

22 Apr 22:46
41a85e0
Compare
Choose a tag to compare
v1.2.19-prerelease07 Pre-release
Pre-release

What's Changed

Full Changelog: v1.2.19-prerelease06...v1.2.19-prerelease07

v1.2.19-prerelease06

18 Apr 22:13
8af6346
Compare
Choose a tag to compare
v1.2.19-prerelease06 Pre-release
Pre-release
Add more logs to improve visibility around shard/engine/queue compone…

v1.2.18

03 Apr 22:06
2c2a590
Compare
Choose a tag to compare

What's Changed

Important Notice:

There's a new opt-in feature for autoscale of tasklist partitions. It's optional but recommended for large scale use cases. Please refer to tasklist-partition-config.md for additional details on the migration and its rationale.

Added

Changed

  • update web image in docker compose by @Assem-Uber in #6680
  • Validate TaskList partition updates via CLI are safe by @natemort in #6682
  • Reprioritize responses of GetReplicationMessagesResponse in frontend by @arzonus in #6696
  • Reprioritize responses of GetReplicationMessagesResponse in history by @arzonus in #6710
  • Restructure Admin TaskList commands to operate on multiple types by @natemort in #6712
  • Ratelimiter-wrapper improvement: don't release the lock when synchronously rejecting a Wait by @Groxx in #6721
  • Replace min/max helpers with built-in min/max by @Juneezee in #6674
  • Set default task list load balancer strategy to weighted by @Shaddoll in #6723
  • Update Cassandra to write history tasks to new columns by @Shaddoll in #6685
  • Append unauthorized errors in CLI with message to check domain and cluster input by @sankari165 in #6728
  • Unify range delete method for history tasks by @Shaddoll in #6729
  • Update isolationLoadbalancer to use isolation group assignment by @natemort in #6725
  • Move time source from db layer to PersistenceManager by @ribaraka in #6646
  • Unify task range queries by @Shaddoll in #6732
  • Unify history task query - part 1 by @Shaddoll in #6734
  • Support OpenSearch in esAnalyzer by @neil-xie in #6738
  • Migrate history task scheduler to domain based WRR scheduler by @Shaddoll in #6720
  • Hide the actual values for context headers in visibility store by @neil-xie in #6735

Fixed

  • Use lower case when parse read/write visibility store names by @neil-xie in #6688
  • [Wf-Diagnostics] fix input mappers for identity field in Diagnose Workflow API by @sankari165 in #6690
  • Don't log error when an ES request fails due to a version conflict by @neil-xie in #6717
  • Fix unit tests for Nosql execution store by @Shaddoll in #6730
  • Bugfix/fixing history deletion on reset failure (1/2) - adding documentation/tests by @davidporter-id-au in #6740
  • Fix replication task serialization by @Shaddoll in #6741

Removed

New Contributors

Full Changelog: v1.2.17...v1.2.18