Skip to content

Releases: uber/cadence

v0.12.0 Release

27 May 01:05
a8af61b
Compare
Choose a tag to compare

Schema Change

Cassandra cadence keyspace update from v0.23 to v0.26

New features

Multi-DC improvements and kafka deprecation (in progress)

  • b902536 Rpc replication ack level update (#3266)
  • a35fb5a Add new dynamic config filter on shard level (#3243)
  • b51ba73 Add feature flags for RPC replication migration (#3216)
  • 1399966 Add flag for replication cleanup process (#3241)
  • c5f5276 Add flag to skip reapplication filter by domain (#3249)
  • 979324b Add resend context timeout for ndc resender (#3247)
  • eb57110 Add context time into history resend with dynamic config
  • 1d866ea Add replication task history v2 to the kafka producer (#3101)
  • 6f31fd9 Add operation APIs for history replication DLQ (#3019)
  • 3108d70 Add Domain Replication DLQ (#2964)
  • d572893 Add API to fetch replication message (#2960)

Multi-tenancy task processing (in progress)

Other misc features

Stability and reliability improvements

Global rate limiting for persistence and frontend APIs

Graceful shutdown of services during deployment

  • eaa978f First pass at graceful shutdown handlers (#3134)
  • b9fc657 shardController: improvements for graceful shutdown (#3136)
  • 81e62c5 ringpop: update hashring immediately on ring change (#3130)
  • 609e999 ringpop: add method to selfEvict from ring (#3132)
  • 873f32c Start cadence-server as pid 1 so it can capture and handle shutdown signals. (#3024)-

Support getting raw history for long poll

Mutable State Checksum

Other notable changes

v0.11.0 Release

15 Feb 01:29
Compare
Choose a tag to compare

Please upgrade your Cadence server to add the new default search attribute:

cadence admin cluster add-search-attr --search_attr_key BinaryChecksums --search_attr_type 1

Schema version check is enforced, please use the sql tool to add schema enforcing tables.
For MySQL:

./cadence-sql-tool --ep $SQL_HOST_ADDR -p $port --plugin mysql --db cadence setup-schema -v 0.3
./cadence-sql-tool --ep $SQL_HOST_ADDR -p $port --plugin mysql --db cadence_visibility setup-schema -v 0.1

NOTE: Assuming you are at 0.10.x right now, the cadence schema version should be 0.3 and visibility should be 0.1.

New Features related

8f4ed1c Cadence authorization (#2903)
bd1f1d2 Expose NDC doc (#2915)
97c01c9 Sticky query support (#2899)
cba849d Implement Postgres SQL Plugin (#2889)
ccdf53d Add Postgres configuration in docker configs (#2894)
0d160a9 Support Postgres in SQL CLI and make SQL pluggable for any database (#2828)
88c6d1a Adding auto-reset points to visibility record (#2830)
3a27d38 Update archival development guide for visibility archiver (#2824)
e0ef19e Add cassandra TLS support (#2769)
519b92b Consistent query support (#2678)

Bugs fixes and improvements

e16c5a3 Dedup activity heartbeat timeout timer task creation (#3032) (#3037)
d5cd7b0 Revert commits for adding debug metrics and logging (#3033)
6bf637f Update metrics and add logging for activity timeout task (#3030)
23fa79c Add metrics for profiling activity timeout task latency (#3026)
7af39ef check if timer expired first
3578a38 Increment readLevel when skipping over expired tasks (#3020)
92754ec Revert "Add more metrics for task processing logic (#3018)"
08592c3 Fix indexer not retry on error code 500 (#3015)
939b320 Update logging tag with the correct component (#3016)
ba50eb1 Add more metrics for task processing logic (#3018)
a48bcb6 change default value of replicatorMaxRetryCount (#2988)
ca58d68 replicator: enforce maxRetryCount per domain (#2987)
646718f Fix listarchived cli command (#2998)
c805c55 Move replication context timeout to dynamic config (#2979)
f3872e0 Matching use non retry matching client (#2993)
821b400 queueProcessor: fix write on closed chan panic (#2986)
f5186f1 Eat operation not support error for change version on DB (#2950)
c710277 Better handling Cassandra data resurrection issue (#2949)
533e36b Add more options to reset batch: skip_base_not_current, non_deterministic_only (#2931)
2348e96 Enable domain update clusters info (#2940)
e057c46 Move some APIs to frontend to admin (#2939)
6c962c9 Admin command for visibility into membership info for the cluster (#2938)
e5f7c87 Fix NDC workflow events reapplication issue (#2933)
bb55504 Fix config deserilization error (#2927)
eb47ac6 Added API for getting partiton information for scalable tasklist (#2910)
618d7cc Release strict assertion for UpdateCurrentWorkflowByPass for marking workflow as corrupted state (#2907)
d81a728 Enforce ordering in reading transfer tasks (#2916)
c961861 Remove dependency requirement for gogo/protobuf v1.3.1 (#2919)
fb96273 [Kafka deprecation] Move ack level to source cluster (#2896)
8d0f6cd Add docker-compose config for postgresql for dev (#2904)
9ecec8e Added API that returns information about Cadence deployment (#2845)
3c37236 Add acquire shard time metric (#2912)
e5ceaa2 Disable mutable state sanity check for data inconsistency (#2914)
0325021 Update persistence.md (#2911)
0d60272 Test implementation for shard context (#2897)
1c6aa68 Backward compatible feature version check when clientImpl is not set (#2906)
39fabad Consistent query bug fixes (#2908)
1e63e93 Modify driver to plugin in docs for MySQL (#2909)
34f4f6c Refactor server main to make it simple to build with pulgins (#2905)
5f71093 Handle activity start not found during replication (#2902)
97de98c frontend.getHistory: add validation / sanity checks (#2900)
9e996b0 Clean up IDL for error list and returnning error in Frontend (#2901)
9ca09cc Removed cassandra-consistency from all the configs (#2898)
61d1a8a Add health metaserver to matching service (#2867)
efa68ee frontend.PollForDecisionTask: add validation to verify history is complete (#2890)
b972d8d Use concurrent loading to acquire shards: (#2888)
a76b957 Persistence refactoring to be pluggable for any database (#2836)
ac457cd Use new resource struct for history (#2875)
04732b2 Fix admin kafka cli regex (#2886)
4a5a0d6 Consistent query metrics (#2885)
83f9b21 Handle retry v2 error in replication task processor (#2876)
bf93d90 initiate graceful shutdown after SIGTERM (#2881)
2ea7256 Record binary checksum for decision task failed event (#2873)
1753126 Fix missing properties in continueasnew when workflow fail (#2883)
38ba642 Add tags to error logs in frontend (#2880)
245075c Update words with spelling (#2872)
dc5f154 Fix race condition in integration test (#2871)
41f1acc Use new resource struct for frontend (#2851)
5e0a62b logging: attempt to fix high memory on history (#2859)
a5b2ed7 Set max result window for ES integration test (#2860)
505a79e ContinueAsNew should track the workflow previous run for NDC enabled (#2853)
4b079a0 cleanup: replace noisy log with domain specific metric (#2852)
b4b4686 Adding a layer to ignore reapplied events (#2787)
6137576 Dynamic config limits for consistent query (#2842)
6189d1d Remove sticky query (#2846)
1b10ab3 Update CLI version (#2844)
04d4d42 Improve list archived API and fix print all with json (#2840)
a4e4600 Fix replicate ActivityTaskCancelRequested event if activity info not found (#2838)
5032b19 Remove Cassandra Consistency config beacuse it's it's always hard coded to local quorum (#2837)
808265e Matching query refactor (#2825)
658758a Fix mysql not supported error on server binary (#2832)
edf871d Fix NDC continue as new to non-current branch deadlock (#2831)
d553f55 Delay worker startup for service warmup (#2827)
37c4e32 CLI improve list command usage hint on timestamp (#2822)
eedf89b Fix create workflow error handling issue (#2823)
7700613 Auto forwarding should be enabled by default for global domain #2677 (#2798)
cd7d0d1 Use start event timestamp for visibility record (#2820)
42d0345 Add CadenceChangeVersion as default valid search attribute (#2817)
b9fdaa1 Dynamic config to reject query based on domain (#2804)
12cb749 Fix Visibility Archival Metrics (#2818)
21e7f99 Consistent query version check (#2762)
7774d23 Adding a counter when RespondDecisionTaskCompleted returns with empty… (#2807)
e946049 Archive visibility records when workflow close (#2814)
8109c60 Handle empty newRunHistory in stateBuilder (#2813)
95093ea Fix zombie workflow continue as new issue since new run may exits (#2812)
5c4837e Fix typo in IDL for activityTimeout (#2809)
9f314d7 Handle continue as new in resend (#2808)
14ff96b Record last activity failure reason and detail when timeout (#2806)
1fac8f6 Fix sync activity update zombie (#2805)
d4308b9 Adding logging for debugibility (#2802)
cc891e2 Fix panic if cluster metadata is not set correctly (#2799)
7924799 New persistence client bean for DB clients management (#2795)
dbd9ffc Do not expose ports for build kite tests (#2800)
17000cf Use cron workflow for history scanner workflow (#2796)
6bd2bf9 Fix race condition issue for history scavenger against archiver (#2783)
925d24d Fix workflow status check on start of transaction (#2794)
6a264d2 Improve error message for reading passed retention workflow history (#2791)
d3e9c27 update graphite-statsd (#2789)
bc1ebff Rename TaskID in TimerInfo to TaskStatus for readability (#2786)
e5b6bdb Improve 2DC NDC compatibility (#2747)
60e09ca fix linting (#2779)
0a722c0 Fix timer typos (#2784)
ef6757a Add search attrs to batch canary (#2776)
4a91284 Use different argument for cassandra address in Admin CLI (#2761)
971ea74 Fix history replicator reset context (#2774)
c98ef33 Optimize parent close policy system workflow (#2778)
ca0897b CLI: add security token to admin add search attribute (#2773)
6120c99 Visibility Archival logger tags and dynamic configs (#2775)
1046b5b Add database schema version check for mysql (#2771)
33321e2 Add security protection for admin add search attributes API (#2772)
288a7d2 Bugfix: worker startup logic (#2770)
956c1b3 Fix workflow completed race for signal/cancel/terminate (#2749)
ba9e881 Compare schema version from version.go (#2768)
5894241 Fix tasklistName for starting scanner worker (#2763)
4c6c35d Transfer active processing refactoring (#2750)
454d381 Fix out of boundary of resend events (#2755)
3b41da3 Add validation for add search attributes (#2759)
31aa7a6 Fix bug in rate limiter that does not reject request correctly based on policy (#2760)
f58eae7 Change Default Eventstore Version to 2 (#2758)
a4561ec Consistent query do not generate decision task for unhandled queries (#2732)
e89769d Update yarpc to v1.42.0 for yarpc #1798 (#2757)
539e88a CLI: add missing memo in describe workflow (#2754)
b1c0886 Fix workflow execution state (#2746)
5ac1e0b Fix bug that workflow can be continued as newed in created state (#2745)
fe0bd36 Add make target for NDC local setup (#2744)
9c41413 Make error message the same for eventual query and consistent query (#2743)
5fb6f0d Sort imports by group (#2742)
0cd0ffa Update supported client version (#2741)
bc32945 Emit separate metrics for history and visibility in archival client (#2733)
0b398c7 History DLQ implementation (#2699)
5945043 Rename DecisionTimeoutValue to DecisionStartToCloseTimeout (#2727)
a1b996d Modify state builder to use standardlized task generation logic (#2721)
ac90693 Do not initialize remote clients if cluster not enabled (#2722)
2ec6845 Add check that context is valid after trying to dispatch query on sticky (#2716)
4c557a1 Add timer seque...

Read more

v0.10.3 Release

04 Dec 22:32
Compare
Choose a tag to compare

NOTE: please ignore v0.10.2 docker release

#2760 Fix bug in rate limiter that does not reject request correctly based on policy
#2883 Fix missing properties in continue as new when workflow fail

v0.10.2 Release

27 Nov 23:35
Compare
Choose a tag to compare

892b662 Add dynamic config to disable sticky query based on domain and fix sticky query task list expire
2fb0437 Fix replicate ActivityTaskCancelRequested event if activity info not found

v0.10.1 Release

21 Nov 01:08
Compare
Choose a tag to compare

e43015f Release 0.10.1
bbaf66a Release 0.10.0
c6112ac Fix replicate ActivityTaskCancelRequested event if activity info not found (#2838)
428e71b Fix tags format after cherrypick
d6990d3 Adding backward compatiblity on pollMutableState API
21fdb82 add tag for tpath
01cc9c9 Include ability to reject queries based on domain
d34d295 Add tag for archival blobstore context timeout
2dbf463 Optimize parent close policy system workflow (#2778)
7c7361e Fix race condition issue for history scavenger against archiver (#2783)
91406ff Use cron workflow for history scanner workflow (#2797)
f860282 (andrew/0.10.x) Fix tasklistName for starting scanner worker (#2763)
deb6337 enforce size limit on query input and query result (#2766)
109505b Change Default Eventstore Version to 2 (#2758)
0251257 Fix bug that workflow can be continued as newed in created state (#2745)
e9e1ef9 Update supported client version (#2741)
89f6c09 Do not initialize remote clients if cluster not enabled (#2722)
21e471a Emit separate metrics for history and visibility in archival client (#2733)
4fbb6f8 Fix sync activity timer bug (#2706)
fe1ff90 Fix replication task nil bug (#2701)
41f93cb Bugfix: add domain name to request when only visibility archival is enabled (#2689)
3acdb70 (tag: v0.10.0) Update Kafka client for TLS config bugfix (#2688)
1da0ebf Fix missing start time in executions table (#2687)
a6e1211 Fix sync activity linting (#2686)
5534efc Handle sync activity in NDC (#2673)
8b2594c Rewrite passive task processing life cycle (#2680)
1150060 Update canary error handling (#2683)
951eb79 Delete unused folder/files (#2676)
4514b2e Adds prometheus config to config_template.yml (#2669)
961f8b3 Delete CompleteFork API from History Persistence (#2675)
cbf1d4a Properly handle error cases in mutable state (#2674)
f72adc5 Rename History Events V2 interfaces (#2660)
9ddbe2f Wire up event resend with admin client get raw history API (#2654)
6c8d531 Abort domain cache refreshment retry during shutdown (#2672)
df19cca Improve domain cache error handling (#2671)
a84e928 Flush buffer events when workflow close (#2668)
5e00abe sql-tool: fix error message (#2667)
a0cd90d Update admin CLI handle NDC version history (#2662)
99b2baa Fix docker build (#2665)
1ddc599 Rewrite workflow resetter for NDC (#2656)
16eb3d5 Deprecate historyV1 in archiver history iterator test (#2655)
58879ef Remove Deprecated code of Events V1 (#2634)
dda75d0 Remove unnecessary user timer API in timer builder (#2659)
44f69c7 Update handle update current branch logic on current workflow finish (#2657)
8be2137 Fix worker initialization issue (#2650)
189b1e1 Implement Admin Get Raw History API For NDC (#2625)
0211497 Fix issue that replication target clusters are not enforced (#2649)
4854135 Domain replication followup changes (#2648)
f756049 Domain replication ack and cleanup (#2628)
d128b8b Add domainName to archive visibility request (#2643)
376e029 Wire Kafka with NDC (#2642)
dccfa24 upgrade version which server can support (#2638)
edd14e1 Emit tasklist tag for workflow completion event (#2636)
6d70d9a Domain V1 deprecation cleanup (#2639)
ef14cb2 Support opaque and query in archiver URI (#2630)
9ac2bf1 Add metrics for visibility archiver (#2629)
62eacc8 Handle NDC randomized test edge case (#2637)
9d30d92 Fix domain cache refresh bug (#2635)
a781595 Deprecate metadata manager V1 implementation in Cassandra (#2633)
4904aca Enable NDC feature flag for integration test (#2631)
6d2ffbd Enable ndc integration test in buildkite (#2626)
673a10b Add admin domain CLI which can bypass frontend (#2624)
e2cfef9 Update CLI to support Visibility Archival (#2615)
af7e0cb Merge pull request #2620 from uber/3+DC
a74819b Merge branch 'master' into 3+DC
ac3eba1 Fix bootstarp errors (#2621)
b88ecb6 Merge branch 'master' into 3+DC
e126ebe Fix Slack invite link in README (#2619)
eed5396 Merge branch 'master' into 3+DC
10c9b78 Disable NDC for merge back to master (#2616)
c81b896 Handle visibility archival requests in system workflow (#2610)
5fa1faf Introduce in memory decision task state machine (#2597)
4a63a82 Move domain handling logic to common package (#2612)
d29385f Improve file based dynamic config client error message (#2611)
d1c4d4b Open Source Cadence Canary (#2594)
901e804 Improve cross compile functionality on Makefile (#2606)
85cc6f3 Fix clusterInfo in development_mysql.yaml (#2608)
12f051e Add protection on SQL injection for visibility (#2562)
8c06707 Fix NDC workflow reset nil pointer (#2605)
1e9e137 Add CadenceChangeVersion to search attributes (#2604)
f6a0247 Fix NDC events reapplication transaction policy (#2602)
39599a2 Add metrics when poll for decision task fail (#2600)
609b526 Improve MySQL db query index usage (#2598)
6d5494c Handle NDC events reapplication to current workflow (#2596)
6ab9324 Revert "Refactor archival workflow" (#2593)
1736590 Implement NDC events reapplication (#2577)
efe8e19 add comments to validateListOrCountRequestForQuery to clarify usage of sql statement (#2566)
7a4e0a4 Upgrade to go 1.13 (#2592)
d91a7bf Refactor archival workflow (#2583)
c6f99b2 Add nosec comments for scanner (#2568)
5f7e5dc A batch of issue fixes (#2591)
d51b8df Reset: not rely on timeout for cleanup history (#2589)
5606e0f Run go mod tidy (#2588)

v0.9.8 Release

21 Nov 01:53
a7de7c9
Compare
Choose a tag to compare

Please ignore v0.9.6, v0.9.7 and v0.9.8

This is a temporary release to get to 0.10.0 release. In 0.10.0 eventsV1 is removed, this release eases the deployment to 0.10.0. Once you deploy 0.10.0 you can roll back to this but not to 0.9.5.

v0.9.5 Release

18 Oct 22:13
Compare
Choose a tag to compare

Note

  1. Please ignore 0.9.1, 0.9.2, 0.9.3 release
  2. Please update to Cassandra schema version 0.22 before deployment.

Kafka TLS
#2688 Update Kafka client for TLS config bugfix

v0.9.4 Release

14 Oct 18:38
Compare
Choose a tag to compare

Note

  1. Please ignore 0.9.1, 0.9.2, 0.9.3 release
  2. Please update to Cassandra schema version 0.22 before deployment.

Docker Build Fix
#2665 Fix docker build

Cross Compilation
#2606 Improve cross compile functionality on Makefile

v0.9.0 Release

24 Sep 00:11
Compare
Choose a tag to compare

Batch job feature is now available.

New Cassandra Schema Version
Please update to Cassandra schema version 0.22 before deployment.

Workflow Batch Operation
#2466 Fixes and improvement for reset-batch command

Workflow Archival
#2376 Validate archival provider config on startup
#2429 Make archival config more dynamic
#2448 Add interface for visibility archival
#2467 Filestore implementation for visibility archival
#2491 Integrate Visibility Archival into the system
#2557 Fix archival config for docker

Workflow Query
#2404 IDL change to ignore queries on workflows in closed or terminated state
#2413 Reject query based on workflow state
#2427 Remove workflow watcher
#2457 Query state machine
#2463 Add queryRegistry
#2482 Query API

Workflow Parent Children Close Policy
#2446 Remove ChildPolicy IDL and code
#2450 Add ParentClosePolicy: IDL and Persistence API

Workflow Visibility
#2454 Add memo to DescribeWorkflowExecutionResponse
#2400 Refactor advanced visibility config
#2508 Add RolloutID to default search attributes
#2509 Fix cron workflow didn't carry over properties
#2513 Fix missing search attributes in default schema

Cross DC
#2430 Disable signal reapplication if workflow does not have any decision.
#2494 New history event v2 store ReadRawHistoryBranch API

Cross DC Kafka Deprecation
Note: this project is still ongoing

#2377 Introduce pull based replicator that does not use kafka
#2510 Fix replication task processor request chan check

Code Refactor
#2414 Unify mutable state task generation in active path
#2417 Use one set of worker queues for timer processing
#2423 Use taskProcessor in transfer and replication queues
#2425 Use separate task processor per queue
#2449 Add a priority queue implementation based on channels
#2461 Updates to channel priority queue

CLI
#2421 Admin CLI add delete visibility from ES
#2432 CLI: add scan command

Go Mod
#2314 Use go mod
#2516 Update go mod
#2517 Use gobin, instead of go get vendor for thriftrw & thriftrw-plugin-yarpc

Metrics
#2382 Add domain tags to Decision/Activity timeout metrics
#2386 Refactor metrics with domain tag
#2411 Change metrics name for dc redirection handler
#2395 Misc fixes and metrics for rpc replicator
#2468 Improved domain specific metrics in workflow handler

Misc.
#2388 Code coverage fixes
#2387 Fix a bug in AddDecisionTaskStarted for DecisionHeartbeatTimeout
#2390 Using latest version of goveralls for code coverage
#2401 Fix Dockerfile COPY error
#2368 Only print config when log level is debug
#2415 Fix unit test long execution time
#2419 New mutable state task refresher for mutable state task rebuild
#2426 Add slack channel to readme page
#2436 Change cron parser validation
#2442 Add warn log when deleting duplicate history when WorkflowExecutionAlreadyStartedError
#2443 Remove unnecessary mock file, in favor of generated mocks
#2444 Use int instead of thrift WorkflowExecutionCloseStatus as return type of GetMutableState
#2445 Remove validator on context timeout value in matching side
#2453 Do not delete first event batch if creation of mutable state fails
#2460 Clean up legacy batcher code
#2459 Add Scan API to HistoryV2 to get all history tree branches
#2474 Fix lint warnings
#2455 Fix domain name showed as domainID
#2477 Fix build kite docker build
#2478 Fix build kite docker build
#2475 Share dockerize command between cadence-server and cadence-auto-setup Dockerfile targets
#2476 Admin tools for deleting task and restart shard
#2485 Update cron integration test
#2439 Add tcheck binary to docker images
#2489 Fix lint
#2500 Update cadence-web version
#2506 Fix nil pointer error when dns refresh failed
#2515 Expose activity last failure details
#2529 Fix schema version for last failure details
#2533 Fix heartbeat timeout for batch operation workflows
#2556 Fix missing batch event id attr for signal & cancel external
#2558 Remove domain specific limiter on pollfor APIs

v0.8.6 Release

29 Aug 20:08
Compare
Choose a tag to compare

Scalable tasklist:
Remove validator on context timeout value in matching server (#2445)