Cadence Service Releases
Cadence follows semantic versioning and you can find more information about changes between version on the Cadence changelog.
v1.2.16 published on 2025-02-19
Major Releases
v1.2.x
- v1.2.16 [GitHub] published by neil-xie on 2025-02-19
- v1.2.15 [GitHub] published by jakobht on 2025-01-22
- v1.2.14 [GitHub] published by neil-xie on 2024-11-13
- v1.2.13 [GitHub] published by jakobht on 2024-09-25
- v1.2.12 [GitHub] published by neil-xie on 2024-08-19
- v1.2.11 [GitHub] published by neil-xie on 2024-07-10
- v1.2.10 [GitHub] published by neil-xie on 2024-06-04
- v1.2.9 [GitHub] published by jakobht on 2024-05-01
- v1.2.8 [GitHub] published by neil-xie on 2024-03-26
- v1.2.7 [GitHub] published by neil-xie on 2024-02-09
- v1.2.6 [GitHub] published by neil-xie on 2023-12-14
- v1.2.5 [GitHub] published by sankari165 on 2023-11-02
- v1.2.4 [GitHub] published by neil-xie on 2023-09-27
- v1.2.2 [GitHub] published by sankari165 on 2023-09-19
- v1.2.1 [GitHub] published by davidporter-id-au on 2023-09-19
- v1.2.3 [GitHub] published by Shaddoll on 2023-09-15
v0.24.x
- v0.24.0 [GitHub] published by vytautas-karpavicius on 2022-05-24
v0.23.x
v0.22.x
- v0.22.4 [GitHub] published by longquanzheng on 2021-11-11
- v0.22.3 [GitHub] published by longquanzheng on 2021-10-14
- v0.22.2 [GitHub] published by longquanzheng on 2021-10-14
- v0.22.1 [GitHub] published by longquanzheng on 2021-10-08
- v0.22.0 [GitHub] published by Shaddoll on 2021-08-20
v0.21.x
Release v1.2.16 published by neil-xie on 2/19/2025
What's Changed
- refactor historyEngineImpl.getMutableStateOrPolling by @dkrotx in https://github.com/cadence-workflow/cadence/pull/6584
- Pointer receiver everywhere for historyEngineImpl by @dkrotx in https://github.com/cadence-workflow/cadence/pull/6588
- panic fix: no version histories is mutable state by @dkrotx in https://github.com/cadence-workflow/cadence/pull/6589
- Fixed usage of RatelimitExternal/InternalPerWorkflowID by @arzonus in https://github.com/cadence-workflow/cadence/pull/6567
- [Wf-Diagnostics] Incorporate blob size limits in diagnostics workflow by @sankari165 in https://github.com/cadence-workflow/cadence/pull/6583
- Remove workflow id cache internal external enabled by @arzonus in https://github.com/cadence-workflow/cadence/pull/6568
- Use taskAckManager's BacklogCount for DescribeTaskList by @natemort in https://github.com/cadence-workflow/cadence/pull/6598
- Store explicit TaskList partition data by @natemort in https://github.com/cadence-workflow/cadence/pull/6591
- [Wf-Diagnostics] Refactor the workflow diagnostics initialisation code by @sankari165 in https://github.com/cadence-workflow/cadence/pull/6595
- Change log level to debug for partition config provider by @Shaddoll in https://github.com/cadence-workflow/cadence/pull/6596
- Update dockerhub user by @taylanisikdemir in https://github.com/cadence-workflow/cadence/pull/6597
- Fix logging bug on task completer by adding nil check to error by @fimanishi in https://github.com/cadence-workflow/cadence/pull/6603
- Use dual indexer and separate consumers for OpenSearch migration by @neil-xie in https://github.com/cadence-workflow/cadence/pull/6559
- Consolidate docker image publishing in a single github workflow by @taylanisikdemir in https://github.com/cadence-workflow/cadence/pull/6604
- Debug docker login by @taylanisikdemir in https://github.com/cadence-workflow/cadence/pull/6605
- Docker login debug attempt 2 by @taylanisikdemir in https://github.com/cadence-workflow/cadence/pull/6606
- [Wf-Diagnostics] retrieve workflow execution history within issue identification activity by @sankari165 in https://github.com/cadence-workflow/cadence/pull/6607
- Update C* queries about execution table with timestamps by @bowenxia in https://github.com/cadence-workflow/cadence/pull/6593
- Add debug logs to task completer for task not started by @fimanishi in https://github.com/cadence-workflow/cadence/pull/6609
- Fix missing AutoConfigHint field for matching engine by @shijiesheng in https://github.com/cadence-workflow/cadence/pull/6592
- Enable docker push from github workflows by @taylanisikdemir in https://github.com/cadence-workflow/cadence/pull/6612
- Push images for both amd64 and arm64 platforms by @taylanisikdemir in https://github.com/cadence-workflow/cadence/pull/6613
- Create Shard Distributor Client by @jakobht in https://github.com/cadence-workflow/cadence/pull/6615
- [Wf-Diagnostics] create messaging client only if not initialised by @sankari165 in https://github.com/cadence-workflow/cadence/pull/6608
- [Wf-Diagnostics] Refactor to provide clean diagnostics result by @sankari165 in https://github.com/cadence-workflow/cadence/pull/6617
- Set auto config hint for empty polls by @neil-xie in https://github.com/cadence-workflow/cadence/pull/6611
- Remove WorkflowIDExternal/InternalRateLimitEnabled dynamic configs by @arzonus in https://github.com/cadence-workflow/cadence/pull/6618
- Add sharddistributor outbounds by @jakobht in https://github.com/cadence-workflow/cadence/pull/6616
- Instanciate shard distributor client by @jakobht in https://github.com/cadence-workflow/cadence/pull/6620
- [Wf-Diagnostics] fix the usage logs data emitted by wf diagnostics by @sankari165 in https://github.com/cadence-workflow/cadence/pull/6621
- Revert "Store explicit TaskList partition data (#6591)" by @Shaddoll in https://github.com/cadence-workflow/cadence/pull/6625
- Use Cassandra's ttl to populate Expiry field in persistence.TaskInfo by @fimanishi in https://github.com/cadence-workflow/cadence/pull/6624
- [github-actions] Run master related actions only for the main repo by @3vilhamster in https://github.com/cadence-workflow/cadence/pull/6623
- [make] Fix .idl submodule check by @3vilhamster in https://github.com/cadence-workflow/cadence/pull/6628
- Update Cassandra queries for tables by @bowenxia in https://github.com/cadence-workflow/cadence/pull/6614
- Replication/failover simulation skeleton by @taylanisikdemir in https://github.com/cadence-workflow/cadence/pull/6627
- fix autoconfighint population for empty in frontend by @shijiesheng in https://github.com/cadence-workflow/cadence/pull/6629
- Refactor timer gate and fix goroutine leak problem by @Shaddoll in https://github.com/cadence-workflow/cadence/pull/6630
- [Wf-Diagnotics] Update Diagnostics workflow result to provide a completion signal by @sankari165 in https://github.com/cadence-workflow/cadence/pull/6635
Full Changelog: https://github.com/cadence-workflow/cadence/compare/v1.2.15...v1.2.16
Release v1.2.15 published by jakobht on 1/22/2025
What's Changed
Added
- Add task list partition config by @Shaddoll in https://github.com/cadence-workflow/cadence/pull/6343
- Add unit tests for nosql_domain_store by @Shaddoll in https://github.com/cadence-workflow/cadence/pull/6378
- Add unit test for nosql create tasks method by @Shaddoll in https://github.com/cadence-workflow/cadence/pull/6379
- Add test for historgram file by @bowenxia in https://github.com/cadence-workflow/cadence/pull/6382
- Add unit tests for nosql_shard_store by @Shaddoll in https://github.com/cadence-workflow/cadence/pull/6383
- Add unit test for workflow_commands.go by @neil-xie in https://github.com/cadence-workflow/cadence/pull/6387
- Add unit tests for AdminDescribeTaskList method in CLI by @timl3136 in https://github.com/cadence-workflow/cadence/pull/6385
- add unit test to CLI workflow commands by @shijiesheng in https://github.com/cadence-workflow/cadence/pull/6377
- Add factory mock by @bowenxia in https://github.com/cadence-workflow/cadence/pull/6386
- add unit test to CLI domain commands by @shijiesheng in https://github.com/cadence-workflow/cadence/pull/6389
- Add test coverage to admin tasklist commands by @timl3136 in https://github.com/cadence-workflow/cadence/pull/6390
- Add unit test for DoReset and load wfIds from file by @neil-xie in https://github.com/cadence-workflow/cadence/pull/6392
- Add unit tests for domain manager by @Shaddoll in https://github.com/cadence-workflow/cadence/pull/6391
- Add tests for common/types/matching.go by @fimanishi in https://github.com/cadence-workflow/cadence/pull/6380
- Add coverage in cli/isolation_groups by @timl3136 in https://github.com/cadence-workflow/cadence/pull/6395
- Add test for admin cluster commands by @bowenxia in https://github.com/cadence-workflow/cadence/pull/6397
- Add tests for service/history/execution/cache.go by @fimanishi in https://github.com/cadence-workflow/cadence/pull/6396
- Add unit test for ResetInBatch in workflow_commands.go by @neil-xie in https://github.com/cadence-workflow/cadence/pull/6399
- Coverage for persistence/client/bean by @Groxx in https://github.com/cadence-workflow/cadence/pull/6404
- Unit tests for common/types by @sankari165 in https://github.com/cadence-workflow/cadence/pull/6405
- Add test for newNoSQLVisibilityStore by @gazi-yestemirova in https://github.com/cadence-workflow/cadence/pull/6394
- Create interface and mock for forwarder by @fimanishi in https://github.com/cadence-workflow/cadence/pull/6407
- Add more unit tests for workflow_commands.go by @neil-xie in https://github.com/cadence-workflow/cadence/pull/6409
- Write tests for CLI admin failover commands by @taylanisikdemir in https://github.com/cadence-workflow/cadence/pull/6410
- Add tests for NoSql Visibility Store by @gazi-yestemirova in https://github.com/cadence-workflow/cadence/pull/6413
- Add test for admin_es_cmds part I by @bowenxia in https://github.com/cadence-workflow/cadence/pull/6411
- Add new IOHandler to CLI isolation group test by @timl3136 in https://github.com/cadence-workflow/cadence/pull/6417
- Add test for persistence/serialization package by @Shaddoll in https://github.com/cadence-workflow/cadence/pull/6415
- Adding a test for admin_commands by @dkrotx in https://github.com/cadence-workflow/cadence/pull/6414
- Add unit tests for serialization package by @Shaddoll in https://github.com/cadence-workflow/cadence/pull/6420
- Add unit tests for config store manager by @Shaddoll in https://github.com/cadence-workflow/cadence/pull/6419
- Add unit tests for history queue task_allocator by @timl3136 in https://github.com/cadence-workflow/cadence/pull/6421
- Add more unit tests for tools/cli/workflow_commands by @neil-xie in https://github.com/cadence-workflow/cadence/pull/6416
- Add unit tests for nosql_config_store by @Shaddoll in https://github.com/cadence-workflow/cadence/pull/6422
- Write tests for reconciliation fetcher by @taylanisikdemir in https://github.com/cadence-workflow/cadence/pull/6424
- Admin_ES_cmds_test Part II by @bowenxia in https://github.com/cadence-workflow/cadence/pull/6426
- Add unit tests for admin async queue commands by @timl3136 in https://github.com/cadence-workflow/cadence/pull/6408
- Add mock ESProcessor and unit test to start and stop indexer by @timl3136 in https://github.com/cadence-workflow/cadence/pull/6423
- Add tests for service/matching/tasklist/matcher.go by @fimanishi in https://github.com/cadence-workflow/cadence/pull/6418
- Add unit test to cover functions in task allocator by @timl3136 in https://github.com/cadence-workflow/cadence/pull/6430
- Add unit test to admin types by @timl3136 in https://github.com/cadence-workflow/cadence/pull/6432
- Admin_db_clean_cmd test Part I by @bowenxia in https://github.com/cadence-workflow/cadence/pull/6435
- Add unit tests for normalizeVersionedErrors and HealthStatus by @Shaddoll in https://github.com/cadence-workflow/cadence/pull/6433
- Add more tests to stale workflow invariant check by @taylanisikdemir in https://github.com/cadence-workflow/cadence/pull/6436
- adds some coverage for the mutable state builder's reset by @davidporter-id-au in https://github.com/cadence-workflow/cadence/pull/6439
- Added tests for concrete_execution.go by @fimanishi in https://github.com/cadence-workflow/cadence/pull/6438
- Unit tests for batcher workflow by @sankari165 in https://github.com/cadence-workflow/cadence/pull/6428
- Add more tests to concrete-execution-exists invariant by @taylanisikdemir in https://github.com/cadence-workflow/cadence/pull/6440
- Add unit tests for NoSql Visibility Store by @gazi-yestemirova in https://github.com/cadence-workflow/cadence/pull/6444
- Add tests for common/cache/domainCache.go by @fimanishi in https://github.com/cadence-workflow/cadence/pull/6431
- More unit-tests for cli:admin_commands.go by @dkrotx in https://github.com/cadence-workflow/cadence/pull/6449
- Added tests for current_execution.go by @fimanishi in https://github.com/cadence-workflow/cadence/pull/6448
- admin_db_clean_cmd test Part II by @bowenxia in https://github.com/cadence-workflow/cadence/pull/6437
- Adds slightly more coverage for mutable-state-builder. by @davidporter-id-au in https://github.com/cadence-workflow/cadence/pull/6443
- Add more tests for error cases in workflow_commands.go by @neil-xie in https://github.com/cadence-workflow/cadence/pull/6442
- Improve coverage for list workflow handlers by @Shaddoll in https://github.com/cadence-workflow/cadence/pull/6451
- Write tests for resource impl by @taylanisikdemir in https://github.com/cadence-workflow/cadence/pull/6452
- Adds coverage to mutable state builder by @davidporter-id-au in https://github.com/cadence-workflow/cadence/pull/6388
- mutable state builder coverage by @davidporter-id-au in https://github.com/cadence-workflow/cadence/pull/6454
- Add test for database.go by @bowenxia in https://github.com/cadence-workflow/cadence/pull/6453
- Add test for utils.go by @bowenxia in https://github.com/cadence-workflow/cadence/pull/6462
- Added tests for getters by @jakobht in https://github.com/cadence-workflow/cadence/pull/6463
- Added tests for FromIsolationGroupPartitionList by @jakobht in https://github.com/cadence-workflow/cadence/pull/6464
- Added tests for updatetask by @fimanishi in https://github.com/cadence-workflow/cadence/pull/6460
- Add test for ProcessResets and showHistoryHelper in workflow_commands.go by @neil-xie in https://github.com/cadence-workflow/cadence/pull/6459
- More unit tests for frontend domain handlers by @Shaddoll in https://github.com/cadence-workflow/cadence/pull/6457
- Add unit tests for frontend handler covering shutting down branch by @Shaddoll in https://github.com/cadence-workflow/cadence/pull/6466
- Add test for cli/admin_timer by @bowenxia in https://github.com/cadence-workflow/cadence/pull/6467
- coverage increase for the mutable-state-builder by @davidporter-id-au in https://github.com/cadence-workflow/cadence/pull/6469
- Introduce partition config provider to matching client by @Shaddoll in https://github.com/cadence-workflow/cadence/pull/6427
- Add unit tests to indexer function by @timl3136 in https://github.com/cadence-workflow/cadence/pull/6476
- Adding more tests to admin_commands by @dkrotx in https://github.com/cadence-workflow/cadence/pull/6475
- Update integration tests to use grpc by @Shaddoll in https://github.com/cadence-workflow/cadence/pull/6477
- Add unit tests for cli:admin_config_store_commands by @gazi-yestemirova in https://github.com/cadence-workflow/cadence/pull/6473
- Added tests for AdminDBScan method by @jakobht in https://github.com/cadence-workflow/cadence/pull/6474
- Added tests for AdminDBScanUnsupportedWorkflow by @jakobht in https://github.com/cadence-workflow/cadence/pull/6478
- Tests for admin_kafka_commands by @tubignat in https://github.com/cadence-workflow/cadence/pull/6479
- Tests for CreateWorkflowExecution error cases by @jakobht in https://github.com/cadence-workflow/cadence/pull/6481
- Cdnc 11010/domain migration command by @gazi-yestemirova in https://github.com/cadence-workflow/cadence/pull/6482
- More tests for admin_commands.go by @dkrotx in https://github.com/cadence-workflow/cadence/pull/6480
- Added tests for UpdateWorkflowExecution by @jakobht in https://github.com/cadence-workflow/cadence/pull/6484
- Tests for ConflictResolveWorkflowExecution by @jakobht in https://github.com/cadence-workflow/cadence/pull/6485
- Tests for AppendHistoryV2Events by @jakobht in https://github.com/cadence-workflow/cadence/pull/6486
- Test for ReplicateFailoverMarkers by @jakobht in https://github.com/cadence-workflow/cadence/pull/6487
- Add tests for transfer_queue_processor.go by @fimanishi in https://github.com/cadence-workflow/cadence/pull/6483
- Scaffold the implementation of admin UpdateTaskListPartitionConfig API by @Shaddoll in https://github.com/cadence-workflow/cadence/pull/6491
- workflow batch commands tests added by @samkitshah1262 in https://github.com/cadence-workflow/cadence/pull/6470
- [Wf-Diagnostics] link runbook for activity failures in a workflow by @sankari165 in https://github.com/cadence-workflow/cadence/pull/6497
- Implement matching API to allow updating task list partition config by @Shaddoll in https://github.com/cadence-workflow/cadence/pull/6472
- Add schedule id to pending activity info and pending decision info to history service by @fimanishi in https://github.com/cadence-workflow/cadence/pull/6507
- Initialize kafka config for worker service by @sankari165 in https://github.com/cadence-workflow/cadence/pull/6512
- [Wf-Diagnostics] include checks on retry policies while rootcausing heartbeat timeouts by @sankari165 in https://github.com/cadence-workflow/cadence/pull/6515
- Add IDL for shard distributor lookups by @jakobht in https://github.com/cadence-workflow/cadence/pull/6516
- [Wf-Diagnostics] add retry invariant to diagnose workflow retries by @sankari165 in https://github.com/cadence-workflow/cadence/pull/6519
- Introduce adaptive tasklist scaler by @Shaddoll in https://github.com/cadence-workflow/cadence/pull/6506
- Task manager - task cleanup on passive side using task completer by @fimanishi in https://github.com/cadence-workflow/cadence/pull/6514
- Added integration in Shard Distributor with the generated handler by @jakobht in https://github.com/cadence-workflow/cadence/pull/6521
- [Wf-Diagnostics] add retry policy validation to diagnostics by @sankari165 in https://github.com/cadence-workflow/cadence/pull/6529
- [Wf-Diagnostics] Incorporate retry diagnostics in workflow diagnostics workflow by @sankari165 in https://github.com/cadence-workflow/cadence/pull/6532
- [gocql] Allow to set gocql HostSelectionPolicy by @mantas-sidlauskas in https://github.com/cadence-workflow/cadence/pull/6533
- Add auto config hint to poll response by @neil-xie in https://github.com/cadence-workflow/cadence/pull/6542
- Add domain-name to logs for history size breach by @3vilhamster in https://github.com/cadence-workflow/cadence/pull/6551
- [Wf-Diagnostics] add failure cases when blob size limits are exceeded by @sankari165 in https://github.com/cadence-workflow/cadence/pull/6546
- Support adaptive tasklist partitioner in matching simulations by @taylanisikdemir in https://github.com/cadence-workflow/cadence/pull/6550
- Integrate matching simulation metrics with grafana by @taylanisikdemir in https://github.com/cadence-workflow/cadence/pull/6553
- Add grpcPort to development_xdc_cluster.yaml files by @fimanishi in https://github.com/cadence-workflow/cadence/pull/6556
- Add metric when history replication message is too large by @bowenxia in https://github.com/cadence-workflow/cadence/pull/6558
- Add task isolation leaking by @natemort in https://github.com/cadence-workflow/cadence/pull/6544
- Complete tasks on stanbdy cluster for workflows that don't exist anymore by @fimanishi in https://github.com/cadence-workflow/cadence/pull/6549
- Support fluctuating task load in matching simulation by @taylanisikdemir in https://github.com/cadence-workflow/cadence/pull/6565
- Standardize metrics for task isolation leaking and include cause by @natemort in https://github.com/cadence-workflow/cadence/pull/6562
- [shard-distributor] Added logic to return the shard owner based on the namesplace by @jakobht in https://github.com/cadence-workflow/cadence/pull/6564
- Shard distributor metrics wrapper by @jakobht in https://github.com/cadence-workflow/cadence/pull/6572
- Create naive isolation group matching loadbalancer by @natemort in https://github.com/cadence-workflow/cadence/pull/6570
- Add testing.T arg to test-only helpers by @Groxx in https://github.com/cadence-workflow/cadence/pull/6574
- [Wf-Diagnostics] link runbook for activity retries in a workflow by @sankari165 in https://github.com/cadence-workflow/cadence/pull/6582
Changed
- Update matching handlers to return TaskListPartitionConfig in responses by @Shaddoll in https://github.com/cadence-workflow/cadence/pull/6376
- Refactor task manager by @Shaddoll in https://github.com/cadence-workflow/cadence/pull/6393
- Refactor history manager by @Shaddoll in https://github.com/cadence-workflow/cadence/pull/6400
- Update CLI json printing to use new writer interface for testability by @taylanisikdemir in https://github.com/cadence-workflow/cadence/pull/6412
- Refactor admin_cluster_cmds tests by @bowenxia in https://github.com/cadence-workflow/cadence/pull/6403
- Move frontend handler's client version check to generated code by @Shaddoll in https://github.com/cadence-workflow/cadence/pull/6425
- Refactor persistence manager initialization by @bowenxia in https://github.com/cadence-workflow/cadence/pull/6441
- Refactor frontend api handler by @Shaddoll in https://github.com/cadence-workflow/cadence/pull/6450
- Exclude cli/factory.go from code coverage by @sankari165 in https://github.com/cadence-workflow/cadence/pull/6455
- Refactored and tested SerializeForLogging by @jakobht in https://github.com/cadence-workflow/cadence/pull/6456
- Update Cadence idl module to include AccessDeniedError in API returns by @timl3136 in https://github.com/cadence-workflow/cadence/pull/6465
- [Wf-Diagnostics] update failure rootcause for the different error types by @sankari165 in https://github.com/cadence-workflow/cadence/pull/6489
- Allow LIKE keyword to do partial term matching by @sankari165 in https://github.com/cadence-workflow/cadence/pull/6490
- Connection retaining mode for p2p peer chooser by @taylanisikdemir in https://github.com/cadence-workflow/cadence/pull/6471
- Make dns updater stoppable to prevent goroutine leaks in tests by @taylanisikdemir in https://github.com/cadence-workflow/cadence/pull/6494
- Update CLI to use grpc transport by default by @Shaddoll in https://github.com/cadence-workflow/cadence/pull/6495
- Rename new shard-manager service to shard-distributor by @jakobht in https://github.com/cadence-workflow/cadence/pull/6496
- Update matching simulation test to support new task list partition config by @Shaddoll in https://github.com/cadence-workflow/cadence/pull/6500
- Revert "Update CLI to use grpc transport by default" by @dkrotx in https://github.com/cadence-workflow/cadence/pull/6502
- [Wf-Diagnostics] Include all failure related rootcauses in rc handling within diagnostics by @sankari165 in https://github.com/cadence-workflow/cadence/pull/6504
- Update codecov config with new github org by @taylanisikdemir in https://github.com/cadence-workflow/cadence/pull/6510
- Improve matching simulator isolation group metrics by @natemort in https://github.com/cadence-workflow/cadence/pull/6505
- Update development_xdc_cluster#.yaml to have shard-distributor instead of shard-manager by @fimanishi in https://github.com/cadence-workflow/cadence/pull/6517
- Change Isolation Group Fallback Behavior by @natemort in https://github.com/cadence-workflow/cadence/pull/6518
- Update github org/repos in markdown files by @taylanisikdemir in https://github.com/cadence-workflow/cadence/pull/6524
- Update retry policy validation with additional conditions by @sankari165 in https://github.com/cadence-workflow/cadence/pull/6525
- Update weighted load balancer by @Shaddoll in https://github.com/cadence-workflow/cadence/pull/6522
- Update root partition to refresh non-root partition on start by @Shaddoll in https://github.com/cadence-workflow/cadence/pull/6527
- [Wf-Diagnostics] Update workflow retry with failure reason message by @sankari165 in https://github.com/cadence-workflow/cadence/pull/6526
- Changed flag in cassandra README by @dkrotx in https://github.com/cadence-workflow/cadence/pull/6530
- Update matching simulation test to test weighted load balancer by @Shaddoll in https://github.com/cadence-workflow/cadence/pull/6536
- Batcher will now by default retry it's activity 5 times by @jakobht in https://github.com/cadence-workflow/cadence/pull/6534
- make test-cases explicit for IDE + subtest by @dkrotx in https://github.com/cadence-workflow/cadence/pull/6548
- Update cron schedules of scanner workflows by @Shaddoll in https://github.com/cadence-workflow/cadence/pull/6554
- Enable graceful shutdown of replication task fetcher by default by @taylanisikdemir in https://github.com/cadence-workflow/cadence/pull/6571
- Convert some pre-generics map.Keys/.Values to their generic version by @Groxx in https://github.com/cadence-workflow/cadence/pull/6575
- Split mutable_state_util.go by purpose by @Groxx in https://github.com/cadence-workflow/cadence/pull/6577
- Don't treat missing PartitionConfig data as an error by @natemort in https://github.com/cadence-workflow/cadence/pull/6576
- Update README and CONTRIBUTING files by @taylanisikdemir in https://github.com/cadence-workflow/cadence/pull/6578
- Migrate from github.com/golang/mock to go.uber.org/mock by @Groxx in https://github.com/cadence-workflow/cadence/pull/6579
- Update caas schema with created_time and last_updated_time by @bowenxia in https://github.com/cadence-workflow/cadence/pull/6569
- Update DescribeTaskList to return Isolation Group metrics by @natemort in https://github.com/cadence-workflow/cadence/pull/6580
Fixed
- Fix a bug where an error is improperly returned and add unit test for workflow_commands by @neil-xie in https://github.com/cadence-workflow/cadence/pull/6384
- Fix matching engine test for stealing lease case by @taylanisikdemir in https://github.com/cadence-workflow/cadence/pull/6461
- Move away from zero-RPS == unlimited-RPS, as it isn't always correct by @Groxx in https://github.com/cadence-workflow/cadence/pull/6468
- Fix deadlock in sharded nosql store by @taylanisikdemir in https://github.com/cadence-workflow/cadence/pull/6493
- Fixing test flakyness by switching to mocked time by @dkrotx in https://github.com/cadence-workflow/cadence/pull/6503
- Bugfix/picking changes to allow for failover polling by @davidporter-id-au in https://github.com/cadence-workflow/cadence/pull/6523
- fixes a dumb refactoring bug preventing isolation-groups from updating by @davidporter-id-au in https://github.com/cadence-workflow/cadence/pull/6488
- Fix long poll cancellation by @Shaddoll in https://github.com/cadence-workflow/cadence/pull/6538
- Fix mapping by @davidporter-id-au in https://github.com/cadence-workflow/cadence/pull/6531
- Fix bug in vis double read when source visibility manager is primary by @neil-xie in https://github.com/cadence-workflow/cadence/pull/6539
- Fix nil pointer dereference in matching by @Shaddoll in https://github.com/cadence-workflow/cadence/pull/6543
- Align Postgres
workflow_id
Column with Cassandra by @samuel-lindgren in https://github.com/cadence-workflow/cadence/pull/6520 - Fix ListBatchJobs unit-test for Go 1.23+ by @dkrotx in https://github.com/cadence-workflow/cadence/pull/6547
- Fix multi-cluster domain register by @dkrotx in https://github.com/cadence-workflow/cadence/pull/6552
- Fix shutdown of replication task processor by @taylanisikdemir in https://github.com/cadence-workflow/cadence/pull/6555
- A hack to fix the nil pointer issue of java client's sync workflow requests by @Shaddoll in https://github.com/cadence-workflow/cadence/pull/6561
- Fix liveness goroutine leak in TaskListManager by @shijiesheng in https://github.com/cadence-workflow/cadence/pull/6563
- Fix default port for public client by @kotcrab in https://github.com/cadence-workflow/cadence/pull/6566
- fix AutoConfigHint field propagation in frontend by @shijiesheng in https://github.com/cadence-workflow/cadence/pull/6587
Removed
- Remove global domain checks and add unit test in isolation-groups by @timl3136 in https://github.com/cadence-workflow/cadence/pull/6401
- Deprecate unused persistence configs by @mantas-sidlauskas in https://github.com/cadence-workflow/cadence/pull/6406
- Revert "Update retry policy validation with additional conditions (#6525)" by @sankari165 in https://github.com/cadence-workflow/cadence/pull/6528
New Contributors
- @tubignat made their first contribution in https://github.com/cadence-workflow/cadence/pull/6479
- @samuel-lindgren made their first contribution in https://github.com/cadence-workflow/cadence/pull/6520
Full Changelog: https://github.com/cadence-workflow/cadence/compare/v1.2.14...v1.2.15
Release v1.2.14 published by neil-xie on 11/13/2024
What's Changed
Added
- Add workflow info details in QueryToken by @3vilhamster in https://github.com/uber/cadence/pull/6265
- [Wf-diagnostics] Introduce a new api to diagnose a workflow execution by @sankari165 in https://github.com/uber/cadence/pull/6268
- [Wf-Diagnostics] Diagnose workflow execution from cli by @sankari165 in https://github.com/uber/cadence/pull/6271
- More logs for matching simulation tests by @Shaddoll in https://github.com/uber/cadence/pull/6270
- [Wf-Diagnostics] Set query handler for diagnostics workflow to provide result by @sankari165 in https://github.com/uber/cadence/pull/6273
- Add canary jitter workflow debugging log by @bowenxia in https://github.com/uber/cadence/pull/6278
- Matching simulation comparison tool by @taylanisikdemir in https://github.com/uber/cadence/pull/6287
- Add StatsReporter component to estimate QPS by @Shaddoll in https://github.com/uber/cadence/pull/6286
- Support custom address broadcasting for ringpop to work in k8s by @taylanisikdemir in https://github.com/uber/cadence/pull/6288
- [Wf-Diagnostics] emit metrics from diagnostics workflow by @sankari165 in https://github.com/uber/cadence/pull/6299
- Add rolling window QPS tracker by @Shaddoll in https://github.com/uber/cadence/pull/6295
- [Wf-Diagnostics] introduce emitter interface in w/f diagnostics by @sankari165 in https://github.com/uber/cadence/pull/6309
- [Wf-Diagnostics] Introduce Diagnostics starter workflow as parent workflow to run diagnostics by @sankari165 in https://github.com/uber/cadence/pull/6310
- Add more test for history_replicator by @bowenxia in https://github.com/uber/cadence/pull/6313
- Add a doc introducing scalable tasklist by @Shaddoll in https://github.com/uber/cadence/pull/6319
- Created Shard Manager Service by @jakobht in https://github.com/uber/cadence/pull/6297
- Add more logs when secondary processor has issues by @neil-xie in https://github.com/uber/cadence/pull/6323
- [Wf-Diagnostics] Emit usage logs after workflow diagnostics run by @sankari165 in https://github.com/uber/cadence/pull/6316
- Feature/zonal isolation zone discovery by @davidporter-id-au in https://github.com/uber/cadence/pull/6301
- Introduce new type MatchingPollForActivityTaskResponse by @Shaddoll in https://github.com/uber/cadence/pull/6325
- Introduce weighted load balancer by @Shaddoll in https://github.com/uber/cadence/pull/6315
- Add unit test for history config by @Shaddoll in https://github.com/uber/cadence/pull/6334
- Add unit tests to common/types/history by @timl3136 in https://github.com/uber/cadence/pull/6336
- Add test for replication_task by @bowenxia in https://github.com/uber/cadence/pull/6335
- Added a mode tag to the workflow ID ratelimit metric and log by @jakobht in https://github.com/uber/cadence/pull/6344
- [Wf-Diagnostics] add timeout error to failures by @sankari165 in https://github.com/uber/cadence/pull/6346
- Add more unit tests for common/types/history by @timl3136 in https://github.com/uber/cadence/pull/6341
- Add test for QueryWorkflow by @Shaddoll in https://github.com/uber/cadence/pull/6348
- Add additional unit tests for history and replicator in common/types by @timl3136 in https://github.com/uber/cadence/pull/6347
- [matching] Simplity poller extraction in task list manager by @3vilhamster in https://github.com/uber/cadence/pull/6333
- [Wf-Diagnostics] Introduce new invariant to identify activity and workflow failures by @sankari165 in https://github.com/uber/cadence/pull/6339
- Created a seperate listWithRing for services that has a hashring by @jakobht in https://github.com/uber/cadence/pull/6350
- Add additional unit tests for common/types/replicator by @timl3136 in https://github.com/uber/cadence/pull/6353
- Add unit tests for remaining functions in common/types/replicator by @timl3136 in https://github.com/uber/cadence/pull/6356
- Add tests for types/mapper/thrift/admin.go by @natemort in https://github.com/uber/cadence/pull/6352
- Added tests to service/worker/scanner.go by @fimanishi in https://github.com/uber/cadence/pull/6349
- Add tests for transfer_active_task_executor by @fimanishi in https://github.com/uber/cadence/pull/6359
- Added tests for task/task_util.go by @fimanishi in https://github.com/uber/cadence/pull/6362
- Add more logs to inspect OpenSearch missing updates issue by @neil-xie in https://github.com/uber/cadence/pull/6364
- Adds a bit more coverage to the domain callback methods by @davidporter-id-au in https://github.com/uber/cadence/pull/6373
- [Wf-Diagnostics] Include failure issues identification and rootcause in diagnostics by @sankari165 in https://github.com/uber/cadence/pull/6370
- Create interface and mock for matcher by @fimanishi in https://github.com/uber/cadence/pull/6374
- Add TaskListPartitionConfig message to proto by @Shaddoll in https://github.com/uber/cadence/pull/6358
- Support custom yarpc peer chooser for p2p connections by @taylanisikdemir in https://github.com/uber/cadence/pull/6345
Changed
- Refactor visibility triple manager by @neil-xie in https://github.com/uber/cadence/pull/6267
- advance ack-level to avoid querying the same (empty) tasks next time by @dkrotx in https://github.com/uber/cadence/pull/6258
- Concurrency primitives need concurrent tests by @Groxx in https://github.com/uber/cadence/pull/6274
- Simplify common/locks.Lock, 5-10x speedup by @Groxx in https://github.com/uber/cadence/pull/6275
- Update simulation tests results to show matched tasks per tasklist by @Shaddoll in https://github.com/uber/cadence/pull/6276
- Ratelimiter polish / fix: improve zero -> nonzero filling behavior for new ratelimiters by @Groxx in https://github.com/uber/cadence/pull/6280
- Wrap errors from child workflow in canary sanity workflow by @fimanishi in https://github.com/uber/cadence/pull/6279
- Always notify subscribers on membership change by @dkrotx in https://github.com/uber/cadence/pull/6283
- Disconnect dangling pollers on membership lost by @dkrotx in https://github.com/uber/cadence/pull/6272
- error-out if we can't Subscribe to membershipResolver by @dkrotx in https://github.com/uber/cadence/pull/6290
- Easier support for multiple instances locally by @jakobht in https://github.com/uber/cadence/pull/6289
- Refactor pinot custom string query in pinot_query_validator by @bowenxia in https://github.com/uber/cadence/pull/6298
- Update change logs for previous releases by @neil-xie in https://github.com/uber/cadence/pull/6306
- move permember ratelimiter to it's own package by @dkrotx in https://github.com/uber/cadence/pull/6304
- Introduce round robin load balancer to matching client by @Shaddoll in https://github.com/uber/cadence/pull/6300
- Update matching simulation test to support round robin load balancer by @Shaddoll in https://github.com/uber/cadence/pull/6311
- Refactor test code for readability by @bowenxia in https://github.com/uber/cadence/pull/6308
- [CLI] upgrade urfave/cli to v2 by @shijiesheng in https://github.com/uber/cadence/pull/6285
- Refactor PeerProvider & hashring interaction by @dkrotx in https://github.com/uber/cadence/pull/6296
- Unit test to cover 88.7% for history replicator by @bowenxia in https://github.com/uber/cadence/pull/6314
- [CLI] replace BackgroundContext with CLI's context by @shijiesheng in https://github.com/uber/cadence/pull/6328
- [Wf-Diagnostics] Refactor to move all timeout related checks under one directory by @sankari165 in https://github.com/uber/cadence/pull/6332
- [CLI] start/signalstart workflow requests should include headers from opentracing SpanContext by @shijiesheng in https://github.com/uber/cadence/pull/6329
- Switch to dependency injection for the main CLI by @Groxx in https://github.com/uber/cadence/pull/6331
- Current refresh interval is too high by @dkrotx in https://github.com/uber/cadence/pull/6357
- Ring member refresh log improvements by @taylanisikdemir in https://github.com/uber/cadence/pull/6361
- Improve unit tests for history/config by @Shaddoll in https://github.com/uber/cadence/pull/6354
- refactor/testing domain update callback by @davidporter-id-au in https://github.com/uber/cadence/pull/6365
Fixed
- Handle custom string not equal case for Pinot by @bowenxia in https://github.com/uber/cadence/pull/6266
- Minor global ratelimiter fix: don't reduce values when "boosting" by @Groxx in https://github.com/uber/cadence/pull/6281
- Fix port string to uint16 parsing by @taylanisikdemir in https://github.com/uber/cadence/pull/6291
- Update latest release auto setup tag name to lower case by @neil-xie in https://github.com/uber/cadence/pull/6292
- [Wf-Diagnostics] Unmarshal metadata for timeout issues and rootcause by @sankari165 in https://github.com/uber/cadence/pull/6294
- Pinot handle customer keyword type empty val by @bowenxia in https://github.com/uber/cadence/pull/6302
- Minor fix for timer usage by @Shaddoll in https://github.com/uber/cadence/pull/6305
- Fix parent close policy by @Shaddoll in https://github.com/uber/cadence/pull/6307
- Refactor visibility migration code and add support for OpenSearch visibility migration by @neil-xie in https://github.com/uber/cadence/pull/6284
- Fix race condition in Describe handler by @Shaddoll in https://github.com/uber/cadence/pull/6312
- Temporary patch: ensure errors lead to exit(1) in main funcs by @Groxx in https://github.com/uber/cadence/pull/6318
- Bugfix: server was ending when in log-debug mode by @Groxx in https://github.com/uber/cadence/pull/6321
- Fix task reader timer by @Shaddoll in https://github.com/uber/cadence/pull/6324
- CLI cleanup: exit-1 on error, and use consistent error printing everywhere by @Groxx in https://github.com/uber/cadence/pull/6322
- Fix slice init length by @cuishuang in https://github.com/uber/cadence/pull/6293
- [Wf-Diagnostics] fix tasklist name in workflow trigger from frontend api by @sankari165 in https://github.com/uber/cadence/pull/6327
- slow down ratelimiter comparison tests, fix one by @Groxx in https://github.com/uber/cadence/pull/6330
- [Wf-Diagnostics] Point to activity task for activity failures by @sankari165 in https://github.com/uber/cadence/pull/6355
- [Wf-Diagnostics] rootcause simple worker service caused activity and workflow failures by @sankari165 in https://github.com/uber/cadence/pull/6351
- [CLI] fix incorrect propagation of span context in start workflow by @shijiesheng in https://github.com/uber/cadence/pull/6363
- Fix backlog count for sticky tasklist by @Shaddoll in https://github.com/uber/cadence/pull/6367
- Fix bug that OpenSearch client not use external version for index requests by @neil-xie in https://github.com/uber/cadence/pull/6368
- Squash NaN bugs and prevent them from coming back. by @Groxx in https://github.com/uber/cadence/pull/6375
Removed
- Get rid of time.After in for loops by @Shaddoll in https://github.com/uber/cadence/pull/6303
- Removes a dependency on service startup for unneeded services by @davidporter-id-au in https://github.com/uber/cadence/pull/6338
- Reverted 6338 by @davidporter-id-au in https://github.com/uber/cadence/pull/6340
- [CLI] ErrorAndExit deprecated by @samkitshah1262 in https://github.com/uber/cadence/pull/6337
New Contributors
- @cuishuang made their first contribution in https://github.com/uber/cadence/pull/6293
- @samkitshah1262 made their first contribution in https://github.com/uber/cadence/pull/6337
Full Changelog: https://github.com/uber/cadence/compare/v1.2.13...v1.2.14
Release v1.2.13 published by jakobht on 9/25/2024
What's Changed
- Global ratelimiter: improved shadow-limiter accounting by @Groxx in https://github.com/uber/cadence/pull/6191
- Add emitWorkflowVersionMetrics for pinot by @bowenxia in https://github.com/uber/cadence/pull/6190
- Update Pinot query validator to support "like" in queries by @sankari165 in https://github.com/uber/cadence/pull/6188
- Add adapater functions for delayStart and jitterStart in child workflow by @timl3136 in https://github.com/uber/cadence/pull/6201
- add Copy() method to configstore structs by @mantas-sidlauskas in https://github.com/uber/cadence/pull/6025
- Allow pprof to be started when using docker-compose by @mantas-sidlauskas in https://github.com/uber/cadence/pull/6194
- Add peer provider plugin registration by @mantas-sidlauskas in https://github.com/uber/cadence/pull/5926
- Remove unused ListAllWorkflowExecutions method by @sankari165 in https://github.com/uber/cadence/pull/6204
- Add more metrics to async task dispatch by @Shaddoll in https://github.com/uber/cadence/pull/6202
- Add metrics to measure the time a task waiting in history queue by @Shaddoll in https://github.com/uber/cadence/pull/6205
- Introduce a locally runnable matching simulator by @taylanisikdemir in https://github.com/uber/cadence/pull/6203
- Added a defensive check in the getTaskListManager function by @jakobht in https://github.com/uber/cadence/pull/6199
- Add metrics for matcher by @Shaddoll in https://github.com/uber/cadence/pull/6207
- Debug es-analyzer: workable workflow type counts by @bowenxia in https://github.com/uber/cadence/pull/6206
- Add more metrics for matching by @Shaddoll in https://github.com/uber/cadence/pull/6208
- Removing fossa by @davidporter-id-au in https://github.com/uber/cadence/pull/6212
- Fix membership resolver used in integration tests by @Shaddoll in https://github.com/uber/cadence/pull/6210
- Debug es-analyzer II: CadenceChangeVersion workflow by @bowenxia in https://github.com/uber/cadence/pull/6209
- Method in StartChildWorkflowExecutionInitiatedEventAttributes to fetch ExecutionStartToCloseTimeoutSeconds by @sankari165 in https://github.com/uber/cadence/pull/6217
- Remove IsDeleted filter to improve pinot query performance by @neil-xie in https://github.com/uber/cadence/pull/6216
- Classify pinot query validator errors as bad request errors by @neil-xie in https://github.com/uber/cadence/pull/6218
- [Wf-Diagnostics] Timeout invariant to identify and collect all timeouts in a workflow execution by @sankari165 in https://github.com/uber/cadence/pull/6220
- Add a wait time for pollers by @Shaddoll in https://github.com/uber/cadence/pull/6215
- Bug fixing: query isCron error by @bowenxia in https://github.com/uber/cadence/pull/6222
- Matching simulation improvements by @natemort in https://github.com/uber/cadence/pull/6224
- Add a wait time for task dispatchers by @Shaddoll in https://github.com/uber/cadence/pull/6223
- Update parameter of simulation test by @Shaddoll in https://github.com/uber/cadence/pull/6226
- Add tests for service/history/engine/engineimpl/record_activity_task_started.go by @fimanishi in https://github.com/uber/cadence/pull/6214
- [Wf-Diagnostics] setup a workflow that performs the diagnostics for a given workflow by @sankari165 in https://github.com/uber/cadence/pull/6225
- Enabling service-discovery driven shutdown of matching engine by @davidporter-id-au in https://github.com/uber/cadence/pull/6198
- Change dockerhub user from ubercadence to jht305 by @jakobht in https://github.com/uber/cadence/pull/6227
- Matching simulation with more read partitions than write partitions by @taylanisikdemir in https://github.com/uber/cadence/pull/6229
- [Wf-Diagnostics] Refactor and improve identification of execution timeouts by @sankari165 in https://github.com/uber/cadence/pull/6228
- [Wf-Diagnostics] Improve identification of activity timeouts by @sankari165 in https://github.com/uber/cadence/pull/6232
- Downgrade docker/build-push-action to v2 by @neil-xie in https://github.com/uber/cadence/pull/6231
- refactor custom string query for pinot_query_validator by @bowenxia in https://github.com/uber/cadence/pull/6230
- Move idls onto the main repo, rather than an unknown SHA, and sync with go module by @Groxx in https://github.com/uber/cadence/pull/6241
- [Wf-Diagnostics] Rootcause issues causing timeouts by @sankari165 in https://github.com/uber/cadence/pull/6236
- Update frontend poller metrics to include tasklist tag by @Shaddoll in https://github.com/uber/cadence/pull/6237
- Add metrics for tasks already started in matching by @fimanishi in https://github.com/uber/cadence/pull/6239
- Add additional options to matching simulation cases by @natemort in https://github.com/uber/cadence/pull/6240
- adding some description instrumentation by @davidporter-id-au in https://github.com/uber/cadence/pull/6242
- revert refactor attr string query by @bowenxia in https://github.com/uber/cadence/pull/6246
- [Wf-Diagnostics] update diagnostics workflow to get rootcause for identified issues by @sankari165 in https://github.com/uber/cadence/pull/6244
- Add support for isolation groups to matching simulator by @natemort in https://github.com/uber/cadence/pull/6243
- Expose the current Limit() on existing ratelimiters by @Groxx in https://github.com/uber/cadence/pull/6235
- Fix bug that headers are removed in indexes for closed workflows by @shijiesheng in https://github.com/uber/cadence/pull/6234
- Add custom headers config for OpenSearch by @neil-xie in https://github.com/uber/cadence/pull/6248
- Add new metrics to detect misconfigured tasklist partition by @Shaddoll in https://github.com/uber/cadence/pull/6251
- [Wf-Diagnostics] fix activity input for diagnostics workflow by @sankari165 in https://github.com/uber/cadence/pull/6247
- Unify blob size limit breach logging and metering by @3vilhamster in https://github.com/uber/cadence/pull/6250
- [Wf-Diagnostics] remove heartbeat rootcause for other irrelevant timeouts by @sankari165 in https://github.com/uber/cadence/pull/6253
- Add topic tag to producer metrics by @taylanisikdemir in https://github.com/uber/cadence/pull/6254
- [Wf-Diagnostics] update diagnostics workflow to return the result of diagnostics by @sankari165 in https://github.com/uber/cadence/pull/6255
- Add shard not owned error by @jakobht in https://github.com/uber/cadence/pull/6233
- Global ratelimiter: improve low-weight low-usage scenarios by @Groxx in https://github.com/uber/cadence/pull/6238
- Remove unnecessary error from retryOnTimeoutActivity by @fimanishi in https://github.com/uber/cadence/pull/6256
- Minor metrics / log improvement for global ratelimiter by @Groxx in https://github.com/uber/cadence/pull/6259
- [Wf-Diagnostics] update tasklist type in request to DescribeTaskList by @sankari165 in https://github.com/uber/cadence/pull/6257
- Support for wrapped errors in matchings error handler by @jakobht in https://github.com/uber/cadence/pull/6263
- Fix bug that will cause concurrency access to search attributes map by @shijiesheng in https://github.com/uber/cadence/pull/6262
- Avoid retry when deletes non exists visibility message by @neil-xie in https://github.com/uber/cadence/pull/6260
Full Changelog: https://github.com/uber/cadence/compare/v1.2.12...v1.2.13
Release v1.2.12 published by neil-xie on 8/19/2024
What's Changed
- Introducing MAPQ: Multi-tenant, Auto-partitioned, Persistent Queue by @taylanisikdemir in https://github.com/uber/cadence/pull/6132
- [CLI] add new valid search attribute key cases for context header by @shijiesheng in https://github.com/uber/cadence/pull/6144
- Add In Clause handling in json indexed col (Attr) by @bowenxia in https://github.com/uber/cadence/pull/6147
- Fix encoding bug to index context header in search attributes by @shijiesheng in https://github.com/uber/cadence/pull/6148
- Refactor/removing cross cluster feature by @davidporter-id-au in https://github.com/uber/cadence/pull/6121
- Add duplicate columns with different index to improve Pinot partial match performance by @neil-xie in https://github.com/uber/cadence/pull/6149
- Bugfix: replication messaged dropped during host shutdown by @davidporter-id-au in https://github.com/uber/cadence/pull/6143
- Global ratelimiter: everything else by @Groxx in https://github.com/uber/cadence/pull/6141
- Ensure PR description contains compatibility info & rollout plan when DB schema is changed by @taylanisikdemir in https://github.com/uber/cadence/pull/6150
- bugfix: bad dynamicconfig filter/string mapping by @Groxx in https://github.com/uber/cadence/pull/6151
- Include a zero bucket, zeros are being reported as 1 by @Groxx in https://github.com/uber/cadence/pull/6153
- Stop the ratelimiter collections when stopping the service by @Groxx in https://github.com/uber/cadence/pull/6155
- Remove coveralls integration by @taylanisikdemir in https://github.com/uber/cadence/pull/6154
- Add activity timeout context by @3vilhamster in https://github.com/uber/cadence/pull/6156
- Add ES support for ListAllWorkflowExecutions by @sankari165 in https://github.com/uber/cadence/pull/6157
- Ratelimiter usage-counting bugfix: rejected reservations were not counted by @Groxx in https://github.com/uber/cadence/pull/6158
- Unify metrics for blob size/history size/history count by @3vilhamster in https://github.com/uber/cadence/pull/6161
- Update ListAllWorkflowExecutions pinot endpoint by @sankari165 in https://github.com/uber/cadence/pull/6160
- Revert text search columns for pinot visibility store by @neil-xie in https://github.com/uber/cadence/pull/6162
- Fix bug to query header search attributes correctly in visibility by @shijiesheng in https://github.com/uber/cadence/pull/6163
- Add log and metrics to workflow termination events by @fimanishi in https://github.com/uber/cadence/pull/6146
- Fix memory leak by caused by dynamicconfig value logging by @taylanisikdemir in https://github.com/uber/cadence/pull/6169
- Make "make build" behavior clearer, it is rather special case by @Groxx in https://github.com/uber/cadence/pull/6166
- Attempt at adding hostport info to logs by @agautam478 in https://github.com/uber/cadence/pull/6152
- Fix metrics for task forwarding by @Shaddoll in https://github.com/uber/cadence/pull/6174
- Adds metric around forward rate-limiting by @davidporter-id-au in https://github.com/uber/cadence/pull/6172
- Refactor everywhere uses ESClient to have a Switch by @bowenxia in https://github.com/uber/cadence/pull/6168
- Add "is_primary" tag to show the ratelimiter type that's currently in use by @Groxx in https://github.com/uber/cadence/pull/6170
- Pass dynamic map into pinot query validator by @bowenxia in https://github.com/uber/cadence/pull/6175
- Add global-ratelimiter aggregator-side metrics by @Groxx in https://github.com/uber/cadence/pull/6171
- Bug fix: custom query in Count doesn't return correct result by @bowenxia in https://github.com/uber/cadence/pull/6179
- Add tasklist type tag for all metrics from tasklistmgr scope by @Shaddoll in https://github.com/uber/cadence/pull/6180
- Handle not equal in custom keyword field by @bowenxia in https://github.com/uber/cadence/pull/6185
- Add emitWorkflowTypeCountMetricsPinot in ESAnalyzer by @bowenxia in https://github.com/uber/cadence/pull/6177
- [frontend] Always log CheckEventBlobSizeLimit violations by @3vilhamster in https://github.com/uber/cadence/pull/6183
- Update open search version for dev by @neil-xie in https://github.com/uber/cadence/pull/6182
- Revert multi-platform build and push when release new version by @neil-xie in https://github.com/uber/cadence/pull/6187
- Benchmark concurrent Cassandra LWTs by @taylanisikdemir in https://github.com/uber/cadence/pull/6186
- Add missing data to descrbie tasklist command by @Shaddoll in https://github.com/uber/cadence/pull/6189
- Add FirstRunAt field to start workflow option logic by @timl3136 in https://github.com/uber/cadence/pull/6178
Full Changelog: https://github.com/uber/cadence/compare/v1.2.11...v1.2.12
Release v1.2.11 published by neil-xie on 7/10/2024
What's Changed
- Added test for newNoSQLTaskStore by @jakobht in https://github.com/uber/cadence/pull/6033
- Wrapped errors support on metered persistence wrappers by @3vilhamster in https://github.com/uber/cadence/pull/6035
- Enable sanity check for strong idempotency check by @Shaddoll in https://github.com/uber/cadence/pull/6031
- Add method to list all workflow executions with support for partial match and search params by @sankari165 in https://github.com/uber/cadence/pull/6017
- Unit tests for GetTaskListSize by @jakobht in https://github.com/uber/cadence/pull/6039
- Add tests for mutable_state_builder_methods_activity.go by @sankari165 in https://github.com/uber/cadence/pull/6037
- Add tests for mutable_state_builder_methods_timer.go by @sankari165 in https://github.com/uber/cadence/pull/6040
- [common/persistence] Unit tests for SerializeWorkflowSnapshot by @3vilhamster in https://github.com/uber/cadence/pull/6034
- Adding more tests to context.go by @dkrotx in https://github.com/uber/cadence/pull/6043
- Global ratelimiter helper: a small atomic-like map by @Groxx in https://github.com/uber/cadence/pull/6027
- Added test for GetOrphanTasks by @jakobht in https://github.com/uber/cadence/pull/6036
- Improve unit tests for mutable_state_builder_methods_activity.go by @sankari165 in https://github.com/uber/cadence/pull/6045
- Move RetryActivity to the corresponding file by @Shaddoll in https://github.com/uber/cadence/pull/6038
- Add tests for history decision task handler by @ketsiambaku in https://github.com/uber/cadence/pull/6053
- Unit tests for DeserializeBufferedEvents by @3vilhamster in https://github.com/uber/cadence/pull/6054
- wrapped error support in transport mappers by @3vilhamster in https://github.com/uber/cadence/pull/6050
- Added tests for GetTasks by @jakobht in https://github.com/uber/cadence/pull/6048
- Add unit tests for mutable_state_builder_methods_signal.go by @sankari165 in https://github.com/uber/cadence/pull/6056
- Unit tests for LeaseTaskList by @jakobht in https://github.com/uber/cadence/pull/6042
- Added test for UpdateTaskList by @jakobht in https://github.com/uber/cadence/pull/6046
- Added tests for DeleteTaskList by @jakobht in https://github.com/uber/cadence/pull/6047
- Added tests for CompleteTasks by @jakobht in https://github.com/uber/cadence/pull/6051
- Add tests for Put/GetReplicationTasksDLQ by @3vilhamster in https://github.com/uber/cadence/pull/6057
- Made execution.Cache an interface so we can mock it in unit tests by @jakobht in https://github.com/uber/cadence/pull/6058
- Global ratelimiter helper: usage-tracking fallback-capable rate.Limiter by @Groxx in https://github.com/uber/cadence/pull/6028
- Add tests for mutable_state_builder_methods_decision.go by @fimanishi in https://github.com/uber/cadence/pull/6055
- [code-coverage] Add tests for history decision task handler by @ketsiambaku in https://github.com/uber/cadence/pull/6060
- Test for DescribeMutableState by @jakobht in https://github.com/uber/cadence/pull/6059
- Adopt Go toolchains for language-version-control by @Groxx in https://github.com/uber/cadence/pull/6063
- Cancel-able reservations for ratelimiters by @Groxx in https://github.com/uber/cadence/pull/6030
- Added feature to index context header in visibility by @shijiesheng in https://github.com/uber/cadence/pull/6066
- Added a new metric to the workflow cache by @jakobht in https://github.com/uber/cadence/pull/6064
- Added unit test for DeserializeChildExecutionInfos by @3vilhamster in https://github.com/uber/cadence/pull/6069
- We now do not log on recent shard closed errors from the getWorkflowExecutionWithRetry function by @jakobht in https://github.com/uber/cadence/pull/6068
- Introduce ListAllWorkflowExecutions method in frontend by @sankari165 in https://github.com/uber/cadence/pull/6065
- Add more tests to execution manager by @3vilhamster in https://github.com/uber/cadence/pull/6074
- Test CreateWorkflowExecution in execution manager by @3vilhamster in https://github.com/uber/cadence/pull/6075
- Suppress test failures due to logs after tests complete by @Groxx in https://github.com/uber/cadence/pull/6067
- Remove redundant parameter from CreateTasks flow by @Shaddoll in https://github.com/uber/cadence/pull/6077
- Improve TestConcurrentAddAndPoll* tests by @Shaddoll in https://github.com/uber/cadence/pull/6079
- [code-coverage] Add tests for history decision task handler by @ketsiambaku in https://github.com/uber/cadence/pull/6061
- [execution_manager] Add unit tests for ConflictResolveWorkflowExecution by @3vilhamster in https://github.com/uber/cadence/pull/6076
- Move err check before log message by @sankari165 in https://github.com/uber/cadence/pull/6073
- Fix DrainBacklogNoPollersIsolationGroup tests by @Shaddoll in https://github.com/uber/cadence/pull/6080
- Migrate unit tests from AWS to GKE by @Shaddoll in https://github.com/uber/cadence/pull/6082
- Added tests for metered.go by @agautam478 in https://github.com/uber/cadence/pull/6083
- Improve matching SyncMatch tests by @Shaddoll in https://github.com/uber/cadence/pull/6084
- Added missing tests for metered.go by @agautam478 in https://github.com/uber/cadence/pull/6086
- Addition of test for TestHandler_UpdateAsyncWorkflowConfiguration by @abhishekj720 in https://github.com/uber/cadence/pull/5892
- tools/cli: reducing unnecessary closures by @Groxx in https://github.com/uber/cadence/pull/6090
- Refactor high-coupling method into functions in applyEvent for a more testability by @bowenxia in https://github.com/uber/cadence/pull/6089
- We now only log "Failed to signal external workflow execution" on unexpected errors by @jakobht in https://github.com/uber/cadence/pull/6092
- Add tests for dlq_handler.go by @fimanishi in https://github.com/uber/cadence/pull/6071
- Add tests for RequestCancelWorkflowExecution in service/frontend/api/handler.go by @fimanishi in https://github.com/uber/cadence/pull/6085
- Add unit tests for RespondActivityTaskFailedByID in frontend API handler by @timl3136 in https://github.com/uber/cadence/pull/6091
- Adding more tests to shard/context.go by @dkrotx in https://github.com/uber/cadence/pull/6052
- Add tests for mutable_state_builder_methods_child_workflow by @natemort in https://github.com/uber/cadence/pull/6088
- Using find instead of ** to locate Dockerfiles by @dkrotx in https://github.com/uber/cadence/pull/6096
- Addition of tests for dlqMessageHandler in common domain by @abhishekj720 in https://github.com/uber/cadence/pull/5969
- Add unit test for frontend/admin/handler - part 2 by @neil-xie in https://github.com/uber/cadence/pull/6003
- Add tests for QueryWorkflow in service/frontend/api/handler.go by @fimanishi in https://github.com/uber/cadence/pull/6094
- Add tests for reset_sticky_tasklist.go by @natemort in https://github.com/uber/cadence/pull/6097
- Write tests for shard context by @taylanisikdemir in https://github.com/uber/cadence/pull/6087
- Tests for the stray lines needing coverage. by @agautam478 in https://github.com/uber/cadence/pull/6098
- Use newer version of github docker push action by @neil-xie in https://github.com/uber/cadence/pull/6099
- Rename sql_testing_util.go to sql_test_utils.go by @natemort in https://github.com/uber/cadence/pull/6103
- Add test coverage for matching/config/config.go by @natemort in https://github.com/uber/cadence/pull/6101
- Add tests for DescribeWorkflowExecution in service/frontend/api/handler.go by @fimanishi in https://github.com/uber/cadence/pull/6105
- Added tests for starting, stopping and purging daemon for replicationQueue by @abhishekj720 in https://github.com/uber/cadence/pull/5973
- Bench test use grpc by @subhash-veluru in https://github.com/uber/cadence/pull/6049
- Add unit tests for methods in frontend api handler by @timl3136 in https://github.com/uber/cadence/pull/6100
- Rename test utils files to test_utils by @natemort in https://github.com/uber/cadence/pull/6106
- Add unit tests for matching engine by @Shaddoll in https://github.com/uber/cadence/pull/6102
- Call GetDomainName once in task_list_mngr:NewManager() by @dkrotx in https://github.com/uber/cadence/pull/6107
- Renaming tasklist.NewIdentifier() result by @dkrotx in https://github.com/uber/cadence/pull/6113
- Added tests for common/blobstore/retryableClient.go by @agautam478 in https://github.com/uber/cadence/pull/6111
- Fix rebalancing failover tooling by @fimanishi in https://github.com/uber/cadence/pull/6095
- Update coverage exclusions by @taylanisikdemir in https://github.com/uber/cadence/pull/6115
- Write more tests for replication task processor by @taylanisikdemir in https://github.com/uber/cadence/pull/6112
- Add unit tests for poller package by @Shaddoll in https://github.com/uber/cadence/pull/6110
- Include Domain in GRPC UpdateDomainIsolationGroupsRequest by @natemort in https://github.com/uber/cadence/pull/6114
- Skip .git folder when searching for *.go files by @Groxx in https://github.com/uber/cadence/pull/6118
- Fix replication metric emitter shutdown by @taylanisikdemir in https://github.com/uber/cadence/pull/6117
- [code-coverage] Add tests for mutable_state_util.go by @ketsiambaku in https://github.com/uber/cadence/pull/6062
- Fixed comment during refactoring by @dkrotx in https://github.com/uber/cadence/pull/6108
- Add unit tests for methods in frontend API handler by @timl3136 in https://github.com/uber/cadence/pull/6104
- Add tests for service/matching/handler/handler.go by @fimanishi in https://github.com/uber/cadence/pull/6116
- Add unit tests for methods in frontend API handler by @timl3136 in https://github.com/uber/cadence/pull/6119
- Add Unit tests for Frontend API Handler by @timl3136 in https://github.com/uber/cadence/pull/6122
- Global ratelimiter: client-side Collection skeleton by @Groxx in https://github.com/uber/cadence/pull/6078
- Change permission of DescribeCluster to Read by @jiaxuyang in https://github.com/uber/cadence/pull/6081
- Add unit tests for methods in frontend api handler by @timl3136 in https://github.com/uber/cadence/pull/6123
- Add additional unit tests for workflow execution methods in frontend api handler by @timl3136 in https://github.com/uber/cadence/pull/6124
- Changed the lint script so the fast tests are run first by @jakobht in https://github.com/uber/cadence/pull/6093
- Unit tests for part of applyEvents by @bowenxia in https://github.com/uber/cadence/pull/6120
- [Pinot migration] Hot fix: nil memo error in mono repo by @bowenxia in https://github.com/uber/cadence/pull/6125
- Allow custom sorting in ListAllWorkflowExecutions api by @sankari165 in https://github.com/uber/cadence/pull/6130
- Treat WorkflowExecutionAlreadyStartedError as a success for async requests by @natemort in https://github.com/uber/cadence/pull/6128
- Switch quotas.Collection to clock.Ratelimiter, minor fixes along the way by @Groxx in https://github.com/uber/cadence/pull/6126
- [history] Make large_history_size_count tagged by domain by @3vilhamster in https://github.com/uber/cadence/pull/6131
- Add tests for service/history/execution/mutable_state_task_generator.go by @fimanishi in https://github.com/uber/cadence/pull/6129
- Allow filtering by CloseStatus in ListAllWorkflowExecutions api by @sankari165 in https://github.com/uber/cadence/pull/6133
- Added internal count metrics in addition to the external counts that are already there by @jakobht in https://github.com/uber/cadence/pull/6135
- [code-coverage] Add tests for mutable_state_manager.go by @ketsiambaku in https://github.com/uber/cadence/pull/6070
- Bump docker/build-push-action to v5 by @mantas-sidlauskas in https://github.com/uber/cadence/pull/6134
- Add pinot integration test by @bowenxia in https://github.com/uber/cadence/pull/6044
- Add tests for UpdateDomain in common/domain/handler.go by @fimanishi in https://github.com/uber/cadence/pull/6136
- Run pinot integration test locally with docker containers by @bowenxia in https://github.com/uber/cadence/pull/6140
- Persist failover history in DomainInfo data by @fimanishi in https://github.com/uber/cadence/pull/6139
- Refactor pinot visibility and add migration config by @neil-xie in https://github.com/uber/cadence/pull/6072
New Contributors
- @fimanishi made their first contribution in https://github.com/uber/cadence/pull/6055
- @jiaxuyang made their first contribution in https://github.com/uber/cadence/pull/6081
Full Changelog: https://github.com/uber/cadence/compare/v1.2.10...v1.2.11
Release v1.2.10 published by neil-xie on 6/4/2024
What's Changed
- Update duplicate request error to include request type by @Shaddoll in https://github.com/uber/cadence/pull/5910
- Update mutable state to generate workflow requests by @Shaddoll in https://github.com/uber/cadence/pull/5821
- Add AsDuplicateRequestError function by @Shaddoll in https://github.com/uber/cadence/pull/5914
- Bugfix for enumer in go 1.22 by @Groxx in https://github.com/uber/cadence/pull/5915
- Add tests for common/persistence/retryer.go by @natemort in https://github.com/uber/cadence/pull/5911
- Add tests for common/persistence/shardManager.go by @natemort in https://github.com/uber/cadence/pull/5916
- Add tests for persistence/workflow_execution_info.go by @natemort in https://github.com/uber/cadence/pull/5918
- Add more unit test to history handler by @timl3136 in https://github.com/uber/cadence/pull/5897
- Get rid of mutex in matching/liveness and reduce test duration by @taylanisikdemir in https://github.com/uber/cadence/pull/5917
- Add memo in pinot by @bowenxia in https://github.com/uber/cadence/pull/5902
- Added Executor Interface and TimerTaskExecutorBase with stop() Method and improve context management in TimerQueueProcessor by @timl3136 in https://github.com/uber/cadence/pull/5920
- [code-coverage] Add more tests for service/history/decision package by @ketsiambaku in https://github.com/uber/cadence/pull/5909
- Add document explaining the schema of Cassandra executions table by @Shaddoll in https://github.com/uber/cadence/pull/5921
- Add tests for ReadHistoryBranch by @jakobht in https://github.com/uber/cadence/pull/5899
- Fix failover error causing child workflows to get stuck by @davidporter-id-au in https://github.com/uber/cadence/pull/5919
- Adding tests for nosqlQueueStore by @dkrotx in https://github.com/uber/cadence/pull/5924
- Changed the error to DomainNotActive for Deprecated domains by @abhishekj720 in https://github.com/uber/cadence/pull/5929
- [code-coverage] clean up tests in history/decision/handler by @ketsiambaku in https://github.com/uber/cadence/pull/5932
- [code-coverage] add tests for HandleDecisionTaskCompleted() by @ketsiambaku in https://github.com/uber/cadence/pull/5934
- Fix bug when pass close status as an integar string by @neil-xie in https://github.com/uber/cadence/pull/5935
- Workaround for query-consistency-strong which is presently partially broken by @davidporter-id-au in https://github.com/uber/cadence/pull/5928
- Fix GetListWorkflowExecutionsByStatusQuery to set status as int by @neil-xie in https://github.com/uber/cadence/pull/5936
- Upgrade apache thrift to v.0.17.0 by @3vilhamster in https://github.com/uber/cadence/pull/5814
- [cassandra] Expose timeout and consistency level configuration by @mantas-sidlauskas in https://github.com/uber/cadence/pull/5675
- Fix slice reuse in cassandra/domain.go by @natemort in https://github.com/uber/cadence/pull/5937
- Add double read for latency comparison for Pinot Migration by @bowenxia in https://github.com/uber/cadence/pull/5927
- Add missing metric tag for GetTaskListSizeRequest by @Shaddoll in https://github.com/uber/cadence/pull/5939
- Add tests for ForkHistoryBranch by @jakobht in https://github.com/uber/cadence/pull/5922
- Migrate Buildkite CI from AWS to GKE agent queues by @mstifflin in https://github.com/uber/cadence/pull/5912
- Fix checksum validation for SQL by @Shaddoll in https://github.com/uber/cadence/pull/5940
- Global ratelimiter, part 2: Any-typed RPCs, mappers, and stub handler by @Groxx in https://github.com/uber/cadence/pull/5817
- Integration test for workflow ID based rate limiting task processing by @sankari165 in https://github.com/uber/cadence/pull/5933
- [code-coverage] Add more tests for HandleDecisionTaskCompleted by @ketsiambaku in https://github.com/uber/cadence/pull/5945
- Update internal types to adopt new IDL changes by @Shaddoll in https://github.com/uber/cadence/pull/5946
- [Pinot] fix bug when querying a string field in attr with an empty value by @bowenxia in https://github.com/uber/cadence/pull/5941
- Add tests for DeleteHistoryBranch by @jakobht in https://github.com/uber/cadence/pull/5943
- We now wait 10 seconds before we start returning shard closed errors, also stop retrying on shard closed errors by @jakobht in https://github.com/uber/cadence/pull/5938
- Revert lowering the new line check by @jakobht in https://github.com/uber/cadence/pull/5954
- Increase timeouts to prevent flakiness by @sankari165 in https://github.com/uber/cadence/pull/5953
- Added tests for GetAllHistoryTreeBranches by @jakobht in https://github.com/uber/cadence/pull/5944
- Bugfix: we address hosts using string(rune(shardID)), not by itoa(shardD) by @dkrotx in https://github.com/uber/cadence/pull/5952
- Add staleness check to RecordChildExecutionCompleted by @Shaddoll in https://github.com/uber/cadence/pull/5955
- [code-coverage] Add more test cases for HandleDecisionTaskCompleted by @ketsiambaku in https://github.com/uber/cadence/pull/5950
- Adding unit tests for client/matching/client.go by @sankari165 in https://github.com/uber/cadence/pull/5959
- [code-coverage] Introduced first set of tests for taskHandler in service/history/decision by @ketsiambaku in https://github.com/uber/cadence/pull/5960
- Fix a bug when set memo in pinot visibility store by @neil-xie in https://github.com/uber/cadence/pull/5961
- unit test for cassandra/visibility.go by @d-vignesh in https://github.com/uber/cadence/pull/5948
- [code-coverage] Tests for Decision taskHandler by @ketsiambaku in https://github.com/uber/cadence/pull/5951
- Publish multiple platform docker image when release server by @neil-xie in https://github.com/uber/cadence/pull/5962
- Updated the changelog for release 1.2.9 by @jakobht in https://github.com/uber/cadence/pull/5963
- Update task executor to handle WorkflowAlreadyCompletedError for signal and cancel workflow by @Shaddoll in https://github.com/uber/cadence/pull/5956
- Fix wrong comment on enableAsyncWorkflowConsumption dynamic config by @taylanisikdemir in https://github.com/uber/cadence/pull/5964
- Add metric for async request payload size by @Shaddoll in https://github.com/uber/cadence/pull/5965
- Async wf consumer manager should watch its enabled/disabled state instead of relying on restart by @taylanisikdemir in https://github.com/uber/cadence/pull/5966
- chore: fix function names in comment by @verytrap in https://github.com/uber/cadence/pull/5894
- Replace wurstmeister kafka/zookeeper images with bitnami kafka image by @taylanisikdemir in https://github.com/uber/cadence/pull/5975
- Split historyEngine.go into small files by @taylanisikdemir in https://github.com/uber/cadence/pull/5972
- Added unit tests for service/history/handler by @timl3136 in https://github.com/uber/cadence/pull/5970
- Add unit tests for mutable state task refresher by @Shaddoll in https://github.com/uber/cadence/pull/5971
- Revert codecov patch threshold to 85% by @taylanisikdemir in https://github.com/uber/cadence/pull/5982
- Api handler test respond activity task failed alternate by @ibarrajo in https://github.com/uber/cadence/pull/5980
- Move shardscanner workflow tests to the shardscanner package by @natemort in https://github.com/uber/cadence/pull/5981
- Add tests for service/frontend/config/config.go by @natemort in https://github.com/uber/cadence/pull/5968
- Added tests for the history_events.go by @agautam478 in https://github.com/uber/cadence/pull/5978
- Added additional unit tests for service/history/handler.go by @timl3136 in https://github.com/uber/cadence/pull/5984
- Reduce flakiness on workflow-ID-specific ratelimit test by @Groxx in https://github.com/uber/cadence/pull/5986
- Enforcing go vet -copylocks and fixing current violations by @Groxx in https://github.com/uber/cadence/pull/5967
- Added new tests to config_Store_client_test.go by @agautam478 in https://github.com/uber/cadence/pull/5983
- Add tests for history/execution/history_builder.go by @natemort in https://github.com/uber/cadence/pull/5977
- History engine start/stop unit tests by @taylanisikdemir in https://github.com/uber/cadence/pull/5985
- Added tests to history_events.go. by @agautam478 in https://github.com/uber/cadence/pull/5988
- Added unit tests for history handler by @timl3136 in https://github.com/uber/cadence/pull/5987
- Add unit test for open search client bulk requests by @neil-xie in https://github.com/uber/cadence/pull/5974
- Add tests for history/engine/engineimpl/describe_workflow_execution.go by @natemort in https://github.com/uber/cadence/pull/5992
- Add test for NewHistoryReplicator in history_replicator.go by @bowenxia in https://github.com/uber/cadence/pull/5994
- Added additional unit tests for methods history/handler.go by @timl3136 in https://github.com/uber/cadence/pull/5993
- lowering threshold for PRs for a one-time refactor/split by @davidporter-id-au in https://github.com/uber/cadence/pull/5997
- Add unit test for frontend/admin/handler - part 1 by @neil-xie in https://github.com/uber/cadence/pull/5991
- Minor splitting of mutable state builder file by @davidporter-id-au in https://github.com/uber/cadence/pull/5990
- Write tests for history engine's RefreshWorkflowTasks by @taylanisikdemir in https://github.com/uber/cadence/pull/5995
- Update coverage exclusions by @taylanisikdemir in https://github.com/uber/cadence/pull/5999
- Replication task processor shutdown improvements and start/stop unit tests by @taylanisikdemir in https://github.com/uber/cadence/pull/5996
- Added additional unit tests testing history handler by @timl3136 in https://github.com/uber/cadence/pull/6001
- Add test coverage for service/history/engine/engineimpl/reset_workflow_execution.go by @natemort in https://github.com/uber/cadence/pull/6002
- mutable-state: copy to persistence round-trip test by @davidporter-id-au in https://github.com/uber/cadence/pull/5998
- Added tests for GetResurrected timers in integrity for history/execution by @abhishekj720 in https://github.com/uber/cadence/pull/6005
- Adding tests for
terminate_workflow_execution
by @agautam478 in https://github.com/uber/cadence/pull/6008 - Added tests for GetResurrectedActivities in integrity history/execution by @abhishekj720 in https://github.com/uber/cadence/pull/6006
- Add unit test for replication task fetcher by @Shaddoll in https://github.com/uber/cadence/pull/6009
- Added unit tests for history handler by @timl3136 in https://github.com/uber/cadence/pull/6007
- Add unit test for replication task executor by @Shaddoll in https://github.com/uber/cadence/pull/6012
- Stop orphan failover queue processors when its parent stops by @taylanisikdemir in https://github.com/uber/cadence/pull/6013
- Write tests for replication task processor main loop by @taylanisikdemir in https://github.com/uber/cadence/pull/6010
- Add unit tests for replication fetchers by @Shaddoll in https://github.com/uber/cadence/pull/6015
- Added tests for context utilities: EmitLargeWorkflowShardIDStats in history execution by @abhishekj720 in https://github.com/uber/cadence/pull/6011
- Fixes classification error for deprecated domains by @davidporter-id-au in https://github.com/uber/cadence/pull/6016
- Add unit tests for remaining methods in history handler by @timl3136 in https://github.com/uber/cadence/pull/6014
- Refactor matching and split the files into subpackages by @Shaddoll in https://github.com/uber/cadence/pull/6000
- Added test for HistoryStats and ExecutionStats for history execution by @abhishekj720 in https://github.com/uber/cadence/pull/6018
- Add test for history_replicator, ApplyEvent function by @bowenxia in https://github.com/uber/cadence/pull/6004
- Added extra tests for terminate_workflow by @agautam478 in https://github.com/uber/cadence/pull/6019
- Added tests for start_workflow_execution.go by @agautam478 in https://github.com/uber/cadence/pull/6021
- Improve error handling for history handler by @Shaddoll in https://github.com/uber/cadence/pull/6020
- Stop history queue task processor after shard controller is stopped by @taylanisikdemir in https://github.com/uber/cadence/pull/6022
- Add metric for duplicate request error by @Shaddoll in https://github.com/uber/cadence/pull/6023
- Revert "Update task executor to handle WorkflowAlreadyCompletedError for signal and cancel workflow (#5956)" by @Shaddoll in https://github.com/uber/cadence/pull/6026
New Contributors
- @mstifflin made their first contribution in https://github.com/uber/cadence/pull/5912
- @verytrap made their first contribution in https://github.com/uber/cadence/pull/5894
Full Changelog: https://github.com/uber/cadence/compare/v1.2.9...v1.2.10
Release v1.2.9 published by jakobht on 5/1/2024
What's Changed
- Addition of tests for ArchivalConfigStateMachine in common/domain by @abhishekj720 in https://github.com/uber/cadence/pull/5698
- Introduce new dynamic config for enabling wfID based ratelimiting by @jakobht in https://github.com/uber/cadence/pull/5703
- Add unit tests for sql plugin registration by @Shaddoll in https://github.com/uber/cadence/pull/5705
- Add unit tests for sql helper functions by @Shaddoll in https://github.com/uber/cadence/pull/5706
- Add unit test for helper function of sql execution store by @Shaddoll in https://github.com/uber/cadence/pull/5707
- Generate a metadata file artifact in unit test buildkite job by @taylanisikdemir in https://github.com/uber/cadence/pull/5708
- Write tests for cdb.UpdateWorkflowExecutionWithTasks by @taylanisikdemir in https://github.com/uber/cadence/pull/5709
- Add unit tests for helper functions in sql execution store util by @Shaddoll in https://github.com/uber/cadence/pull/5710
- Add unit tests for CreateWorkflowExecution by @Shaddoll in https://github.com/uber/cadence/pull/5715
- Test: Addition of tests for replicationQueue publish and publish to dlq by @abhishekj720 in https://github.com/uber/cadence/pull/5700
- Implemented ratelimiting for external calls pr wfid (guarded by feature flag) by @jakobht in https://github.com/uber/cadence/pull/5704
- remove old metrics wrappers and use new generated metered wrappers by @3vilhamster in https://github.com/uber/cadence/pull/5717
- Proper shutdown of kafka consumer impl and fix test by @taylanisikdemir in https://github.com/uber/cadence/pull/5712
- Add additional unit tests for functions in constants.go by @timl3136 in https://github.com/uber/cadence/pull/5713
- Initial codecov integration by @taylanisikdemir in https://github.com/uber/cadence/pull/5711
- Add tests for UpdateWorkflowExecution by @Shaddoll in https://github.com/uber/cadence/pull/5718
- Tests for UpdateWorkflowEecution in nosql store-Part1 by @agautam478 in https://github.com/uber/cadence/pull/5719
- Add unit tests for ConflictResolveWorkflowExecution by @Shaddoll in https://github.com/uber/cadence/pull/5721
- Add tests for elasticsearch v6 client by @neil-xie in https://github.com/uber/cadence/pull/5716
- Add unit tests for persistence task types in DataManagerInterfaces by @timl3136 in https://github.com/uber/cadence/pull/5720
- Add unit tests for CreateFailoverMarkerTasks by @Shaddoll in https://github.com/uber/cadence/pull/5724
- Change noisy frontend poll timeout log to debug level by @taylanisikdemir in https://github.com/uber/cadence/pull/5725
- Added unit tests for nosql_execution_Store_util.go - Part1 by @agautam478 in https://github.com/uber/cadence/pull/5723
- Straightforwardly fixes a few minor copy bugs and adds a small fuzz util by @davidporter-id-au in https://github.com/uber/cadence/pull/5572
- Add test for ES v6 client Search method by @neil-xie in https://github.com/uber/cadence/pull/5727
- Tests for Common/Domain: Adding tests for replication queue message handling and ack update by @abhishekj720 in https://github.com/uber/cadence/pull/5730
- Add more unit tests for persistence task types in DataManagerInterfaces by @timl3136 in https://github.com/uber/cadence/pull/5726
- Added two more test cases for the updateworkflowexecution by @agautam478 in https://github.com/uber/cadence/pull/5722
- [history] refactor history client with timeout wrapper by @shijiesheng in https://github.com/uber/cadence/pull/5728
- Add unit tests for PinotVisibilityStore by @bowenxia in https://github.com/uber/cadence/pull/5714
- Removed errors file from test coverage by @abhishekj720 in https://github.com/uber/cadence/pull/5735
- Test for Common/domain/replication_queue: GetMessagesfromDLQ & AckLevel by @abhishekj720 in https://github.com/uber/cadence/pull/5734
- Added unit tests for Delete current and workflow execution, list all … by @agautam478 in https://github.com/uber/cadence/pull/5733
- Added unit tests for PrepareResetWorkflowExecutionRequestWithMapsAndE… by @agautam478 in https://github.com/uber/cadence/pull/5731
- Adding more unit tests for ES v6 client by @neil-xie in https://github.com/uber/cadence/pull/5739
- Tests for GetDLQAckLevel and UpdateDLQAckLevel by @abhishekj720 in https://github.com/uber/cadence/pull/5740
- Add unit tests for TaskInfo types and utility functions by @timl3136 in https://github.com/uber/cadence/pull/5732
- Tests for common/domain: tests TestGetDLQSize, TestRangeDeleteMessagesFromDLQ and TestDeleteMessageFromDLQ by @abhishekj720 in https://github.com/uber/cadence/pull/5741
- Add error case tests for pinot_visibility_store by @bowenxia in https://github.com/uber/cadence/pull/5746
- Add unit test for util methods in es v6 client bulk processor by @neil-xie in https://github.com/uber/cadence/pull/5748
- Add unit tests for GetWorkflowExecution by @Shaddoll in https://github.com/uber/cadence/pull/5736
- Adds test for execution/mutable_state_builder.go by @davidporter-id-au in https://github.com/uber/cadence/pull/5744
- Add unit tests for the util functions in data_manager_interface by @timl3136 in https://github.com/uber/cadence/pull/5742
- Very minor nil-or-empty cleanup by @Groxx in https://github.com/uber/cadence/pull/5745
- Added more tests for nosql_execution_store.go by @agautam478 in https://github.com/uber/cadence/pull/5738
- Write more tests for cassandra/workflows.go by @taylanisikdemir in https://github.com/uber/cadence/pull/5750
- Added more tests for nosql_execution_stor_util.go by @agautam478 in https://github.com/uber/cadence/pull/5752
- Enforce leading space on comments by @Groxx in https://github.com/uber/cadence/pull/5747
- Add unit tests for common/persistence/sql/factory.go by @Shaddoll in https://github.com/uber/cadence/pull/5751
- [history] fix generated timeout wrapper by @shijiesheng in https://github.com/uber/cadence/pull/5737
- Add unit tests for functions in gocql/batch.go by @timl3136 in https://github.com/uber/cadence/pull/5759
- Add test for es v6 bulk processor by @neil-xie in https://github.com/uber/cadence/pull/5758
- Added test for replicationTaskExecutor: execute by @abhishekj720 in https://github.com/uber/cadence/pull/5754
- Add unit test for ES v7 client by @neil-xie in https://github.com/uber/cadence/pull/5760
- Added test cases for more util methods by @agautam478 in https://github.com/uber/cadence/pull/5755
- More unit tests for nosql_execution_store_test.go by @agautam478 in https://github.com/uber/cadence/pull/5753
- Add unit test for pinot folder with coverage to 93.4% by @bowenxia in https://github.com/uber/cadence/pull/5761
- [code-coverage] update admin and frontend client to use generated code by @ketsiambaku in https://github.com/uber/cadence/pull/5702
- Tests for PurgeAckedMessages and replicationMessage in common/domain/replication_queue by @abhishekj720 in https://github.com/uber/cadence/pull/5749
- Code cleanup for sql package by @Shaddoll in https://github.com/uber/cadence/pull/5756
- Add unit test for es v7 bulk processor by @neil-xie in https://github.com/uber/cadence/pull/5764
- Added test for pinot_visibility_metric_clients.go by @bowenxia in https://github.com/uber/cadence/pull/5767
- adding mutable state builder tests - adding continue-as-new events by @davidporter-id-au in https://github.com/uber/cadence/pull/5768
- Refactor/adding mutable state builder tests iv by @davidporter-id-au in https://github.com/uber/cadence/pull/5769
- Add unit test for open search client part 1 by @neil-xie in https://github.com/uber/cadence/pull/5774
- minor mutable-state log fix by @davidporter-id-au in https://github.com/uber/cadence/pull/5776
- refactor common/persistence/pinot tests by @bowenxia in https://github.com/uber/cadence/pull/5777
- Addition of tests for archivalConfigStateMachine in common/domain by @abhishekj720 in https://github.com/uber/cadence/pull/5778
- Re-enable sql unit test by @Shaddoll in https://github.com/uber/cadence/pull/5779
- Test: Validate domain config test for attrValidator by @abhishekj720 in https://github.com/uber/cadence/pull/5699
- refactor pinot_visibility_store_test by @bowenxia in https://github.com/uber/cadence/pull/5780
- [code-coverage] Generate code for matching client timeout wrapper by @ketsiambaku in https://github.com/uber/cadence/pull/5771
- Fix data race in matching test suite by @taylanisikdemir in https://github.com/uber/cadence/pull/5781
- hot fix for unit test cases that might cause a failure by @bowenxia in https://github.com/uber/cadence/pull/5787
- Adding unit tests for TestPrepareTransferTasksForWorkflowTxn by @agautam478 in https://github.com/uber/cadence/pull/5763
- Ignore requests send from pinot response comparator by @bowenxia in https://github.com/uber/cadence/pull/5788
- Coverage for dataStoreInterfaces by @Groxx in https://github.com/uber/cadence/pull/5743
- Retryable error for workflow rate limits in task processing by @sankari165 in https://github.com/uber/cadence/pull/5782
- Re-enable kafka consumer test by @taylanisikdemir in https://github.com/uber/cadence/pull/5791
- Global ratelimiter, part 1: core algorithm for computing weights by @Groxx in https://github.com/uber/cadence/pull/5689
- Write tests for cassandra SelectWorkflowExecution by @taylanisikdemir in https://github.com/uber/cadence/pull/5792
- Fix workflow deletion by @Shaddoll in https://github.com/uber/cadence/pull/5793
- Fix checksum validation for SQL implementation by @Shaddoll in https://github.com/uber/cadence/pull/5790
- added unit test for function in mapper-thrift-configstore file by @d-vignesh in https://github.com/uber/cadence/pull/5789
- Error mapper tests by @jakobht in https://github.com/uber/cadence/pull/5795
- Add a benchmark test for crc checksum by @Shaddoll in https://github.com/uber/cadence/pull/5798
- Add metric and retry backoff for checksum failure by @Shaddoll in https://github.com/uber/cadence/pull/5797
- Added new error type that will not be retried by frontend by @jakobht in https://github.com/uber/cadence/pull/5772
- Write tests for cassandra TestSelectAll*Workflows by @taylanisikdemir in https://github.com/uber/cadence/pull/5800
- A flow diagram demonstrating how a workflow is processed at high level by @taylanisikdemir in https://github.com/uber/cadence/pull/5801
- include stargazers in README.md by @ibarrajo in https://github.com/uber/cadence/pull/5794
- [common/persistence] Add ExecutionManager tests by @3vilhamster in https://github.com/uber/cadence/pull/5803
- added unit test for functions in common/types/mapper/thrift/matching.go by @d-vignesh in https://github.com/uber/cadence/pull/5802
- Enforce new line coverage 85% by @taylanisikdemir in https://github.com/uber/cadence/pull/5805
- Write more tests for cassandra/workflows.go by @taylanisikdemir in https://github.com/uber/cadence/pull/5806
- Address data race in task processor test by @taylanisikdemir in https://github.com/uber/cadence/pull/5807
- Fix Pinot response util to exclude closed wf fields when list open by @neil-xie in https://github.com/uber/cadence/pull/5808
- Rate limit task processing requests guarded by feature flag by @sankari165 in https://github.com/uber/cadence/pull/5804
- [persistence/tasks] Simplify task implementations by @3vilhamster in https://github.com/uber/cadence/pull/5812
- Add additional tests for ExecutionManager by @3vilhamster in https://github.com/uber/cadence/pull/5809
- Update idls by @Shaddoll in https://github.com/uber/cadence/pull/5813
- Update idls by @Shaddoll in https://github.com/uber/cadence/pull/5815
- Write unit tests for remaining functions in cassandra/workflow.go by @taylanisikdemir in https://github.com/uber/cadence/pull/5818
- Store external request IDs in history events by @Shaddoll in https://github.com/uber/cadence/pull/5816
- Add changelog for v1.2.8 release by @neil-xie in https://github.com/uber/cadence/pull/5820
- Fix log for archival by @davidporter-id-au in https://github.com/uber/cadence/pull/5819
- check time type in custom search attribute by @bowenxia in https://github.com/uber/cadence/pull/5822
- Do not panic when setting env values by @mantas-sidlauskas in https://github.com/uber/cadence/pull/5811
- Deadlock fix in acquireShards by @Groxx in https://github.com/uber/cadence/pull/5825
- Write unit tests for env.go and a few exclusion updates by @taylanisikdemir in https://github.com/uber/cadence/pull/5827
- mock object and basic test cases for visibility single manager by @bowenxia in https://github.com/uber/cadence/pull/5829
- Write tests for cassandra/tasks.go by @taylanisikdemir in https://github.com/uber/cadence/pull/5828
- Added tests for nosql_execution_store.go by @agautam478 in https://github.com/uber/cadence/pull/5830
- Add more test to reach 100% coverage for visibility_single_manager by @bowenxia in https://github.com/uber/cadence/pull/5832
- Add more unit tests for OS client by @neil-xie in https://github.com/uber/cadence/pull/5836
- Add unit tests for gocql/client.go by @timl3136 in https://github.com/uber/cadence/pull/5765
- Addition of tests for HandleDomainCreationReplicationTask in replicationTaskExecutor by @abhishekj720 in https://github.com/uber/cadence/pull/5840
- Write tests for cassandra/shard.go by @taylanisikdemir in https://github.com/uber/cadence/pull/5839
- add unit test for history client by @shijiesheng in https://github.com/uber/cadence/pull/5841
- Added tests for the remaining util methods by @agautam478 in https://github.com/uber/cadence/pull/5842
- Added tests for nosql_store.go timers by @agautam478 in https://github.com/uber/cadence/pull/5838
- More tests for HandleDomainCreationReplicationTask by @abhishekj720 in https://github.com/uber/cadence/pull/5843
- Add unit tests for execution context by @Shaddoll in https://github.com/uber/cadence/pull/5831
- Revert codecov change by @Shaddoll in https://github.com/uber/cadence/pull/5846
- add tests for write-functions in dual manager by @bowenxia in https://github.com/uber/cadence/pull/5847
- Add unit tests for execution/context.go ReapplyEvents by @Shaddoll in https://github.com/uber/cadence/pull/5848
- Add unit test for functions in consistency.go by @timl3136 in https://github.com/uber/cadence/pull/5844
- Write tests for cassandra/queue.go by @taylanisikdemir in https://github.com/uber/cadence/pull/5845
- Exclude cli/process setup code from coverage by @taylanisikdemir in https://github.com/uber/cadence/pull/5850
- Add unit test for read-functions in dual manager by @bowenxia in https://github.com/uber/cadence/pull/5851
- Tests for handleDomainUpdateReplicationTask by @abhishekj720 in https://github.com/uber/cadence/pull/5852
- Add test for pinot visibility dual manager by @bowenxia in https://github.com/uber/cadence/pull/5855
- Write tests for cassandra/domain.go by @taylanisikdemir in https://github.com/uber/cadence/pull/5856
- Added test cases for more util methods by @agautam478 in https://github.com/uber/cadence/pull/5854
- Added unit tests for gocql/public/client.go by @timl3136 in https://github.com/uber/cadence/pull/5849
- Added unit tests for Workflow parsing functions by @timl3136 in https://github.com/uber/cadence/pull/5860
- fixed timer queue processor goroutine leak in test by @shijiesheng in https://github.com/uber/cadence/pull/5857
- Added tests for all the methods in utils file by @agautam478 in https://github.com/uber/cadence/pull/5861
- Added some validations in the nosql store and new tests by @agautam478 in https://github.com/uber/cadence/pull/5853
- Add unit tests for execution/context.go by @Shaddoll in https://github.com/uber/cadence/pull/5858
- Add more unit tests to workflow parsing utils functions by @timl3136 in https://github.com/uber/cadence/pull/5862
- File Rename: Integration test for handler by @abhishekj720 in https://github.com/uber/cadence/pull/5865
- Last methods for nosql_execution_Store.go covered by @agautam478 in https://github.com/uber/cadence/pull/5868
- stop redirection for deprecated domains by @3vilhamster in https://github.com/uber/cadence/pull/5863
- Add unit test for triple manager and renaming a variable in pinot dual manager test by @bowenxia in https://github.com/uber/cadence/pull/5869
- Tests for failover watcher by @abhishekj720 in https://github.com/uber/cadence/pull/5864
- Revert codecov change by @Shaddoll in https://github.com/uber/cadence/pull/5866
- Covered the missed lines in the nosql_execution_utils.go by @agautam478 in https://github.com/uber/cadence/pull/5871
- Add addition unit tests and comment out unused code in workflow parsing utils functions by @timl3136 in https://github.com/uber/cadence/pull/5870
- Add unit test for write-functions in pinot triple manager; rename variables by @bowenxia in https://github.com/uber/cadence/pull/5873
- Write more tests for cassandra/domain.go by @taylanisikdemir in https://github.com/uber/cadence/pull/5867
- Add unit tests for ConflictResolveWorkflowExecution method in executin/context.go by @Shaddoll in https://github.com/uber/cadence/pull/5874
- [cli] Redirect debug information to stderr by @3vilhamster in https://github.com/uber/cadence/pull/5837
- [codecov] Use Go 1.20 as it is specified in go.mod and currently supported Go version on the backend by @3vilhamster in https://github.com/uber/cadence/pull/5872
- Ratelimit integration test by @jakobht in https://github.com/uber/cadence/pull/5773
- Tests: For handler: Register Domain in common/domain folder by @abhishekj720 in https://github.com/uber/cadence/pull/5876
- Completed the tests for nosql_execution_store_util.go by @agautam478 in https://github.com/uber/cadence/pull/5877
- Added new tests for missing lines in nosql_execution_store by @agautam478 in https://github.com/uber/cadence/pull/5878
- Tests for register domain in handler for common/domain by @abhishekj720 in https://github.com/uber/cadence/pull/5881
- Read-functions for triple manager; removed unused comparator files by @bowenxia in https://github.com/uber/cadence/pull/5879
- added units test for functions in mapper/thrift/replicator.go by @d-vignesh in https://github.com/uber/cadence/pull/5835
- Add unit tests for remaining functions in workflow parsing utils by @timl3136 in https://github.com/uber/cadence/pull/5875
- Added mocks for interfaces and also unit tests for functions used in history handler by @timl3136 in https://github.com/uber/cadence/pull/5882
- add more unit test for history client by @shijiesheng in https://github.com/uber/cadence/pull/5883
- Added handler tests and transmissionHandler mock to generate cases by @abhishekj720 in https://github.com/uber/cadence/pull/5884
- Move error_test.go to a separate test package by @jakobht in https://github.com/uber/cadence/pull/5796
- Added tests for RegisterDomain, ListDomain and DescribeDomain by @abhishekj720 in https://github.com/uber/cadence/pull/5886
- Added additional tests to cover the missing methods by @agautam478 in https://github.com/uber/cadence/pull/5887
- Add unit tests for LoadWorkflowExecution method by @Shaddoll in https://github.com/uber/cadence/pull/5880
- added missing unit test for functions in dynamicconfig/config.go by @d-vignesh in https://github.com/uber/cadence/pull/5885
- Revert codecov by @Shaddoll in https://github.com/uber/cadence/pull/5889
- persistence/client/factory.go test coverage by @Groxx in https://github.com/uber/cadence/pull/5859
- Tests for Deprecate and Isolation Group in common/domain by @abhishekj720 in https://github.com/uber/cadence/pull/5891
- Notify named subscribers for membership changes by @mantas-sidlauskas in https://github.com/uber/cadence/pull/5823
- Change the shardedNosqlStore to an interface by @jakobht in https://github.com/uber/cadence/pull/5893
- Revert codecov change to block new line changes again by @jakobht in https://github.com/uber/cadence/pull/5895
- Increased timeout value for delete history event task by @timl3136 in https://github.com/uber/cadence/pull/5888
- Unit tests for AppendHistoryNodes by @jakobht in https://github.com/uber/cadence/pull/5896
- [code-coverage] Add tests for HandleDecisionTaskScheduled API in service/history/decision by @ketsiambaku in https://github.com/uber/cadence/pull/5901
- [code-coverage] Add tests for HandleDecisionTaskFailed in service/history/decision by @ketsiambaku in https://github.com/uber/cadence/pull/5903
- Persist workflow request ids into Cassandra by @Shaddoll in https://github.com/uber/cadence/pull/5826
- Add missing mappers for AsyncWorkflowConfiguration by @taylanisikdemir in https://github.com/uber/cadence/pull/5904
- Fix missing logs by @Shaddoll in https://github.com/uber/cadence/pull/5905
- [code-coverage] Add tests for HandleDecisionTaskStarted by @ketsiambaku in https://github.com/uber/cadence/pull/5906
- Switch async workflow request encoding from json to thrift by @taylanisikdemir in https://github.com/uber/cadence/pull/5907
New Contributors
- @ibarrajo made their first contribution in https://github.com/uber/cadence/pull/5794
Full Changelog: https://github.com/uber/cadence/compare/v1.2.8...v1.2.9
Release v1.2.8 published by neil-xie on 3/26/2024
What's Changed
Added
- Adding unit-test for matching:newTaskListID by @dkrotx in https://github.com/uber/cadence/pull/5513
- Get/Update DomainAsyncWorkflowConfiguration methods in admin API and CLI by @taylanisikdemir in #5616
- Workflow ID cache size metric by @jakobht in https://github.com/uber/cadence/pull/5619
- Add a helper script to run cassandra and execute tests by @taylanisikdemir in https://github.com/uber/cadence/pull/5620
- Scaffold StartWorkflowExecutionAsync API by @Shaddoll in #5621
- Scaffold async workflow queue provider component by @Shaddoll in #5627
- Update run_cass_and_test.sh script to setup cassandra schemas by @taylanisikdemir in #5628
- Add debug logs in PinotTripleVisibilityManager for response comparator testing by @bowenxia in #5631
- Adding a sample call to TaskValidator in update workflow cycle by @agautam478 in https://github.com/uber/cadence/pull/5634
- Add a middleware for comparator to use by @bowenxia in #5637
- Generate rate limit frontend api handler by @Shaddoll in #5636
- Add generic OAuth support by @mantas-sidlauskas in https://github.com/uber/cadence/pull/5638
- Added metrics for when we rate limit by @jakobht in https://github.com/uber/cadence/pull/5640
- Implement StartWorkflowExecutionAsync API by @Shaddoll in #5642
- Added 2 more tags in log for comparator to use. by @bowenxia in https://github.com/uber/cadence/pull/5646
- Async workflow request consumer manager in worker by @taylanisikdemir in https://github.com/uber/cadence/pull/5655
- Add async workflow request consumer for Start/SignalWithStart support by @taylanisikdemir in #5658
- Set rate limit on Async APIs by @Shaddoll in https://github.com/uber/cadence/pull/5659
- Implement SignalWithStartWorkflowExecutionAsync API by @Shaddoll in #5657
- Docker compose setup for async workflows with kafka queue by @taylanisikdemir in #5663
- Add a
make pr
target for an easy "do automated checks for PR" command by @Groxx in https://github.com/uber/cadence/pull/5670 - Added debug information for decision timeout handling by @3vilhamster in https://github.com/uber/cadence/pull/5674
- Async workflows integration test with kafka by @taylanisikdemir in #5678
- Add missing IsolationGroups field in domain cache entry by @taylanisikdemir in https://github.com/uber/cadence/pull/5679
- Add close status parse method in pinot query validator by @neil-xie in https://github.com/uber/cadence/pull/5680
- Add async workflow integration test step to CI by @taylanisikdemir in #5681
- Add metrics for external calls for the workflow ID specific rate limits by @jakobht in #5684
- Write tests for cdb (Cassandra DB wrapper) basic functions by @taylanisikdemir in https://github.com/uber/cadence/pull/5686
- Added a unit test for nosql execution store - createworkflowexecution by @agautam478 in https://github.com/uber/cadence/pull/5687
- Write tests for cdb.InsertWorkflowExecutionWithTasks by @taylanisikdemir in https://github.com/uber/cadence/pull/5688
- Added more scenarios to createworkflowexecution test- Part1 by @agautam478 in https://github.com/uber/cadence/pull/5690
- Added a test for the GetworkflowExecution in the nosql_execution_store.go file. by @agautam478 in https://github.com/uber/cadence/pull/5692
- Write tests for cdb.SelectCurrentWorkflow by @taylanisikdemir in https://github.com/uber/cadence/pull/5693
- Support AsyncWorkflowConfiguration decoding in admin CLI by @taylanisikdemir in #5694
Changed
- Replace JWT validation library by @mantas-sidlauskas in #5592
- feat: pprof support config host by @zedongh in https://github.com/uber/cadence/pull/5601
- Refactor persistence serializer tests and add more cases by @taylanisikdemir in https://github.com/uber/cadence/pull/5625
- Upgrade domain_config type in cassandra schema to add async wf config by @taylanisikdemir in #5630
- Refactor frontend API handler and use generated code to emit metrics by @Shaddoll in https://github.com/uber/cadence/pull/5639
- Enable the workflow ID cache in shadow mode for start workflow by @jakobht in #5641
- Filtering the prefix in custom query log for pinot response comparator by @bowenxia in #5643
- The ratelimiter needs to be created with the domain name not the ID by @jakobht in #5644
- Update async workflow queue idl change by @Shaddoll in #5645
- Rewrite async workflow queue provider component by @Shaddoll in #5648
- Store mutable state checksum in SQL storage by @Shaddoll in https://github.com/uber/cadence/pull/5649
- Splitting wfCacheEnabled config for internal and external requests by @sankari165 in #5647
- Convert pinot query to use unix milliseconds instead of nano by @neil-xie in #5650
- Emit metrics when transfer tasks could be ratelimited by @sankari165 in https://github.com/uber/cadence/pull/5652
- Update change log for v1.2.7 release by @neil-xie in #5653
- Update pinot query validator to handle raw time string by @neil-xie in https://github.com/uber/cadence/pull/5656
- Emit metrics when transfer tasks for decisions could be ratelimited by @sankari165 in https://github.com/uber/cadence/pull/5665
- Upgrade pinot client version by @neil-xie in #5666
- Update the build-changed message failure by @Groxx in https://github.com/uber/cadence/pull/5667
- Improve error message for membership resolver by @Shaddoll in #5669
- Emits a counter value for every unique view of the hashring by @davidporter-id-au in https://github.com/uber/cadence/pull/5672
- Refactor history packages by @jakobht in https://github.com/uber/cadence/pull/5673
- Improve test coverage for sql_execution_store_util by @Shaddoll in https://github.com/uber/cadence/pull/5676
- Improve test coverage for sql_execution_store by @Shaddoll in https://github.com/uber/cadence/pull/5677
- Improve test coverage for constants.go by @timl3136 in https://github.com/uber/cadence/pull/5685
- Enable retry on mutable state checksum verification failure by @Shaddoll in https://github.com/uber/cadence/pull/5691
Fixed
- Set proper max reset points by @neil-xie in #5623
- Put a timeout for timer task deletion loop during shutdown by @taylanisikdemir in #5626
- Catch unit test failures in make test by @Groxx in #5635
- fix: get messages between query over message_id typo by @zedongh in #5607
- Fix context leak in tests by @munahaf in #5377
- Make sure task processing rate limiter is only done in the active side by @sankari165 in https://github.com/uber/cadence/pull/5654
- Fix Pinot query validator bug when user pass in not equal query with value missing by @neil-xie in #5662
- Update Pinto query validator failed log, minor refactor pinot visibility store to remove panics by @neil-xie in https://github.com/uber/cadence/pull/5664
- Fix context leak in pinot integration test by @neil-xie in #5682
- Fix SignalWithStartWorkflow API by @Shaddoll in #5671
- Fix wrong migration paths in example by @kotcrab in #5668
- Fix comment in workflow id cache config by @sankari165 in #5661
- Fix the local integration test docker-compose file by @jakobht in https://github.com/uber/cadence/pull/5695
- Do not get workflow execution from database when shard is closed by @Shaddoll in https://github.com/uber/cadence/pull/5697
Removed
- Removed useless metrics tag from the workflowIDcache by @jakobht in https://github.com/uber/cadence/pull/5651
- Removed the shadower service for cadence-server by @agautam478 in https://github.com/uber/cadence/pull/5660
New Contributors
- @zedongh made their first contribution in https://github.com/uber/cadence/pull/5607
- @munahaf made their first contribution in https://github.com/uber/cadence/pull/5377
- @kotcrab made their first contribution in https://github.com/uber/cadence/pull/5668
Full Changelog: https://github.com/uber/cadence/compare/v1.2.7...v1.2.8
Release v1.2.7 published by neil-xie on 2/9/2024
What's Changed
Added
- Add metrics to monitor task validation. by @agautam478 in https://github.com/uber/cadence/pull/5466
- Add an "all results" query to scanner/fixer workflows by @Groxx in https://github.com/uber/cadence/pull/5470
- Add retries into Scanner BlobWriter by @agautam478 in https://github.com/uber/cadence/pull/5471
- Added a unit test for the BlobStoreWriter. by @agautam478 in https://github.com/uber/cadence/pull/5472
- Add Debugf and some minor updates to timer queue processor base by @taylanisikdemir in https://github.com/uber/cadence/pull/5475
- Add unit tests for cassandra workflow utils part-1 by @taylanisikdemir in https://github.com/uber/cadence/pull/5476
- Add
workflow query-types
command to CLI by @arzonus in https://github.com/uber/cadence/pull/5456 - Add unit test for cassandra workflow utils part-2 by @taylanisikdemir in https://github.com/uber/cadence/pull/5480
- Unit tests for admin cli decode_thrift command by @taylanisikdemir in https://github.com/uber/cadence/pull/5485
- Add unit test for sqlConfigStore by @Shaddoll in https://github.com/uber/cadence/pull/5491
- Add unit test for mysql configstore by @Shaddoll in https://github.com/uber/cadence/pull/5502
- Add persistence serialization unit tests by @3vilhamster in https://github.com/uber/cadence/pull/5507
- Adding unit tests to workflowHandler_test.go by @sankari165 in https://github.com/uber/cadence/pull/5500
- Add unit tests for AwaitWaitGroup by @arzonus in https://github.com/uber/cadence/pull/5512
- Add unit test for sql domain store by @Shaddoll in https://github.com/uber/cadence/pull/5508
- Add unit test for cassandra workflow utils part-3 by @taylanisikdemir in https://github.com/uber/cadence/pull/5506
- Adding unit tests for RecordActivityTaskHeartbeat by @sankari165 in https://github.com/uber/cadence/pull/5511
- add unit tests for ValidIDLength by @arzonus in https://github.com/uber/cadence/pull/5520
- Test for rate limited wrappers around persistence clients by @3vilhamster in https://github.com/uber/cadence/pull/5518
- Test for error injection clients by @3vilhamster in https://github.com/uber/cadence/pull/5515
- Add unit test for sql history store by @Shaddoll in https://github.com/uber/cadence/pull/5524
- Adding unit tests to RespondActivityTaskCompleted and RecordActivityT… by @sankari165 in https://github.com/uber/cadence/pull/5521
- Add unit tests for IsEntityNotExistsError by @arzonus in https://github.com/uber/cadence/pull/5528
- Add unit tests for CreateXXXRetryPolicy by @arzonus in https://github.com/uber/cadence/pull/5527
- Add unit tests for ValidateRetryPolicy by @arzonus in https://github.com/uber/cadence/pull/5529
- Add unit tests for ConvertGetTaskFailedCauseToErr by @arzonus in https://github.com/uber/cadence/pull/5531
- Add unit tests for WorkflowIDToHistoryShard and DomainIDToHistoryShard by @arzonus in https://github.com/uber/cadence/pull/5533
- Added a unit test for the timer.go file in reconciliation folder. by @agautam478 in https://github.com/uber/cadence/pull/5505
- Adding logging to scanner.go by @agautam478 in https://github.com/uber/cadence/pull/5535
- Adding a metric for hosts not being found in resolver by @davidporter-id-au in https://github.com/uber/cadence/pull/5414
- Added logs to concrete_execution.go by @agautam478 in https://github.com/uber/cadence/pull/5536
- Add unit tests for sql queue store by @Shaddoll in https://github.com/uber/cadence/pull/5541
- Unit tests for timer/transfer queue processor pump loops by @taylanisikdemir in https://github.com/uber/cadence/pull/5540
- Add unit tests for sql shard store by @Shaddoll in https://github.com/uber/cadence/pull/5543
- Add unit test for kafka partition ack manager by @neil-xie in https://github.com/uber/cadence/pull/5545
- Add unit tests for GenerateRandomString by @arzonus in https://github.com/uber/cadence/pull/5532
- Add unit tests for IsValidContext by @arzonus in https://github.com/uber/cadence/pull/5546
- Add unit tests for CreateChildContext by @arzonus in https://github.com/uber/cadence/pull/5547
- Add unit tests for DeserializeSearchAttributeValue by @arzonus in https://github.com/uber/cadence/pull/5548
- Add unit tests for GetSizeOfHistoryEvent by @arzonus in https://github.com/uber/cadence/pull/5550
- Add unit tests for thrift mappers by @taylanisikdemir in https://github.com/uber/cadence/pull/5542
- Add unit tests for sql task store by @Shaddoll in https://github.com/uber/cadence/pull/5558
- Added logs into the current execution.go and a unit test by @agautam478 in https://github.com/uber/cadence/pull/5555
- Add unit test for kafka producer impl by @neil-xie in https://github.com/uber/cadence/pull/5559
- Add shard id to queue processor related metrics by @taylanisikdemir in https://github.com/uber/cadence/pull/5557
- Add unit tests for sql execution store by @Shaddoll in https://github.com/uber/cadence/pull/5565
- Add unit test for new Kafka client by @neil-xie in https://github.com/uber/cadence/pull/5570
- Add unit tests for helper functions in sql execution store util by @Shaddoll in https://github.com/uber/cadence/pull/5571
- Added tests for visibility sampling wrapper by @3vilhamster in https://github.com/uber/cadence/pull/5564
- Add unit test for consumer impl by @neil-xie in https://github.com/uber/cadence/pull/5573
- Add unit tests for workflow state non maps by @Shaddoll in https://github.com/uber/cadence/pull/5578
- Add logs to debug timer tasks by @Shaddoll in https://github.com/uber/cadence/pull/5581
- Added deprecated domain check to the taskvalidator by @agautam478 in https://github.com/uber/cadence/pull/5580
- Add unit tests for IsServiceTransientError by @arzonus in https://github.com/uber/cadence/pull/5551
- Add unit tests for for IsAdvancedVisibilityWritingEnabled by @arzonus in https://github.com/uber/cadence/pull/5552
- Add unit tests for ValidateLongPollXXX by @arzonus in https://github.com/uber/cadence/pull/5553
- Add grafana dashboard to visualize persistence metrics for default docker-compose setup by @taylanisikdemir in https://github.com/uber/cadence/pull/5582
- Add missing exclude-query support to list-workflows on the CLI by @Groxx in https://github.com/uber/cadence/pull/5583
- Add unit tests for DurationToXXX and XXXToDuration by @arzonus in https://github.com/uber/cadence/pull/5530
- Add more debug logs for user timer task execution by @taylanisikdemir in https://github.com/uber/cadence/pull/5595
- Add cache for workflow specific in memory data by @jakobht in https://github.com/uber/cadence/pull/5594
- Added three dynamic config properties by @jakobht in https://github.com/uber/cadence/pull/5602
- add ContextKey Struct by @bowenxia in https://github.com/uber/cadence/pull/5606
- Adding a stale workflow check to the taskvalidator and code cleanup. by @agautam478 in https://github.com/uber/cadence/pull/5604
- Added more error handling in workflow cache by @jakobht in https://github.com/uber/cadence/pull/5611
Fixed
- Improves metric and error handling for history by @davidporter-id-au in https://github.com/uber/cadence/pull/5469
- Address map access data race in matching engine by @taylanisikdemir in https://github.com/uber/cadence/pull/5477
- fix docker compose tests by @3vilhamster in https://github.com/uber/cadence/pull/5479
- Fix copying suite.Suite in integration tests by @3vilhamster in https://github.com/uber/cadence/pull/5481
- fix scavenger test suite by @3vilhamster in https://github.com/uber/cadence/pull/5490
- fix scavenger suite by @3vilhamster in https://github.com/uber/cadence/pull/5498
- Fixing matching:TestCheckIdleTaskList test flackiness by @dkrotx in https://github.com/uber/cadence/pull/5494
- fix leaky goroutines in matching by @3vilhamster in https://github.com/uber/cadence/pull/5499
- Unit test for the fetcher/current.go. by @agautam478 in https://github.com/uber/cadence/pull/5504
- More fixes for golint.sh by @Groxx in https://github.com/uber/cadence/pull/5519
- Fix race between startup and shutdown in task reader by @Groxx in https://github.com/uber/cadence/pull/5522
- Ensure scanner scavenger stops in tests by @3vilhamster in https://github.com/uber/cadence/pull/5510
- Bugfix/debugging stuck tasklist by @davidporter-id-au in https://github.com/uber/cadence/pull/5436
- Fix multiple lock acquire on membership update by @3vilhamster in https://github.com/uber/cadence/pull/5576
- Properly catch errors in ldflag-gathering and fail the build by @Groxx in https://github.com/uber/cadence/pull/5539
- Addressed sync issue in workflow cache by @jakobht in https://github.com/uber/cadence/pull/5605
- fix a comment by @bowenxia in https://github.com/uber/cadence/pull/5610
- Fixed lint errors introduced in previous PR by @jakobht in https://github.com/uber/cadence/pull/5613
Changed
- Update kafka config to have isSecure option by @neil-xie in https://github.com/uber/cadence/pull/5473
- Minor change to include domainTag and pass domainName. by @agautam478 in https://github.com/uber/cadence/pull/5468
- Wrap isSecure config in config map for kafka topic by @neil-xie in https://github.com/uber/cadence/pull/5474
- Update changelog for v1.2.6 release by @neil-xie in https://github.com/uber/cadence/pull/5478
- Unify cassandra setup in docker-compose by @3vilhamster in https://github.com/uber/cadence/pull/5482
- Unify logging in tests by @3vilhamster in https://github.com/uber/cadence/pull/5487
- Updated the unit test for BlobstoreIterator into a table format by @agautam478 in https://github.com/uber/cadence/pull/5488
- update cassandra dev setup by @3vilhamster in https://github.com/uber/cadence/pull/5501
- Converted the existing test for concrete.go execution into a table test by @agautam478 in https://github.com/uber/cadence/pull/5503
- Improve logs/metrics of HandleDecisionTaskCompleted by @taylanisikdemir in https://github.com/uber/cadence/pull/5497
- Revert gofuzz usage by @3vilhamster in https://github.com/uber/cadence/pull/5516
- Switch to gci, so we can actually auto-group imports by @Groxx in https://github.com/uber/cadence/pull/5493
- Minor changes to improve readability of history's queue folder by @taylanisikdemir in https://github.com/uber/cadence/pull/5517
- Refactor ValidIDLength by @arzonus in https://github.com/uber/cadence/pull/5526
- Apply dependabot upgrade suggestions for x/net, x/crypto and grpc by @taylanisikdemir in https://github.com/uber/cadence/pull/5537
- Improve history queue components shutdowns by @taylanisikdemir in https://github.com/uber/cadence/pull/5525
- Switch timesource to jonboulle/clockwork by @3vilhamster in https://github.com/uber/cadence/pull/5534
- Move persistence client wrappers to a dedicated folder by @3vilhamster in https://github.com/uber/cadence/pull/5549
- Some refactoring in nosql folder by @taylanisikdemir in https://github.com/uber/cadence/pull/5538
- Synchronous shutdown support for replication task fetcher by @taylanisikdemir in https://github.com/uber/cadence/pull/5544
- Change metrics.ShardIDTag to allow int values by @3vilhamster in https://github.com/uber/cadence/pull/5561
- Toggling off cross-cluster polling by default by @davidporter-id-au in https://github.com/uber/cadence/pull/5563
- Use log level debug for local development by @taylanisikdemir in https://github.com/uber/cadence/pull/5556
- Rework persistenceMetricClients to generated approach by @3vilhamster in https://github.com/uber/cadence/pull/5560
- Ensure testlogger samples all logs by @3vilhamster in https://github.com/uber/cadence/pull/5562
- Small refactoring in history task processors by @taylanisikdemir in https://github.com/uber/cadence/pull/5566
- Generated files naming convention by @3vilhamster in https://github.com/uber/cadence/pull/5574
- Switch all retryable client to gowrap by @3vilhamster in https://github.com/uber/cadence/pull/5569
- Rework errorinjector clients to generated approach by @3vilhamster in https://github.com/uber/cadence/pull/5579
- Rework metered clients to generated approach by @3vilhamster in https://github.com/uber/cadence/pull/5575
- Extract JWT token group check for access by @mantas-sidlauskas in https://github.com/uber/cadence/pull/5465
- Restore cadence-server builds, previously building the CLI twice by @Groxx in https://github.com/uber/cadence/pull/5587
- Update access controlled frontend handlers to generated code by @Shaddoll in https://github.com/uber/cadence/pull/5588
- Switch to cassandra 4.1.1 image because 4.1.3 stopped working on some linux distros by @taylanisikdemir in https://github.com/uber/cadence/pull/5589
- Refactor frontend to split the code into multiple packages by @Shaddoll in https://github.com/uber/cadence/pull/5590
- Update cluster redirection handler to generated code by @Shaddoll in https://github.com/uber/cadence/pull/5591
- Update grpc handler to use generated code by @Shaddoll in https://github.com/uber/cadence/pull/5596
- Update grpc clients to use generated code by @Shaddoll in https://github.com/uber/cadence/pull/5598
- Update thrift clients to use generated code by @Shaddoll in https://github.com/uber/cadence/pull/5599
- Update thrift handlers to use generated code by @Shaddoll in https://github.com/uber/cadence/pull/5600
- Async workflow queue config idl changes and mapper updates by @taylanisikdemir in https://github.com/uber/cadence/pull/5608
- Submodules step 1/2: convert archivers to a plugin architecture by @Groxx in https://github.com/uber/cadence/pull/5597
- Use cacheEnabled dynamic config option by @jakobht in https://github.com/uber/cadence/pull/5612
- Running each on their own line fixes the issue by @jakobht in https://github.com/uber/cadence/pull/5614
- Submodules step 2/2: draw the rest of the owl by @Groxx in https://github.com/uber/cadence/pull/5609
Removed
- deprecate logrus by @3vilhamster in https://github.com/uber/cadence/pull/5483
- Getting rid of gomock.Finish by @dkrotx in https://github.com/uber/cadence/pull/5486
- Remove time.Sleep usage from lru tests by @3vilhamster in https://github.com/uber/cadence/pull/5489
- Delete unused dependency github.com/jonboulle/clockwork by @3vilhamster in https://github.com/uber/cadence/pull/5509
New Contributors
- @arzonus made their first contribution in https://github.com/uber/cadence/pull/5456
Full Changelog: https://github.com/uber/cadence/compare/v1.2.6...v1.2.7
Release v1.2.6 published by neil-xie on 12/14/2023
What's Changed
Added
- Added range query support for Pinot json index by @bowenxia (#5426)
- Implemented GetTaskListSize method at persistence layer by @Shaddoll (#5442, #5447)
- Added a framework for the Task validator service by @agautam478 (#5446)
- Added nit comments describing the Update workflow cycle @agautam478 (#5432)
- Added log user query param by @bowenxia (#5437)
- Added CODEOWNERS file by @taylanisikdemir (#5453)
- Added a function to evict all elements older than the cache TTL by @jakobht (#5464)
Fixed
- Fixed workflow replication for reset workflow by @Shaddoll (#5412)
- Fixed visibility mode for admin when use Pinot visibility by @neil-xie (#5441)
- Fixed workflow started metric by @ketsiambaku (#5443)
- Fixed timer-fixer, unfortunately broken in 1.2.5 by @Groxx (#5433)
- Fixed confusing comment in matching handler by @jakobht (#5450)
Changed
- Cassandra version is changed from 3.11 to 4.1.3 by @taylanisikdemir (#5461)
- If your machine already has ubercadence/server:master-auto-setup image then you need to repull so it works with latest docker-compose*.yml files
- Move dynamic ratelimiter to its own file by @jakobht (#5451)
- Create and use a limiter struct instead of just passing a function by @jakobht (#5454)
- Dynamic ratelimiter factories by @jakobht (#5455)
- Update github action for image publishing to released by @3vilhamster (#5460)
- Update matching to emit metric for tasklist backlog size by @Shaddoll (#5448)
- Change variable name from SecondsSinceEpoch into EventTimeMs by @bowenxia (#5463)
Removed
- Get rid of noisy task adding failure log in matching service by @taylanisikdemir (#5445)
New Contributors
- @jakobht made their first contribution in https://github.com/uber/cadence/pull/5450
Full Changelog: https://github.com/uber/cadence/compare/v1.2.5...v1.2.6
Release v1.2.5 published by sankari165 on 11/2/2023
What's Changed
Added
- Scanner / Fixer changes by @Groxx in https://github.com/uber/cadence/pull/5361
- Stale-workflow detection and cleanup added to shardscanner, disabled by default.
- New dynamic config to better control scanner and fixer, particularly for concrete executions.
- Documentation about how scanner/fixer work and how to control them, see the scanner readme.md
- This also includes example config to enable the new fixer.
- MigrationChecker interface to expose migration CLI by @abhishekj720 in https://github.com/uber/cadence/pull/5424
- Added Pinot as new visibility store option by @neil-xie in https://github.com/uber/cadence/pull/5201
- Added pinot visibility triple manager to provide options to write to both ES and Pinot.
- Added pinotVisibilityStore and pinotClient to support CRUD operations for Pinot.
- Added pinot integration test to set up Pinot test cluster and test Pinot functionality.
Fixed
- Fix CreateWorkflowModeContinueAsNew for SQL by @Shaddoll in https://github.com/uber/cadence/pull/5413
- Fix CLI count&list workflows error message by @ketsiambaku in https://github.com/uber/cadence/pull/5417
- Hotfix for async matching for isolation-group redirection by @davidporter-id-au in https://github.com/uber/cadence/pull/5423
- Fix closeStatus for --format flag by @ketsiambaku in https://github.com/uber/cadence/pull/5422
Full Changelog: https://github.com/uber/cadence/compare/v1.2.4...v1.2.5-prerelease3
Release v1.2.4 published by neil-xie on 9/27/2023
What's Changed
- Remove database check for config store tests by @Shaddoll in https://github.com/uber/cadence/pull/5401
- Fix persistence tests setup by @Shaddoll in https://github.com/uber/cadence/pull/5402
- Implement config store for MySQL by @Shaddoll in https://github.com/uber/cadence/pull/5403
- Retract v1.2.3 by @sankari165 in https://github.com/uber/cadence/pull/5406
- Implement config store for PostgresSQL by @Shaddoll in https://github.com/uber/cadence/pull/5405
- Release v1.2.4 by @Shaddoll in https://github.com/uber/cadence/pull/5407
Full Changelog: https://github.com/uber/cadence/compare/v1.2.3...v1.2.4
Release v1.2.2 published by sankari165 on 9/19/2023
What's Changed
- add a update workflow execution count metric for RI by @allenchen2244 in https://github.com/uber/cadence/pull/5386
- Pass partition config and isolation group to history/matching even if isolation is disabled by @Shaddoll in https://github.com/uber/cadence/pull/5385
- [CLI] fix nil pointer issue in domain migration command rendering by @shijiesheng in https://github.com/uber/cadence/pull/5378
- Release v1.2.2 by @shijiesheng in https://github.com/uber/cadence/pull/5388
Full Changelog: https://github.com/uber/cadence/compare/v1.2.1...v1.2.2
Release v1.2.1 published by davidporter-id-au on 9/19/2023
Project release: Zonal isolation
This version introduces a few resiliency concepts into customers' worker task processing such that they can detect deployment or configuration failures earlier. These features are opt-in.
The high-level concept is to provide a means to subdivide work (called 'isolation-groups') for workers along whatever partitioning mechanism that is required for your service.
By default the partitioning mechanism provided will attempt to keep workflows running in the location the are started, such that customers may identify broken changes earlier, rather than waiting for the deployment of an entire region. However, if there are no pollers available available in that subdivision, it'll route the work elsewhere.
Nomenclature
Partitioning: A means to subdivide the tasks given to workflows, of which there are many possible schemes and one default one provided. When a workflow is started, a group of partition keys are provided by request headers. The partition keys are used to determine which isolation group of workers should process these workflows. Workflow pinning: A partitioning scheme which emphasizes keeping workflows running in the location they were started Isolation-groups: A division of work within a customer region in which they can subdivide their workers and pin the workflows. This originally was intended as a synonym for 'zone' in the site reliability, as a subdivision of a region. However the important point is that this is a failure domain for customer workflows, so this may be an arbitrary subdivision of your cluster's traffic. Isolation-group drain: A means of excluding work from an isolation-group. If an isolation group is drained, workers from that isolation group won't be able to get any task. And customers cannot start workflows from that isolation group.
Default concepts and approaches
The partitioning and isolation concepts are intended to be provided as general purpose orchestration concepts and flexible, with some basic defaults provided. By default the following behaviour is given:
- Partition data is persisted with workflow execution records by the provided middleware if the provided header is passed when workflows are created.
- The cadence client and worker Go libraries will pass these as headers if provided in client options
Pinning behaviour
The workflow original zone is captured on workflow start and will be used on workflow processing.
The default partitioner provides the following behaviour: It will attempt to dispatch work in a zone where the workflow was started. However, workers may not be available in that zone, or no longer available for some reason. So the partitioner takes information from a lookback of poller information and uses this lookback data to ensure that the workflow can be processed. If the the start isolation-group is not available it'll another healthy random one.
'Health', here, is determined as the presence of pollers and the absence of drains.
The 'unpinning' is import for two main reasons: firstly, it's quite possible to start a workflow from an unrelated isolation-group in which the pollers are created and to suddenly blackhole that work would likely be not the desired behaviour. But secondly, and probably more importantly, this prevents a head-of-line blocking problem internally for Cadence. At the database level (in this release anyway) tasks need to be dispatched in-order and so if an isolation-group were to be not processed it would block task processing.
Drains
This release also introduces a simplistic notion of drains, which allow for isolation-groups to be excluded from traffic processing, should that be required. Drains are issuable via the Admin API or via cli:
eg:
cadence admin isolation-groups update-global --set-drains zone-1
cadence admin isolation-groups get-global
This information is stored in the config-store and is not part of dynamic configuration.
Configuration
In order to use this feature, the requisite configuration is required:
system.allIsolationGroups
: This is a list of all the possible isolation-groups
system.enableTasklistIsolation
: This is the bool flag to enable it for a domain
Implementation
The changes for this feature are largely in Matching and can be (reductively) described as: Sync and Async-match in Cadence as being made aware of a new dimension; their associated isolation-group. The tasks piped through the Matching service are matching the appropriate isolation-group channel.
What's Changed
- Set config for shardscanner fixer by @mantas-sidlauskas in https://github.com/uber/cadence/pull/3844
- Fix get raw history for transient decision by @yycptt in https://github.com/uber/cadence/pull/3847
- Fix error handling when processing parent close policy by @yycptt in https://github.com/uber/cadence/pull/3845
- Add logging/metrics for decision attempts by @yycptt in https://github.com/uber/cadence/pull/3849
- Switch to gocql interface by @yycptt in https://github.com/uber/cadence/pull/3837
- Fix NPE in DescribeMutableState by @yycptt in https://github.com/uber/cadence/pull/3850
- Switch the remaining history component to internal types by @vytautas-karpavicius in https://github.com/uber/cadence/pull/3843
- Switch Health status endpoints to internal types by @vytautas-karpavicius in https://github.com/uber/cadence/pull/3842
- reset workflow with no decision task complete by @yux0 in https://github.com/uber/cadence/pull/3687
- error check before return the ActivityLocalDispatchInfo by @mkolodezny in https://github.com/uber/cadence/pull/3853
- Delete unused dynamic configs that have no referrence anymore by @longquanzheng in https://github.com/uber/cadence/pull/3859
- Merge sql updates: Blob size increase by @yux0 in https://github.com/uber/cadence/pull/3858
- Handle matching task list conditional error by @yux0 in https://github.com/uber/cadence/pull/3867
- Fix go-generate by @yycptt in https://github.com/uber/cadence/pull/3864
- Support visibility query with close status represented in string by @yycptt in https://github.com/uber/cadence/pull/3865
- Add timers shardscanner by @mantas-sidlauskas in https://github.com/uber/cadence/pull/3846
- replace string based logging with tagged logs by @mantas-sidlauskas in https://github.com/uber/cadence/pull/3871
- Downgrade golang tools version by @yycptt in https://github.com/uber/cadence/pull/3876
- Add instructions to setup local MySQL and Postgres by @yux0 in https://github.com/uber/cadence/pull/3868
- Make max activity schedule to start timeout for retry configurable by domain by @yycptt in https://github.com/uber/cadence/pull/3878
- Task processing debug logs by @yycptt in https://github.com/uber/cadence/pull/3877
- Transfer queue validator by @yycptt in https://github.com/uber/cadence/pull/3875
- Pick sql index changes by @yux0 in https://github.com/uber/cadence/pull/3866
- Remove strict sanity check to allow reset by @yux0 in https://github.com/uber/cadence/pull/3879
- Improve shard context timeout handling by @yycptt in https://github.com/uber/cadence/pull/3881
- Add domain name tag in failover metrics by @yux0 in https://github.com/uber/cadence/pull/3882
- break out when response is nil by @mantas-sidlauskas in https://github.com/uber/cadence/pull/3886
- Allow using Kafka TLS without cert ca and key by @longquanzheng in https://github.com/uber/cadence/pull/3862
- Fix dynamic config collection logValue function by @yycptt in https://github.com/uber/cadence/pull/3880
- Update read DLQ messages API to return raw task info by @yux0 in https://github.com/uber/cadence/pull/3869
- break if adminClient returns error by @mantas-sidlauskas in https://github.com/uber/cadence/pull/3887
- Latest idl by @yux0 in https://github.com/uber/cadence/pull/3888
- Fix activity lost metrics by @yycptt in https://github.com/uber/cadence/pull/3889
- Add replication error logging and metrics by @yux0 in https://github.com/uber/cadence/pull/3891
- Simplify templateGetLastMessageIDQuery sql query by @andrewjdawson2016 in https://github.com/uber/cadence/pull/3890
- Add task processing workflow busy metric by @yycptt in https://github.com/uber/cadence/pull/3892
- CLI 0.18.0 release by @yycptt in https://github.com/uber/cadence/pull/3896
- Handle data corruption error in replication by @yux0 in https://github.com/uber/cadence/pull/3895
- Add a "help" target to the makefile by @Groxx in https://github.com/uber/cadence/pull/3898
- Initial protobuf types and API by @vytautas-karpavicius in https://github.com/uber/cadence/pull/3863
- Fix workflow reset command by @yycptt in https://github.com/uber/cadence/pull/3904
- CLI 0.18.1 patch release by @yycptt in https://github.com/uber/cadence/pull/3908
- Use GetDomainName instead of GetDomainByID for retrieving domain names by @yycptt in https://github.com/uber/cadence/pull/3899
- Start enabled shardscanner fixers by @mantas-sidlauskas in https://github.com/uber/cadence/pull/3906
- Switch to protoc-gen-go by @vytautas-karpavicius in https://github.com/uber/cadence/pull/3905
- Fix scan unsupported workflow in SQl DB by @yux0 in https://github.com/uber/cadence/pull/3909
- Makefile cleanup / thrift revamp / gobin removed by @Groxx in https://github.com/uber/cadence/pull/3903
- Version goveralls, remove unused go bins from docker setup by @Groxx in https://github.com/uber/cadence/pull/3913
- Remove duplicate docs by @yux0 in https://github.com/uber/cadence/pull/3912
- Fix docker-push.sh execution by @Groxx in https://github.com/uber/cadence/pull/3919
- add server side metrics for activity & decision poller counts for task lists by @mkolodezny in https://github.com/uber/cadence/pull/3918
- Simplify tags by @Groxx in https://github.com/uber/cadence/pull/3923
- Proto domain api improvements by @vytautas-karpavicius in https://github.com/uber/cadence/pull/3907
- Drop pointers for domain name/id fields by @vytautas-karpavicius in https://github.com/uber/cadence/pull/3916
- Drop pointer for worflow / run id fields by @vytautas-karpavicius in https://github.com/uber/cadence/pull/3917
- Mutable state inconsistency logs and metrics by @yycptt in https://github.com/uber/cadence/pull/3921
- Enable multicursor queue processing logic by default by @yycptt in https://github.com/uber/cadence/pull/3933
- Add more options to config_template for docker image and disable archival by default by @longquanzheng in https://github.com/uber/cadence/pull/3873
- Drop pointer for identity fields by @vytautas-karpavicius in https://github.com/uber/cadence/pull/3930
- Update test to suppourt multiple database concurrent updates by @anish531213 in https://github.com/uber/cadence/pull/3939
- Drop pointer for workflow type name by @vytautas-karpavicius in https://github.com/uber/cadence/pull/3924
- Drop pointer for activity type name by @vytautas-karpavicius in https://github.com/uber/cadence/pull/3925
- Drop pointer for task list name by @vytautas-karpavicius in https://github.com/uber/cadence/pull/3926
- Drop pointer for cluster name fields by @vytautas-karpavicius in https://github.com/uber/cadence/pull/3927
- CLI v0.18.2 by @just-at-uber in https://github.com/uber/cadence/pull/3944
- Drop pointer on request id fields by @vytautas-karpavicius in https://github.com/uber/cadence/pull/3928
- Drop pointer for timerid fields by @vytautas-karpavicius in https://github.com/uber/cadence/pull/3931
- Drop pointer for page size fields by @vytautas-karpavicius in https://github.com/uber/cadence/pull/3935
- Drop pointer for cron schedule fields by @vytautas-karpavicius in https://github.com/uber/cadence/pull/3936
- Drop pointer for poller id fields by @vytautas-karpavicius in https://github.com/uber/cadence/pull/3941
- Drop pointer for forwarded from fields by @vytautas-karpavicius in https://github.com/uber/cadence/pull/3942
- Drop pointer for attempt fields by @vytautas-karpavicius in https://github.com/uber/cadence/pull/3937
- Drop pointer on binary checksum fields by @vytautas-karpavicius in https://github.com/uber/cadence/pull/3943
- Support AWS signing for ElasticSearch client by @longquanzheng in https://github.com/uber/cadence/pull/3946
- Switch to revive, drop golint by @Groxx in https://github.com/uber/cadence/pull/3945
- Drop pointer for retry policy fields by @vytautas-karpavicius in https://github.com/uber/cadence/pull/3951
- Emit number of task list managers started by @mantas-sidlauskas in https://github.com/uber/cadence/pull/3929
- Improve docker-compose local unit-test, minor cleanup by @Groxx in https://github.com/uber/cadence/pull/3955
- Drop pointer for activity id fields by @vytautas-karpavicius in https://github.com/uber/cadence/pull/3949
- Drop pointers for bool fields by @vytautas-karpavicius in https://github.com/uber/cadence/pull/3956
- Cleanup internal types and remove generator by @vytautas-karpavicius in https://github.com/uber/cadence/pull/3950
- Add missing -race arg on a couple test targets by @Groxx in https://github.com/uber/cadence/pull/3957
- Fix/default qps by @just-at-uber in https://github.com/uber/cadence/pull/3958
- CLI v0.18.3 by @just-at-uber in https://github.com/uber/cadence/pull/3959
- Attempt to make some racy tests more reliable by @Groxx in https://github.com/uber/cadence/pull/3961
- Deprecate old task processing logic by @yycptt in https://github.com/uber/cadence/pull/3938
- Create non-transient decision when current version updates by @yux0 in https://github.com/uber/cadence/pull/3960
- Flatten UpdateDomainRequest by @vytautas-karpavicius in https://github.com/uber/cadence/pull/3954
- Drop pointer for event id/version fields by @vytautas-karpavicius in https://github.com/uber/cadence/pull/3948
- Fix xdc failover integration test by @vytautas-karpavicius in https://github.com/uber/cadence/pull/3967
- Drop pointer for signal name fields by @vytautas-karpavicius in https://github.com/uber/cadence/pull/3966
- Fix IP address in docker template by @longquanzheng in https://github.com/uber/cadence/pull/3983
- Kafka TLS: allow CA(RootCAs) or cert/key(certificate chains) only by @longquanzheng in https://github.com/uber/cadence/pull/3974
- Drop pointer on visibility query fields by @vytautas-karpavicius in https://github.com/uber/cadence/pull/3968
- Drop pointer for task id fields by @vytautas-karpavicius in https://github.com/uber/cadence/pull/3969
- Drop pointer for security token fields by @vytautas-karpavicius in https://github.com/uber/cadence/pull/3970
- Drop pointer on marker name fields by @vytautas-karpavicius in https://github.com/uber/cadence/pull/3971
- Drop pointer on remaining domain fields by @vytautas-karpavicius in https://github.com/uber/cadence/pull/3972
- Provide background context to all scanners by @mantas-sidlauskas in https://github.com/uber/cadence/pull/3965
- Use a test-logger in tests rather than stdout by @Groxx in https://github.com/uber/cadence/pull/3976
- Revert changes to use string casting for shard ID by @yux0 in https://github.com/uber/cadence/pull/3991
- Open source bench tests (Part 1) by @yycptt in https://github.com/uber/cadence/pull/3990
- Update cadence client by @mantas-sidlauskas in https://github.com/uber/cadence/pull/3995
- Rename metric name SignalInfo to SignalInfoSize by @AngerM in https://github.com/uber/cadence/pull/3993
- Allow configuring MaxWorkflowRetentionInDays by @longquanzheng in https://github.com/uber/cadence/pull/3982
- Fix dryrun option for SQL/Cassandra schema update command by @longquanzheng in https://github.com/uber/cadence/pull/3992
- Open source bench test (Part 2) by @yycptt in https://github.com/uber/cadence/pull/3998
- Fix some racy reads in tests by @Groxx in https://github.com/uber/cadence/pull/3975
- Drop pointer for shard id fields by @vytautas-karpavicius in https://github.com/uber/cadence/pull/3996
- Pretty-simple "find dependency updates" helper by @Groxx in https://github.com/uber/cadence/pull/4000
- pick child workflow id check by @yux0 in https://github.com/uber/cadence/pull/3994
- Move tcheck to go.mod, get rid of glide dependency by @Groxx in https://github.com/uber/cadence/pull/3999
- Open source bench test (Part 3) by @yycptt in https://github.com/uber/cadence/pull/4005
- update goveralls by @mantas-sidlauskas in https://github.com/uber/cadence/pull/4004
- Drop pointer on BadBinary fields by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4001
- Drop pointer on cause/reason fields by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4002
- Drop pointer for DomainTaskAttributes fields by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4003
- Optional fields in proto IDL requests by @vytautas-karpavicius in https://github.com/uber/cadence/pull/3989
- Default to non-verbose
make test
output by @Groxx in https://github.com/uber/cadence/pull/4010 - Add oneof for DescribeHistoryHostRequest in proto IDLs by @vytautas-karpavicius in https://github.com/uber/cadence/pull/3988
- Drop pointer on ActivityTaskScheduledEventAttributes.Domain by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4009
- Decouple decision handler and history engine impl logic by @yycptt in https://github.com/uber/cadence/pull/3973
- Move non-public proto IDL errors to internal api by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4011
- feature/changelog by @just-at-uber in https://github.com/uber/cadence/pull/4014
- Move workflow utility components to separate package by @yycptt in https://github.com/uber/cadence/pull/4015
- Use common ParentExecutionInfo in proto IDLs by @vytautas-karpavicius in https://github.com/uber/cadence/pull/3997
- Drop pointer on remaining fields by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4008
- Add missing fields/messages to proto IDLs by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4017
- fixed the poller count metric by @mkolodezny in https://github.com/uber/cadence/pull/4020
- Move decision related components to a separate package by @yycptt in https://github.com/uber/cadence/pull/4021
- Add helper methods for sql plugin registeration by @andrewjdawson2016 in https://github.com/uber/cadence/pull/4024
- Add more default Prometheus histogram buckets for non-latency timer metrics like history_size by @longquanzheng in https://github.com/uber/cadence/pull/4007
- Bench test README by @yycptt in https://github.com/uber/cadence/pull/4012
- Add support for ScyllaDB by @adambabik in https://github.com/uber/cadence/pull/4022
- Implement domain deprecate CLI command by @Shaddoll in https://github.com/uber/cadence/pull/4030
- Update IDL for workflow shadower by @yycptt in https://github.com/uber/cadence/pull/4035
- Add compose file for multi-cluster setup by @Shaddoll in https://github.com/uber/cadence/pull/4032
- Log info message when outstanding poller is canceled by @mantas-sidlauskas in https://github.com/uber/cadence/pull/4031
- Proto mappers by @vytautas-karpavicius in https://github.com/uber/cadence/pull/3902
- Increase poller history LRU cache size by @mantas-sidlauskas in https://github.com/uber/cadence/pull/4033
- Disable starting new workflows in deprecated domain by @Shaddoll in https://github.com/uber/cadence/pull/4038
- Update list domain CLI command to list deprecated domains by @Shaddoll in https://github.com/uber/cadence/pull/4039
- Update DeprecateDomain handler to handle global domain deprecation by @Shaddoll in https://github.com/uber/cadence/pull/4029
- Rewrite makefile to be reliable by @Groxx in https://github.com/uber/cadence/pull/4034
- Fix warnings when compiling the source code by @git-hulk in https://github.com/uber/cadence/pull/4036
- Context metrics tags to pass transport tag by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4037
- Fix the metric ActiveClusterGauge should be as common metric by @git-hulk in https://github.com/uber/cadence/pull/4043
- Fix prometheus metric error for dual emitting by @longquanzheng in https://github.com/uber/cadence/pull/4047
- Switch to gogo and yarpc compilers by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4040
- Add the service name to the log entry by @git-hulk in https://github.com/uber/cadence/pull/4044
- Emit task list lag metric in matching by @yycptt in https://github.com/uber/cadence/pull/4051
- Minor updates: improve README and add comment for dynamic configuration by @longquanzheng in https://github.com/uber/cadence/pull/4053
- Enforce context timeout in matching AddTask by @yycptt in https://github.com/uber/cadence/pull/4048
- Refresh gocql session on no connection error by @yycptt in https://github.com/uber/cadence/pull/4058
- Fix missing root dir prefix when loading dynamic config by @git-hulk in https://github.com/uber/cadence/pull/4056
- Move visibility manager setup out of persistence base test by @Shaddoll in https://github.com/uber/cadence/pull/4062
- Disable signal workflow in deprecated domains by @Shaddoll in https://github.com/uber/cadence/pull/4041
- Fix time convertion to nanos by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4063
- Shadower workflow implementation by @yycptt in https://github.com/uber/cadence/pull/4042
- Update CLI usage for IDReusePolicy: TerminteIfRunning by @longquanzheng in https://github.com/uber/cadence/pull/4067
- Fix domain registration error handling in cassandra by @yycptt in https://github.com/uber/cadence/pull/4066
- YARPC error mapping by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4070
- Use gogofast to register types using gogo registry by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4071
- Fix emit 0 count if encounters error by @yux0 in https://github.com/uber/cadence/pull/4073
- Regenerate files with thriftrw v1.25.0 by @yycptt in https://github.com/uber/cadence/pull/4074
- Add a domain cluster filter during replication by @yux0 in https://github.com/uber/cadence/pull/4069
- Fix Dockerfile by @yycptt in https://github.com/uber/cadence/pull/4083
- Revert "Drop pointer on ActivityTaskScheduledEventAttributes.Domain (#4009)" by @yycptt in https://github.com/uber/cadence/pull/4082
- Fix missing domain field when creating activity scheduled event by @yycptt in https://github.com/uber/cadence/pull/4087
- Release current workflow lock on create as zombie by @yux0 in https://github.com/uber/cadence/pull/4085
- Fix CLI unit tests by @emrahs in https://github.com/uber/cadence/pull/4090
- Update bug report and PR templates by @longquanzheng in https://github.com/uber/cadence/pull/4078
- Fix flaky integration test by @emrahs in https://github.com/uber/cadence/pull/4092
- Add domain queries to scanner and fixer, and skip terminated scans by @emrahs in https://github.com/uber/cadence/pull/4079
- Refactor integration tests by @Shaddoll in https://github.com/uber/cadence/pull/4091
- Fix flacky integration tests by @Shaddoll in https://github.com/uber/cadence/pull/4094
- Improve DLQ merge and purge command by @yycptt in https://github.com/uber/cadence/pull/4075
- Treat persistence timeout as transient error by @yycptt in https://github.com/uber/cadence/pull/4088
- Return plain yarpcerrors.Status with no internal error match by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4081
- WorkflowExecutionCloseStatus proto mapping by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4080
- Add larger test timeout for large test by @anish531213 in https://github.com/uber/cadence/pull/3894
- Seperate integration test suite definition from actual integration tests by @Shaddoll in https://github.com/uber/cadence/pull/4098
- Fix lint error in integration tests by @Shaddoll in https://github.com/uber/cadence/pull/4100
- Support CLI Delay Start by @demirkayaender in https://github.com/uber/cadence/pull/4097
- Fix regression introduced by integration test refactoring by @longquanzheng in https://github.com/uber/cadence/pull/4109
- Fix docker build with empty idls by @longquanzheng in https://github.com/uber/cadence/pull/4108
- Add version to Kafka config by @mistikel in https://github.com/uber/cadence/pull/4072
- Add more options to config_template for docker image by @peaaceChoi in https://github.com/uber/cadence/pull/4084
- Forward reset request to the active cluster by @demirkayaender in https://github.com/uber/cadence/pull/4114
- Add proto changes for delay start field by @demirkayaender in https://github.com/uber/cadence/pull/4104
- Fix flaky test by @demirkayaender in https://github.com/uber/cadence/pull/4116
- Expose server version tag to be set during build time by @longquanzheng in https://github.com/uber/cadence/pull/4106
- Fix don't swallow the error when building zap logger by @git-hulk in https://github.com/uber/cadence/pull/4102
- Workflow shadower bug fix and improvements by @yycptt in https://github.com/uber/cadence/pull/4117
- Improvements for show history from archival by @longquanzheng in https://github.com/uber/cadence/pull/4112
- Allow setting levelKey for logging level by @ignaciogonzalezsomoza in https://github.com/uber/cadence/pull/4120
- Bug fix: Declare CloseStatus and HistoryStatus as integers for development dynamicconfig by @Stratouklos in https://github.com/uber/cadence/pull/4125
- Refactor config: move config and dynamiconfig one level up by @longquanzheng in https://github.com/uber/cadence/pull/4118
- Fix flaky Cron integration test by @longquanzheng in https://github.com/uber/cadence/pull/4119
- Improve tasklist and implement history scavenger for SQL by @kraney in https://github.com/uber/cadence/pull/4059
- Revert changing HistoryLength and CloseStatus to string by @Stratouklos in https://github.com/uber/cadence/pull/4130
- Update domain registration to check required data field by @Shaddoll in https://github.com/uber/cadence/pull/4132
- Remove active domain check in shadow workflow by @yycptt in https://github.com/uber/cadence/pull/4133
- Refactor dynamicconfig comments for documentation by @longquanzheng in https://github.com/uber/cadence/pull/4129
- Add print json flag to list domains command by @Shaddoll in https://github.com/uber/cadence/pull/4134
- Update domain deprecation command to fail if workflow exists by @Shaddoll in https://github.com/uber/cadence/pull/4126
- Created GRPC handlers and internal clients by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4057
- Wrap shadow workflow config inside SideEffect by @yycptt in https://github.com/uber/cadence/pull/4140
- Update readme for CLI homebrew by @longquanzheng in https://github.com/uber/cadence/pull/4135
- Replace statsd with prometheus as default in docker-compose by @longquanzheng in https://github.com/uber/cadence/pull/4122
- Fixing typos in README.md File by @iamrodrigo in https://github.com/uber/cadence/pull/4142
- Set grpc ports in docker config template by @yycptt in https://github.com/uber/cadence/pull/4146
- Improve shadow workflow by @yycptt in https://github.com/uber/cadence/pull/4144
- Bump supported client feature version by @yycptt in https://github.com/uber/cadence/pull/4145
- Fix race condition in task re-dispatcher test by @yycptt in https://github.com/uber/cadence/pull/4147
- Add persistence info to DescribeCluster API call by @mantas-sidlauskas in https://github.com/uber/cadence/pull/4136
- Add PersistenceInfo to DescribeCluster thrift response by @mantas-sidlauskas in https://github.com/uber/cadence/pull/4149
- Add PersistenceInfo to DescribeCluster proto message by @mantas-sidlauskas in https://github.com/uber/cadence/pull/4148
- Bump cli version to 0.18.4 by @Shaddoll in https://github.com/uber/cadence/pull/4150
- Config layout refactor: centralize config file for documentation by @longquanzheng in https://github.com/uber/cadence/pull/4128
- Moved out public proto IDLs to cadence-idls repository by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4152
- Remove
omitempty
for fields used in PersistenceInfo by @mantas-sidlauskas in https://github.com/uber/cadence/pull/4151 - Support workflow already completed error by @demirkayaender in https://github.com/uber/cadence/pull/4123
- Assign CLI version on CLI commands by @demirkayaender in https://github.com/uber/cadence/pull/4153
- Add Documentation for dynamicconfig: value type and allowed filters by @longquanzheng in https://github.com/uber/cadence/pull/4156
- Elasticsearch TLS support by @spmistry in https://github.com/uber/cadence/pull/4154
- Add Signal Name to Signal Metrics by @demirkayaender in https://github.com/uber/cadence/pull/4161
- Add debug info when List API is hititng ratelimiting/sampling by @longquanzheng in https://github.com/uber/cadence/pull/4138
- Expand workflowCompleted error to other APIs by @demirkayaender in https://github.com/uber/cadence/pull/4163
- Use go client version v0.17.0 by @yycptt in https://github.com/uber/cadence/pull/4164
- Update workflow execution metrics by @Shaddoll in https://github.com/uber/cadence/pull/4159
- Update SQL task manager to support sharded SQL DB by @Shaddoll in https://github.com/uber/cadence/pull/4171
- Fix docker-compose bug: publicClient is not valid and error by @longquanzheng in https://github.com/uber/cadence/pull/4170
- Detect when IDL submodule is not initialized and warn user, improve .fake-codegen by @Groxx in https://github.com/uber/cadence/pull/4172
- Expose max message size config for gRPC by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4166
- Replace gRPC port when resolving host address by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4174
- Allow updating ElasticSearch only when adding new search attributes by @longquanzheng in https://github.com/uber/cadence/pull/4160
- Not allow more than one types of metric reporters by @longquanzheng in https://github.com/uber/cadence/pull/4180
- Handle workflow not exist error when archiving history by @yycptt in https://github.com/uber/cadence/pull/4181
- Fix proto mapper for Payload by @yycptt in https://github.com/uber/cadence/pull/4184
- Support Listing Scheduled Cron Workflows by @demirkayaender in https://github.com/uber/cadence/pull/4176
- Support managed failover workflow with drill mode by @yux0 in https://github.com/uber/cadence/pull/4177
- Update Master cluster to Primary cluster by @yux0 in https://github.com/uber/cadence/pull/4185
- Update admin db commands to support all registered SQL DBs by @Shaddoll in https://github.com/uber/cadence/pull/4189
- Improve error handling for SQL persistence implementation by @Shaddoll in https://github.com/uber/cadence/pull/4178
- Add nextEventID for frontend PollForDecisionTask response by @yycptt in https://github.com/uber/cadence/pull/4190
- Tidy go mod by @Shaddoll in https://github.com/uber/cadence/pull/4193
- Support is_cron field for SQL/Cassandra/Postgres by @demirkayaender in https://github.com/uber/cadence/pull/4191
- Fix sql error conversion by @Shaddoll in https://github.com/uber/cadence/pull/4194
- Add design doc for workflow shadowing by @yycptt in https://github.com/uber/cadence/pull/4137
- Refactor: move errorChecker to nosqlplugin pkg by @longquanzheng in https://github.com/uber/cadence/pull/4195
- Use frontend client in parentClosePolicy workflow to allow auto-forwarding by @yycptt in https://github.com/uber/cadence/pull/4202
- Fix describeWorkflowExecution in passive cluster by @yycptt in https://github.com/uber/cadence/pull/4203
- Support delaying cron workflows by @demirkayaender in https://github.com/uber/cadence/pull/4196
- Introduce Options for task list scavenger by @mantas-sidlauskas in https://github.com/uber/cadence/pull/4205
- Update admin DB commands to support SQL databases by @Shaddoll in https://github.com/uber/cadence/pull/4198
- Add more comments about how to implement the interfaces in NoSQL by @longquanzheng in https://github.com/uber/cadence/pull/4204
- Rollback workflow already completed error by @demirkayaender in https://github.com/uber/cadence/pull/4209
- Add rebalance workflow by @yux0 in https://github.com/uber/cadence/pull/4199
- Fix domain last updated time in updateDomain Operation by @yux0 in https://github.com/uber/cadence/pull/4211
- Add dynamic configs and metrics to control/monitor per id lengths by @andrewjdawson2016 in https://github.com/uber/cadence/pull/4173
- Wire up rebalance CLI by @yux0 in https://github.com/uber/cadence/pull/4213
- Check identity length before RespondDecisionTaskCompleted to history by @yycptt in https://github.com/uber/cadence/pull/4215
- Fix update domain replication ack level by @yux0 in https://github.com/uber/cadence/pull/4212
- Pick signal requestID dedup fix from temporal by @yycptt in https://github.com/uber/cadence/pull/4210
- Shift pointer conversions down to thrift encoder by @Shaddoll in https://github.com/uber/cadence/pull/4206
- Remove unused now parameter from task generator interface by @yycptt in https://github.com/uber/cadence/pull/4217
- Minor improvements on NoSQL interfaces and implementation by @longquanzheng in https://github.com/uber/cadence/pull/4219
- Domain queue ack level fix by @yux0 in https://github.com/uber/cadence/pull/4218
- Refactoring Cassandra shard persistence manager for NoSQL support by @longquanzheng in https://github.com/uber/cadence/pull/4197
- Update Admin CLI shard operations to support SQL databases by @Shaddoll in https://github.com/uber/cadence/pull/4207
- Add cross-cluster task related types and methods to data/persistence interface by @yycptt in https://github.com/uber/cadence/pull/4225
- Add Admin Shard List Command by @demirkayaender in https://github.com/uber/cadence/pull/4224
- Add skeleton of other nosql plugin and add dynamodb package by @longquanzheng in https://github.com/uber/cadence/pull/4220
- CLI: Differentiate local and global in describe domain by @longquanzheng in https://github.com/uber/cadence/pull/4231
- Regenerate proto types by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4234
- Update Admin CLI workflow operations to support SQL databases by @Shaddoll in https://github.com/uber/cadence/pull/4222
- Add cross cluster processing queue state to data/persistence interface by @yycptt in https://github.com/uber/cadence/pull/4230
- Remove unused ResetWorkflowExecution method from persistence by @yycptt in https://github.com/uber/cadence/pull/4236
- Add conn_attrs flag to admin db commands by @Shaddoll in https://github.com/uber/cadence/pull/4226
- Change domain data CLI parameter for consistency by @longquanzheng in https://github.com/uber/cadence/pull/4240
- Raise VisibilityListMaxQPS limit for local docker-compose env by @longquanzheng in https://github.com/uber/cadence/pull/4238
- Cassandra implementation for cross cluster queue by @yycptt in https://github.com/uber/cadence/pull/4237
- Add logic in replication stack to handle different shard number by @yux0 in https://github.com/uber/cadence/pull/4239
- Refactoring Cassandra visibility persistence manager for NoSQL support by @longquanzheng in https://github.com/uber/cadence/pull/4223
- Remove transfer/timer failover queue level from persistence layer by @yycptt in https://github.com/uber/cadence/pull/4232
- Add placeholder for dynamo visibilityCRUD methods by @yycptt in https://github.com/uber/cadence/pull/4244
- Fix persistence test for transfer/replication task completion by @yycptt in https://github.com/uber/cadence/pull/4245
- Refactoring Cassandra task persistence manager for NoSQL support by @longquanzheng in https://github.com/uber/cadence/pull/4229
- Refactor: not require db visibility when ES visibility is provided by @longquanzheng in https://github.com/uber/cadence/pull/4241
- Fix Cassandra schema version check by @yycptt in https://github.com/uber/cadence/pull/4247
- Update shardContext for getting and updating cross-cluster queue states by @yycptt in https://github.com/uber/cadence/pull/4246
- Rename MetadataManager to DomainManager by @longquanzheng in https://github.com/uber/cadence/pull/4249
- Update generating close event to use event version by @yux0 in https://github.com/uber/cadence/pull/4261
- Fix styles and instructions in docs by @calvinxiao in https://github.com/uber/cadence/pull/4260
- Adding protoversion as a config value by @iamrodrigo in https://github.com/uber/cadence/pull/4252
- Support Feature Flags for Breaking Changes by @demirkayaender in https://github.com/uber/cadence/pull/4257
- preserve some time to return partial of the result by @yux0 in https://github.com/uber/cadence/pull/4265
- Fix proto FromParentExecutionInfoFields mapper by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4262
- Add version check for JavaConsistentQuery by @longquanzheng in https://github.com/uber/cadence/pull/4258
- Generate cross cluster tasks in mutable state task generator by @yycptt in https://github.com/uber/cadence/pull/4250
- Remove timerGate usage in transfer queue processor by @yycptt in https://github.com/uber/cadence/pull/4248
- Add common Future util implementation by @yycptt in https://github.com/uber/cadence/pull/4266
- Rename persistence files for consistency by @longquanzheng in https://github.com/uber/cadence/pull/4256
- Update admin rereplicate command to support SQL databases by @Shaddoll in https://github.com/uber/cadence/pull/4227
- Add cross cluster task interface by @yux0 in https://github.com/uber/cadence/pull/4264
- Support prefix match for list domain command by @demirkayaender in https://github.com/uber/cadence/pull/4275
- Thrift and Proto definition for fetching and responding cross-cluster tasks by @yycptt in https://github.com/uber/cadence/pull/4276
- Support Cross Cluster Operations in SQL type DBs by @demirkayaender in https://github.com/uber/cadence/pull/4271
- Task fetcher implementation by @yycptt in https://github.com/uber/cadence/pull/4272
- Refactoring Cassandra workflow persistence manager for NoSQL support : Part 1 by @longquanzheng in https://github.com/uber/cadence/pull/4251
- Convert transfer to cross cluster task if target domain is active in remote cluster by @yycptt in https://github.com/uber/cadence/pull/4268
- Remove IsConditionalFailed from NoSQL by @longquanzheng in https://github.com/uber/cadence/pull/4278
- Adding protoversion in config file by @iamrodrigo in https://github.com/uber/cadence/pull/4263
- Remove unnecessary nonzero requirements in some fields of NoSQL config struct by @longquanzheng in https://github.com/uber/cadence/pull/4283
- Bugfix: write changes back to *Persistence.DataStores by @Groxx in https://github.com/uber/cadence/pull/4284
- Use global domain by default by @longquanzheng in https://github.com/uber/cadence/pull/4279
- Add internal types and mappers for cross cluster related APIs by @yycptt in https://github.com/uber/cadence/pull/4285
- Allow skipping optional tests for optional methods in plugins by @Shaddoll in https://github.com/uber/cadence/pull/4287
- Rename cassandra files to nosqlStores by @longquanzheng in https://github.com/uber/cadence/pull/4281
- Add client and handler implementation for cross-cluster task APIs by @yycptt in https://github.com/uber/cadence/pull/4286
- Implement new matching and frontend API to get all tasklists for a domain by @anish531213 in https://github.com/uber/cadence/pull/4175
- add tasklist to auth attributes by @mkolodezny in https://github.com/uber/cadence/pull/4288
- Fix a racy read in test by @Groxx in https://github.com/uber/cadence/pull/4291
- Remove tasklist kind from tasklist id by @yux0 in https://github.com/uber/cadence/pull/4295
- fill tasklist in auth attributes for poll APIs by @mkolodezny in https://github.com/uber/cadence/pull/4296
- Add domain tag for skip task metrics and logs by @yycptt in https://github.com/uber/cadence/pull/4293
- Improve definition for cross-cluster related endpoints by @yycptt in https://github.com/uber/cadence/pull/4294
- Ignore bench and canary test coverage by @yux0 in https://github.com/uber/cadence/pull/4297
- Refactoring Cassandra workflow persistence manager for NoSQL support-Part 2 by @longquanzheng in https://github.com/uber/cadence/pull/4280
- Target cluster cross cluster task processor by @yycptt in https://github.com/uber/cadence/pull/4292
- Add cross cluster queue processor by @yux0 in https://github.com/uber/cadence/pull/4269
- add enable service auth key by @mkolodezny in https://github.com/uber/cadence/pull/4299
- Clean up linting warnings by @yux0 in https://github.com/uber/cadence/pull/4290
- Refactor task executor interface by @yycptt in https://github.com/uber/cadence/pull/4300
- Enforce context timeout for retry policies in execution context and cache by @yycptt in https://github.com/uber/cadence/pull/4303
- Deep merge config files by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4165
- Refactoring Cassandra workflow persistence manager for NoSQL support-Part 3 by @longquanzheng in https://github.com/uber/cadence/pull/4298
- Fix typo in docker config template which cause docker image corruption by @longquanzheng in https://github.com/uber/cadence/pull/4310
- Expose frontend gRPC port on docker containers by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4312
- Cleanup lint warning by @yux0 in https://github.com/uber/cadence/pull/4309
- Update Mutable State to reduce unnecessary update to DB by @Shaddoll in https://github.com/uber/cadence/pull/4304
- Add persistence error logs to queue manager by @Shaddoll in https://github.com/uber/cadence/pull/4318
- Fix MaximumSignalsPerExecution documentation default value by @longquanzheng in https://github.com/uber/cadence/pull/4313
- Implement OAuth Authorizer by @iamrodrigo in https://github.com/uber/cadence/pull/4306
- Refactor Cassandra test utility for NoSQL support by @longquanzheng in https://github.com/uber/cadence/pull/4311
- Add cross cluster target task executor by @yycptt in https://github.com/uber/cadence/pull/4317
- Update admin CLI commands for cross-cluster queue by @yycptt in https://github.com/uber/cadence/pull/4321
- Add Permissions to Attributes and reading Public/Private key from disk instead of reading it from yaml file by @iamrodrigo in https://github.com/uber/cadence/pull/4320
- Improve is cross cluster task check by @yycptt in https://github.com/uber/cadence/pull/4326
- Fix missing activity failure details in standby cluster by @yycptt in https://github.com/uber/cadence/pull/4323
- CLI sending authorized request by @iamrodrigo in https://github.com/uber/cadence/pull/4327
- Fix CLI admin domain bug that didn't load Cassandra plugin by @longquanzheng in https://github.com/uber/cadence/pull/4330
- Remove unused replicationConsumer related config by @yycptt in https://github.com/uber/cadence/pull/4324
- Notify queue processor about cross cluster tasks by @yycptt in https://github.com/uber/cadence/pull/4328
- Implement history handler for fetching and responding cross-cluster tasks by @yycptt in https://github.com/uber/cadence/pull/4329
- Update OAuth implementation to use domainCache to authorize by @longquanzheng in https://github.com/uber/cadence/pull/4333
- Fix deadlock in transfer queue processor by @yycptt in https://github.com/uber/cadence/pull/4337
- Server and CLI use version from release and versionChecking constant and commit revision by @longquanzheng in https://github.com/uber/cadence/pull/4308
- Feature cont.: authorize CLI as admin with private by @iamrodrigo in https://github.com/uber/cadence/pull/4338
- Parallelize GetWorkflowExecution SQL calls by @demirkayaender in https://github.com/uber/cadence/pull/4339
- Enable batch job feature by default and update dynamic config docs by @longquanzheng in https://github.com/uber/cadence/pull/4343
- Improve contributing and dev process by @longquanzheng in https://github.com/uber/cadence/pull/4347
- Added config store functionality (initial implementation) by @aliue in https://github.com/uber/cadence/pull/4357
- Fix CLI jwtKey NPE issue by @yycptt in https://github.com/uber/cadence/pull/4358
- Fix oauth yaml config by @yycptt in https://github.com/uber/cadence/pull/4360
- Update community links for Discussion by @longquanzheng in https://github.com/uber/cadence/pull/4370
- Allow removing replica from domain replication group by @longquanzheng in https://github.com/uber/cadence/pull/4346
- Optimization for start child workflow task by @yux0 in https://github.com/uber/cadence/pull/4315
- Fix ndc reset workflow replication bug by @Shaddoll in https://github.com/uber/cadence/pull/4376
- Fix admin workflow re-replicate command by @yycptt in https://github.com/uber/cadence/pull/4325
- Fill publicClient with currentCluster RpcAddress as default by @longquanzheng in https://github.com/uber/cadence/pull/4365
- Expose invalid timer value in the error message by @demirkayaender in https://github.com/uber/cadence/pull/4380
- Add X-Cluster Child Workflow Completion Tasks by @demirkayaender in https://github.com/uber/cadence/pull/4336
- Failover metrics scope improve by @yux0 in https://github.com/uber/cadence/pull/4391
- Add docker file/config/compose for bench and canary by @longquanzheng in https://github.com/uber/cadence/pull/4388
- Refactor ClusterMetadata defaults and validation by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4385
- Add context metric tags for admin handler by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4404
- Update CHANGELOG.md by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4405
- add decision result count check by @mkolodezny in https://github.com/uber/cadence/pull/4402
- Try detecting timer and activity resurrection by @yycptt in https://github.com/uber/cadence/pull/4375
- Emit logs with workflow execution tag for timedout frontend requests by @yycptt in https://github.com/uber/cadence/pull/4379
- Disable basic(db) visibility sampling by default by @longquanzheng in https://github.com/uber/cadence/pull/4407
- Fix domain updating via grpc by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4418
- gRPC for cross DC traffic by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4390
- Automatically adjust task priority and redispatch interval based on attempts by @yycptt in https://github.com/uber/cadence/pull/4378
- Improve/simplify archival config validation by @longquanzheng in https://github.com/uber/cadence/pull/4366
- Add authorizer protection for AdminAPI by @longquanzheng in https://github.com/uber/cadence/pull/4348
- Long poll completion buffer to prevent timeouts by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4425
- Dynamic replication batch size by @yux0 in https://github.com/uber/cadence/pull/4301
- Rewrite/improve basic load test by @longquanzheng in https://github.com/uber/cadence/pull/4399
- Fix auot-build script typo by @longquanzheng in https://github.com/uber/cadence/pull/4428
- Updated yarpc to v1.56.0 by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4423
- Add feature flag for scheduling cross-cluster operations by @yycptt in https://github.com/uber/cadence/pull/4424
- Adding middleware to inject Auth token for internal requests to frontend by @iamrodrigo in https://github.com/uber/cadence/pull/4364
- Fix OAuth sample config and add docker-compose for OAuth testing server by @longquanzheng in https://github.com/uber/cadence/pull/4352
- Set completed workflow current version to lastWriteVersion by @yycptt in https://github.com/uber/cadence/pull/4431
- Revert ratelimiting behavior for frontend worker related APIs by @yycptt in https://github.com/uber/cadence/pull/4435
- Support ApplyParentClosePolicy Cross Cluster Tasks by @demirkayaender in https://github.com/uber/cadence/pull/4392
- Add feature flag on emitting signal name metric tag by @yux0 in https://github.com/uber/cadence/pull/4434
- Add getFailoverInfo API by @yux0 in https://github.com/uber/cadence/pull/4408
- Allow replicate history generated from same cluster by @yux0 in https://github.com/uber/cadence/pull/4429
- Refactor test for internal integration tests by @yycptt in https://github.com/uber/cadence/pull/4437
- Implement cross-cluster source task by @yycptt in https://github.com/uber/cadence/pull/4398
- Refactor config methods for internal use by @yycptt in https://github.com/uber/cadence/pull/4448
- Misc improvements: development & sample config & README & Issue Template by @longquanzheng in https://github.com/uber/cadence/pull/4443
- Load OAuth credential on startup instead of request processing by @iamrodrigo in https://github.com/uber/cadence/pull/4442
- Matching per domain RPS limit by @yycptt in https://github.com/uber/cadence/pull/4433
- Expose GetTaskListByDomain in CLI by @yux0 in https://github.com/uber/cadence/pull/4462
- Remove previous domain lists from domain cache by @yux0 in https://github.com/uber/cadence/pull/4463
- Validate shard ID range by @yux0 in https://github.com/uber/cadence/pull/4461
- Set limit on range queries to prevent bad queries causing degradation by @Shaddoll in https://github.com/uber/cadence/pull/4458
- Add tagged loger to shardscanner by @mantas-sidlauskas in https://github.com/uber/cadence/pull/4466
- extend permission attributes for service auth by @mkolodezny in https://github.com/uber/cadence/pull/4468
- Implement cross-cluster source task executor by @yycptt in https://github.com/uber/cadence/pull/4445
- Fix/docker multicluster by @just-at-uber in https://github.com/uber/cadence/pull/4473
- Add a step to scan workflow to be in DLQ by @yux0 in https://github.com/uber/cadence/pull/4471
- Add documentation to canary and improvements by @longquanzheng in https://github.com/uber/cadence/pull/4447
- Refactor task executor tests by @yycptt in https://github.com/uber/cadence/pull/4475
- add enable service auth logging key by @mkolodezny in https://github.com/uber/cadence/pull/4480
- Fix workflow refresh for closed workflows by @yycptt in https://github.com/uber/cadence/pull/4472
- Fix nil pointer dereference issue in matching by @Shaddoll in https://github.com/uber/cadence/pull/4481
- Emit metrics during shardscanner fix and scan activities by @mantas-sidlauskas in https://github.com/uber/cadence/pull/4476
- Fix startTime in workflow task refresher by @yycptt in https://github.com/uber/cadence/pull/4488
- Adding debug metrics in domain callback by @yux0 in https://github.com/uber/cadence/pull/4484
- Fix parent close policy for cross-domain childs by @yycptt in https://github.com/uber/cadence/pull/4486
- Integrate failover into into describe domain response by @yux0 in https://github.com/uber/cadence/pull/4440
- Update get tasklist response by @yux0 in https://github.com/uber/cadence/pull/4483
- Fix workflow retry policy overriding workflow timeout by @fenghan89 in https://github.com/uber/cadence/pull/4467
- Use gRPC outbound by default for internal traffic by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4492
- Limit batch size for fetching cross cluster tasks by @yycptt in https://github.com/uber/cadence/pull/4487
- add workflow type to signal with start auth by @mkolodezny in https://github.com/uber/cadence/pull/4495
- Minor ratelimit test cleanup by @Groxx in https://github.com/uber/cadence/pull/4497
- Fix timer resurrection check by @yycptt in https://github.com/uber/cadence/pull/4499
- Fix access control admin handler initialization by @yux0 in https://github.com/uber/cadence/pull/4500
- Refactor to add a SQL driver layer for multiple SQL databases support as sharded SQL by @longquanzheng in https://github.com/uber/cadence/pull/4498
- fix flaky TestWorkflowRetryPolicyContinueAsNewAsCron integration test by @fenghan89 in https://github.com/uber/cadence/pull/4496
- Update persistence test to verify delete history branch actually delete related nodes by @Shaddoll in https://github.com/uber/cadence/pull/4494
- Managed failover workflow improvements by @yux0 in https://github.com/uber/cadence/pull/4491
- Moved RPC related types to a dedicated package by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4505
- Move dispatcher provider to rpc package by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4507
- Refactor PeerChooserFactory out of DispatcherProvider by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4508
- Add disableSniff: true flag to update-development_es_v7.yaml by @fenghan89 in https://github.com/uber/cadence/pull/4501
- Move serviceImpl to integration tests by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4513
- Add sample config to run with opensearch by @longquanzheng in https://github.com/uber/cadence/pull/4512
- Fix record child completion error handling by @yycptt in https://github.com/uber/cadence/pull/4515
- Reshuffle service.Config and resource.Params by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4514
- Refactor service naming constants by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4516
- Refactor cross cluster queue implementation by @yycptt in https://github.com/uber/cadence/pull/4493
- Introduce rpc.Params by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4517
- Move out auth middleware and add test coverage by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4519
- Execution logic for RecordChildCompletion and ApplyParentClosePolicy by @demirkayaender in https://github.com/uber/cadence/pull/4474
- Added response info middleware by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4522
- Add size checker when replication messages return by @yux0 in https://github.com/uber/cadence/pull/4521
- Implement sharded SQL driver to support using multiple SQL databases by @longquanzheng in https://github.com/uber/cadence/pull/4504
- Use common dispatcher for public client outbound by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4523
- Revert "Use common dispatcher for public client outbound (#4523)" by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4534
- Use common dispatcher for public client outbound #2 by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4537
- Add server startup test to prevent docker image master-auto-setup getting broken by @longquanzheng in https://github.com/uber/cadence/pull/4535
- Improve close execution task for cross cluster situation by @yycptt in https://github.com/uber/cadence/pull/4528
- Upgrade golang/sys for go 1.17 by @yycptt in https://github.com/uber/cadence/pull/4543
- Add metrics for cross cluster implementation by @yycptt in https://github.com/uber/cadence/pull/4527
- Added combineOutbounds to combine multiple outbound builders by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4538
- Add inbound metrics middleware by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4545
- Log WorkflowID, RunID, domainName when a workflow times out or gets terminated by @WToma in https://github.com/uber/cadence/pull/4548
- Wire up cross-cluster operation implementation by @yycptt in https://github.com/uber/cadence/pull/4524
- Move out dispatcher from client factory by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4506
- Update shard context to reduce DB calls for closed shards by @Shaddoll in https://github.com/uber/cadence/pull/4547
- Add console as logging encoding type by @longquanzheng in https://github.com/uber/cadence/pull/4549
- URL encode postgres credentials by @agrimrules in https://github.com/uber/cadence/pull/4550
- Fix docker config template for secondary cluster by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4551
- Remove unused NewFrontendClient functions by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4553
- Added cross DC outbound builder by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4552
- Fix public client default value after xdc switching to gRPC by @longquanzheng in https://github.com/uber/cadence/pull/4560
- Removed frontend client randomization by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4558
- Remove dispatcher provider by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4559
- Add fixer workflow triggered by remote by @yux0 in https://github.com/uber/cadence/pull/4482
- Add Redirect policy to forward all domain APIs by @longquanzheng in https://github.com/uber/cadence/pull/4531
- Misc. fix for cross cluster implementation by @yycptt in https://github.com/uber/cadence/pull/4554
- Add a hard limit for number of decision retry attempts with a dynamic… by @emrahs in https://github.com/uber/cadence/pull/4490
- Improve archival history mutated error logs and add option to allow archiving incomplete history by @longquanzheng in https://github.com/uber/cadence/pull/4541
- Upgrade yarpc to v1.58.0 by @Shaddoll in https://github.com/uber/cadence/pull/4564
- Switch canary to gRPC by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4570
- Fix mysql insecure hostname verfiy didn't work by @git-hulk in https://github.com/uber/cadence/pull/4569
- Improve server_test and instructions on homebrew and dynamic config docs by @longquanzheng in https://github.com/uber/cadence/pull/4557
- Support filtering global domains in ElasticSearch by @demirkayaender in https://github.com/uber/cadence/pull/4539
- Refactor and improve the retry logic to avoid throttling dependency services by @Shaddoll in https://github.com/uber/cadence/pull/4351
- Handle applyParentClose target domain failover by @demirkayaender in https://github.com/uber/cadence/pull/4533
- Remove github auto-merge job by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4577
- Fix build on M1 macs by @Groxx in https://github.com/uber/cadence/pull/4576
- Show more information about panicked objects by @Groxx in https://github.com/uber/cadence/pull/4575
- Fix and improve canary thrift config and docs by @longquanzheng in https://github.com/uber/cadence/pull/4580
- Add admin respond cross cluster task completed API by @yycptt in https://github.com/uber/cadence/pull/4565
- Allow canary to skip error on creating domains for canary by @longquanzheng in https://github.com/uber/cadence/pull/4584
- Add cross region sample config and minor fix docker template by @longquanzheng in https://github.com/uber/cadence/pull/4574
- Fx docker template and canary batcher workflow by @longquanzheng in https://github.com/uber/cadence/pull/4585
- Set workflow start time in application layer by @yycptt in https://github.com/uber/cadence/pull/4581
- Schedule first decision for abandoned child if parent closed by @yycptt in https://github.com/uber/cadence/pull/4579
- Cleanup unused setters in client.Bean by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4555
- Change canary back to start both worker and starter by default by @longquanzheng in https://github.com/uber/cadence/pull/4587
- Split transfer close execution task by @yycptt in https://github.com/uber/cadence/pull/4583
- Fix NPE when replicating child started event by @yycptt in https://github.com/uber/cadence/pull/4591
- Limited retry for normal decision scheduleToStart timeout by @yycptt in https://github.com/uber/cadence/pull/4567
- Unify mysql user password for testing by @longquanzheng in https://github.com/uber/cadence/pull/4589
- Provide Channel for Ringpop by @mantas-sidlauskas in https://github.com/uber/cadence/pull/4597
- Perform schema checks for multiple SQL database and add context to AdminDB DDL interface by @longquanzheng in https://github.com/uber/cadence/pull/4561
- Fix target domain not active error handling for transfer task by @yycptt in https://github.com/uber/cadence/pull/4599
- Add ctx parameter to queue processor actions by @yycptt in https://github.com/uber/cadence/pull/4600
- Persist domainID instead of domainName for childExecutionInfo by @yycptt in https://github.com/uber/cadence/pull/4601
- Fix get replication task read level update issue by @Shaddoll in https://github.com/uber/cadence/pull/4607
- Add dynamic config to disable generate replication tasks by @yux0 in https://github.com/uber/cadence/pull/4608
- Handle error case in response info middleware by @yux0 in https://github.com/uber/cadence/pull/4609
- Add TLS support on gRPC by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4606
- Cli: notify on SIGINT by @mantas-sidlauskas in https://github.com/uber/cadence/pull/4615
- Fallback to zero value for non-present parent execution fields by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4617
- ElasticSearch Analyzer by @demirkayaender in https://github.com/uber/cadence/pull/4598
- Use direct outbound for history client by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4619
- Fix NPE in GCP archival by @longquanzheng in https://github.com/uber/cadence/pull/4626
- Support DNS SRV Records within Ringpop by @lindleywhite in https://github.com/uber/cadence/pull/4614
- Remove Membership Factory by @mantas-sidlauskas in https://github.com/uber/cadence/pull/4627
- Fixing master build by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4631
- feat: Fixing RPC to allow bindOnIP for IPv6 by @StarAurryon in https://github.com/uber/cadence/pull/4620
- Use direct outbound for matching client by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4622
- Add inbound header forwarding middleware by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4637
- Update golang/mock to v1.6.0 by @mantas-sidlauskas in https://github.com/uber/cadence/pull/4636
- Implement MongoDB plugin Part1: skeleton and ConfigStore by @longquanzheng in https://github.com/uber/cadence/pull/4590
- Update docker image to use 1.17 Golang by @longquanzheng in https://github.com/uber/cadence/pull/4632
- Add prometheus metric for canary/bench by @longquanzheng in https://github.com/uber/cadence/pull/4625
- Apply ConnectAttributes for postgres by @wenerme in https://github.com/uber/cadence/pull/4639
- Move ringpop setup to common/membership by @mantas-sidlauskas in https://github.com/uber/cadence/pull/4638
- Reduce API scope for membership.Monitor by @mantas-sidlauskas in https://github.com/uber/cadence/pull/4644
- Use generated proto types from cadence-idl repo by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4630
- Add admin tool to decode any thrift binary into JOSN by @longquanzheng in https://github.com/uber/cadence/pull/4634
- Fix build by switching to golang:1.17-alpine3.13 by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4641
- Fix badly formatted files by @demirkayaender in https://github.com/uber/cadence/pull/4647
- Use streaming implementation of thriftrw encoder/decoder by @Shaddoll in https://github.com/uber/cadence/pull/4568
- Merge membership Monitor and ServiceResolver to membership.Resolver by @mantas-sidlauskas in https://github.com/uber/cadence/pull/4646
- Fix ResponseInfo to work on all transports by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4649
- Fix remote sync match for standby domains and task creation time by @yycptt in https://github.com/uber/cadence/pull/4654
- Add logs for ID length violation checkers by @Shaddoll in https://github.com/uber/cadence/pull/4655
- Shuffle responses for replication messages by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4652
- make fmt by @mantas-sidlauskas in https://github.com/uber/cadence/pull/4658
- [membership] Replace Ringop with PeerProvider interface by @mantas-sidlauskas in https://github.com/uber/cadence/pull/4653
- Add long running workflow metrics by @demirkayaender in https://github.com/uber/cadence/pull/4643
- Add domain to pendingChildExecutionInfo by @yycptt in https://github.com/uber/cadence/pull/4611
- Parent close policy should apply to child workflow only by @yycptt in https://github.com/uber/cadence/pull/4612
- Create ElasticSearch client via factory by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4660
- Support partial retries for ApplyParentPolicy by @demirkayaender in https://github.com/uber/cadence/pull/4610
- Bug fixes for cross domain operations by @yycptt in https://github.com/uber/cadence/pull/4623
- Improve cross cluster components shutdown logic by @yycptt in https://github.com/uber/cadence/pull/4662
- Fix admin db thrift decode tool by @longquanzheng in https://github.com/uber/cadence/pull/4665
- Improve error message when a workflow's decision is rejected due to concurrent changes by @Groxx in https://github.com/uber/cadence/pull/4673
- Update batcher to support replicating workflows by @Shaddoll in https://github.com/uber/cadence/pull/4672
- Update domain describe command to support JSON output by @Shaddoll in https://github.com/uber/cadence/pull/4674
- Fix canary/bench dev configs by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4675
- Add support for custom cassandra authenticators by @johndelcastillo in https://github.com/uber/cadence/pull/4676
- Switch system worker to gRPC by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4679
- Export ResponseInfoMiddleware & InboundMetricsMiddleware by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4680
- Update auto-forwarding to work for global domains with 1 cluster by @Shaddoll in https://github.com/uber/cadence/pull/4681
- Generate parentClosePolicy task for x-cluster child by @yycptt in https://github.com/uber/cadence/pull/4682
- Fix queue diff metric for disabled clusters by @yycptt in https://github.com/uber/cadence/pull/4686
- Add jitter for starting failover queue by @yycptt in https://github.com/uber/cadence/pull/4683
- Emit persistence latency histograms by @Shaddoll in https://github.com/uber/cadence/pull/4678
- Update Base and Builder Images to Alpine 3.15 by @WToma in https://github.com/uber/cadence/pull/4689
- Update ElasticSearch version to fix log4j issues by @demirkayaender in https://github.com/uber/cadence/pull/4691
- Fix cassandra plugin nil pointer dereference issue by @Shaddoll in https://github.com/uber/cadence/pull/4697
- Update cadence go client to 0.19.0 by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4696
- Improve standby task processing by @Shaddoll in https://github.com/uber/cadence/pull/4695
- Add skipCurrentCompleted option to reset-batch command by @longquanzheng in https://github.com/uber/cadence/pull/4698
- Add exclude query for list and reset-batch command by @longquanzheng in https://github.com/uber/cadence/pull/4699
- Add decision offset to LastDecisionCompleted reset type by @longquanzheng in https://github.com/uber/cadence/pull/4700
- Allow generating workflow tasks if workflow is non-current by @yycptt in https://github.com/uber/cadence/pull/4688
- Extend Hostinfo with identity and port map by @mantas-sidlauskas in https://github.com/uber/cadence/pull/4706
- Upgrades python version for cqlsh by @davidporter-id-au in https://github.com/uber/cadence/pull/4709
- Update CLI client factory to use grpc clients by @fenghan89 in https://github.com/uber/cadence/pull/4605
- Hashring: return Hostinfo struct instead of string by @mantas-sidlauskas in https://github.com/uber/cadence/pull/4708
- Update error message for too frequent domain updates by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4711
- Fix NPE when observing history in CLI by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4714
- Do not pass yarpc options in CLI by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4712
- Removed unused parameter by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4719
- Fallback to zero value for initiatedID in ExternalExecutionInfoFields struct by @Shaddoll in https://github.com/uber/cadence/pull/4720
- Fix parsing domain_id in child_info_maps for backward compatibility by @Shaddoll in https://github.com/uber/cadence/pull/4722
- Drop pointers on internal history branch types by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4718
- Update cadence batch command to receive more input by @Shaddoll in https://github.com/uber/cadence/pull/4725
- Drop unused flags for cli rereplicate command by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4728
- Drop redundant pointer conversions by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4726
- Protect membership member keys concurrent access by @mantas-sidlauskas in https://github.com/uber/cadence/pull/4731
- Lock membership keys after peer provider call by @mantas-sidlauskas in https://github.com/uber/cadence/pull/4733
- emit task list backlog metric in matching by @mkolodezny in https://github.com/uber/cadence/pull/4734
- Add correct Address tag by @mantas-sidlauskas in https://github.com/uber/cadence/pull/4736
- Return Hostinfo identity if set by @mantas-sidlauskas in https://github.com/uber/cadence/pull/4739
- Added AsFloat64 helper to convert rps related dynamic config properties by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4740
- Reuse rate limiter functionality by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4742
- Lowers priority of a significantly noisy log entry by @davidporter-id-au in https://github.com/uber/cadence/pull/4730
- Add rate limits for inline archival by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4743
- Provide portmap to ringpop by @mantas-sidlauskas in https://github.com/uber/cadence/pull/4745
- Fix SQL implementation of DeleteWorkflowExecution by @Shaddoll in https://github.com/uber/cadence/pull/4746
- add refresh tasks API to client by @mkolodezny in https://github.com/uber/cadence/pull/4747
- fixed refresh workflow tasks by @mkolodezny in https://github.com/uber/cadence/pull/4750
- Use setupBackoffTimer with locking by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4748
- Staticcheck cleanup by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4751
- Log more tags while putting to replication task to dlq by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4754
- Add more docker compose files for multiclusters with ES and different DB by @Shaddoll in https://github.com/uber/cadence/pull/4757
- Add Watchdog Workflow with Corrupt Workflow Fix by @demirkayaender in https://github.com/uber/cadence/pull/4713
- Fix sql implementation of getWorkflowExecution by @Shaddoll in https://github.com/uber/cadence/pull/4758
- Use named port to select transport for outbound calls by @mantas-sidlauskas in https://github.com/uber/cadence/pull/4749
- Fix auto-forwarding for QueryWorkflow API by @Shaddoll in https://github.com/uber/cadence/pull/4763
- Added missing mapper fields for DecisionTaskTimedOutEventAttributes by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4762
- Ringpop: filter out unhealthy nodes by @mantas-sidlauskas in https://github.com/uber/cadence/pull/4764
- Drop getters on HistoryEvent by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4727
- Ringpop: set tchannel port even if label is missing by @mantas-sidlauskas in https://github.com/uber/cadence/pull/4765
- Added history corruption checks for workflow signaling by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4761
- Allow reading shard list from stdin for CLI DLQ operations by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4771
- Added presentation layer for rendering workflow list tables by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4773
- Purge un-hydrated replication tasks when doing DLQ merge by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4769
- Allow loading service config for all DB operations by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4768
- Use RenderTable for the remaining CLI commands by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4774
- As-simple-as-possible addition of background-processing ratelimits by @Groxx in https://github.com/uber/cadence/pull/4775
- CLI format flag by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4777
- Improved CLI DLQ read command by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4780
- Fix ScanWorkflowExecutions function in frontend client by @Shaddoll in https://github.com/uber/cadence/pull/4781
- Support refreshing long running workflows based on user config by @demirkayaender in https://github.com/uber/cadence/pull/4770
- Add source_cluster tag when emitting DLQ size by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4782
- Use errgroup.Group for fanout style workfloads by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4784
- Feature/cdnc 2263 Add toggle which can block domain failovers by @allenchen2244 in https://github.com/uber/cadence/pull/4786
- set EnableActivityLocalDispatchByDomain default value to true by @mkolodezny in https://github.com/uber/cadence/pull/4788
- Added API for retrieving DLQ message count by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4787
- Double inline archival time limit defaults by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4796
- Wrap underlying cause for conditional update error by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4797
- Fix docker prometheus config for linux docker by @longquanzheng in https://github.com/uber/cadence/pull/4793
- Add jittered workflow deletion configuration by @allenchen2244 in https://github.com/uber/cadence/pull/4789
- Only update maxReadLevel after successful re-acquire of shard by @Shaddoll in https://github.com/uber/cadence/pull/4799
- Minor makefile cleanup, gofmt by @Groxx in https://github.com/uber/cadence/pull/4802
- fix CreaterFile fail err hidden by Close invaildargment by @pluswu in https://github.com/uber/cadence/pull/4744
- Update base image to Alpine 3.15 by @WToma in https://github.com/uber/cadence/pull/4804
- Allow decoding thrift from base64 string via CLI by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4805
- Log error when fetchHistoryFromRemote fails by @mantas-sidlauskas in https://github.com/uber/cadence/pull/4807
- Change access dienied error type by @mantas-sidlauskas in https://github.com/uber/cadence/pull/4808
- Improve task re-dispatch error logging by @mantas-sidlauskas in https://github.com/uber/cadence/pull/4809
- add data contract for activity task dispatch by @mkolodezny in https://github.com/uber/cadence/pull/4813
- updated idl for activity task dispatch by @mkolodezny in https://github.com/uber/cadence/pull/4815
- dispatch activity task before generating the transfer task by @mkolodezny in https://github.com/uber/cadence/pull/4816
- Fix error type returned from GetWorkflowExecution and DeleteWorkflowExecution by @Shaddoll in https://github.com/uber/cadence/pull/4817
- add activity dispatch configs to matching by @mkolodezny in https://github.com/uber/cadence/pull/4818
- Fill domainID for backwards compatibility by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4819
- Log error fields as tags by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4801
- Improve failover coordinator error logging by @mantas-sidlauskas in https://github.com/uber/cadence/pull/4811
- Add CustomDomain and Operator as default indexed keys by @mantas-sidlauskas in https://github.com/uber/cadence/pull/4825
- Remove unused PayloadSerializer param by @mantas-sidlauskas in https://github.com/uber/cadence/pull/4827
- Check for resurrected activities during RecordActivityTaskStarted by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4806
- remove redundant type conversions for activity task dispatch by @mkolodezny in https://github.com/uber/cadence/pull/4820
- Add logs for domain failover by @neil-xie in https://github.com/uber/cadence/pull/4810
- Remove security vulnerability by @just-at-uber in https://github.com/uber/cadence/pull/4829
- add metric tags for activity task dispatch by @mkolodezny in https://github.com/uber/cadence/pull/4821
- Security fix: Update PROPOSALS.md to not reference google groups by @just-at-uber in https://github.com/uber/cadence/pull/4831
- Forward activity responses and heartbeats on failover as well by @Groxx in https://github.com/uber/cadence/pull/4823
- Extract Engine from matching handler by @mantas-sidlauskas in https://github.com/uber/cadence/pull/4833
- Removing target-domain-not-active special-case handling by @davidporter-id-au in https://github.com/uber/cadence/pull/4835
- Simplify history builder by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4837
- Remove unused loggers from history by @mantas-sidlauskas in https://github.com/uber/cadence/pull/4822
- Fix error conversion for WorkflowExecutionAlreadyStartedError by @Shaddoll in https://github.com/uber/cadence/pull/4838
- Bugfix/correct failover issue target domain not active ii by @davidporter-id-au in https://github.com/uber/cadence/pull/4840
- Shard tag not needed in shard.Context by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4842
- Remove no-longer used dynamic configs by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4843
- Log replication messages that did not fit by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4844
- Remove domain cache from history/workflow by @mantas-sidlauskas in https://github.com/uber/cadence/pull/4846
- Removed global domain enabled config by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4845
- Update SQL implementation of UpdateExecution to support async transaction by @Shaddoll in https://github.com/uber/cadence/pull/4792
- Separate buildkite pipeline for PRs by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4850
- Decouple domain cache entry from cluster metadata by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4847
- Add UpdateFromConfig function to schema tool library by @Shaddoll in https://github.com/uber/cadence/pull/4848
- Make cluster.Metadata a struct and stop using mocks for it by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4851
- Removed unused internal type getters by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4852
- Fix CLI rendering long workflow types by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4853
- Add metrics for empty reads by @neil-xie in https://github.com/uber/cadence/pull/4855
- do not wait for activity task channel if sync match from history by @mkolodezny in https://github.com/uber/cadence/pull/4860
- Move some proto definitions to admin package by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4861
- Fix status check for visibility and archival by @Shaddoll in https://github.com/uber/cadence/pull/4864
- Add visibility operation types to Kafka message by @duoertai in https://github.com/uber/cadence/pull/4828
- Used exposed admin proto IDLs by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4865
- CDNC-1746: cadence-history does not emit continue-as-new metrics by @ZackLK in https://github.com/uber/cadence/pull/4866
- add activity info logging by @mkolodezny in https://github.com/uber/cadence/pull/4867
- Update the default values of dynamic config to not depend on static config by @Shaddoll in https://github.com/uber/cadence/pull/4858
- Adds cross-cluster canary by @davidporter-id-au in https://github.com/uber/cadence/pull/4868
- Update idl for StickyWorkerUnavailableError by @Shaddoll in https://github.com/uber/cadence/pull/4869
- Remove unused functions from TaskAckManager by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4872
- Feature/adding canary for cross cluster -> readme patch by @davidporter-id-au in https://github.com/uber/cadence/pull/4870
- Add support for changing the gocql connect timeout by @johndelcastillo in https://github.com/uber/cadence/pull/4874
- Removed TaskID from types.HistoryTaskV2Attributes by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4876
- Support allowed authenticators in tool by @johndelcastillo in https://github.com/uber/cadence/pull/4873
- update generated code by @shijiesheng in https://github.com/uber/cadence/pull/4880
- fix flaky TestDelayStartWorkflow by @shijiesheng in https://github.com/uber/cadence/pull/4884
- Simplified FindFirstVersionHistoryByItem by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4882
- Refactor dynamic config by @Shaddoll in https://github.com/uber/cadence/pull/4863
- Rename dockers default cluster name to match the other config files. by @ZackLK in https://github.com/uber/cadence/pull/4885
- Magically speed up NDC integration tests by @Groxx in https://github.com/uber/cadence/pull/4892
- Move visibility operation from search attributes to indexer message by @duoertai in https://github.com/uber/cadence/pull/4881
- Removed replication mocks by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4883
- Added support for network topology strategy by @johndelcastillo in https://github.com/uber/cadence/pull/4875
- Add helper function to list all dynamic config keys used in production by @Shaddoll in https://github.com/uber/cadence/pull/4891
- upgrade go version to 1.17 in go mod and Buildkite dockerfile by @shijiesheng in https://github.com/uber/cadence/pull/4889
- add mockery to go generate by @shijiesheng in https://github.com/uber/cadence/pull/4887
- Minor makefile cleanup, verbose CI, fmt with a recent Go version by @Groxx in https://github.com/uber/cadence/pull/4896
- Separating tools dependencies from main dependencies by @Groxx in https://github.com/uber/cadence/pull/4895
- [codegen] introduce gowrap for generating retryableClient by @shijiesheng in https://github.com/uber/cadence/pull/4879
- reduce MatchingActivityTaskSyncMatchWaitTime default value by @mkolodezny in https://github.com/uber/cadence/pull/4897
- Add JitterDelay option when creating workflows. by @ZackLK in https://github.com/uber/cadence/pull/4886
- Add new es record for uninitialized workflow by @neil-xie in https://github.com/uber/cadence/pull/4899
- Capture CassandraLWT error and log/bump metrics for it. by @ZackLK in https://github.com/uber/cadence/pull/4888
- Add new CI step for lint validation by @shijiesheng in https://github.com/uber/cadence/pull/4903
- Fix flaky retrypolicy tests. by @ZackLK in https://github.com/uber/cadence/pull/4905
- Update EnableRecordWorkflowExecutionUninitialized flag to filter by domain name by @neil-xie in https://github.com/uber/cadence/pull/4904
- count local and server optimized activity dispatches as started by @mkolodezny in https://github.com/uber/cadence/pull/4901
- Standardizing cancellation behavior: a canceled workflow never starts a new run by @Groxx in https://github.com/uber/cadence/pull/4898
- Start fixing server lint warnings by @ZackLK in https://github.com/uber/cadence/pull/4909
- Addition of DomainTag to required functions for the creation of metrics required for Domain Cost Attribution by @abhishekj720 in https://github.com/uber/cadence/pull/4908
- Fix remaining server lint warnings and make lint error by default. by @ZackLK in https://github.com/uber/cadence/pull/4911
- Replace unsafe usage of recover() in helper functions by @ZackLK in https://github.com/uber/cadence/pull/4913
- Update revive to catch more defer/recover badness by @ZackLK in https://github.com/uber/cadence/pull/4917
- downgrade testify to fix monorepo by @allenchen2244 in https://github.com/uber/cadence/pull/4918
- Fix query workflow high latency after a long inactive time by @Shaddoll in https://github.com/uber/cadence/pull/4871
- CDNC-1781 Add restart command/api by @allenchen2244 in https://github.com/uber/cadence/pull/4900
- Adding DomainTag to the Persistence metrics client by @abhishekj720 in https://github.com/uber/cadence/pull/4922
- Adding DomainTag to the ForkHistoryBranch, ReadRawHistoryBranch and ReadHistoryBranchByBatch by @abhishekj720 in https://github.com/uber/cadence/pull/4926
- Changed DeleteHistoryBranch and GetHistoryTree by adding Domain Tag with mocks by @abhishekj720 in https://github.com/uber/cadence/pull/4928
- Improve decode_thrift output by @Groxx in https://github.com/uber/cadence/pull/4929
- Fix flaky QueryWorkflow tests by @Shaddoll in https://github.com/uber/cadence/pull/4932
- Added DomainTag changes to ReadHistory branch for readHistoryRequest, CreateWorkflowRequest + added DomainCacheNoOp file by @abhishekj720 in https://github.com/uber/cadence/pull/4930
- Add List*Execution (ElasticSearch) API ratelimiters by @Groxx in https://github.com/uber/cadence/pull/4925
- Refactor task ack manager by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4894
- Bugfix/improve logging replication message by @davidporter-id-au in https://github.com/uber/cadence/pull/4931
- Add funcorder linter by @shijiesheng in https://github.com/uber/cadence/pull/4939
- Added changes to GetWorkflowExecution and UpdateWorkflowExecution by @abhishekj720 in https://github.com/uber/cadence/pull/4938
- adding reason to cancel workflow. by @mindaugasbarcauskas in https://github.com/uber/cadence/pull/4934
- Added changes to ConflictWorkflowExecution and DeleteWorkflowExecution by @abhishekj720 in https://github.com/uber/cadence/pull/4943
- Added changes to DeleteCurrentWorkflowExecution and GetCurrentExecution by @abhishekj720 in https://github.com/uber/cadence/pull/4944
- Added changes to PutReplicationTaskToDLQ and IsWorkflowExecutionExists by @abhishekj720 in https://github.com/uber/cadence/pull/4946
- Added changes to GetTask and CreateTask by @abhishekj720 in https://github.com/uber/cadence/pull/4947
- Helpers for getting enabled and remote cluster info by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4951
- Partial response of GetReplicationMessages on history service by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4935
- Added domain Tag to UpdateTaskList,DeleteTaskList,LeaseTaskList,CompleteTask and CompleteTaskLessThan by @abhishekj720 in https://github.com/uber/cadence/pull/4950
- fix funcorder linter by @shijiesheng in https://github.com/uber/cadence/pull/4942
- Simplify history engine task read ID logic by @Shaddoll in https://github.com/uber/cadence/pull/4949
- Added Domain Tag to archival client by @abhishekj720 in https://github.com/uber/cadence/pull/4958
- Simplify shard write operations by @Shaddoll in https://github.com/uber/cadence/pull/4955
- Upgrade Golang base images to remediate CVEs by @sonpham96 in https://github.com/uber/cadence/pull/4957
- Fixing test. by @mindaugasbarcauskas in https://github.com/uber/cadence/pull/4941
- Improve log for transfer task validator by @Shaddoll in https://github.com/uber/cadence/pull/4961
- Added domainName change to remaining functions of appendHistoryNodeRequest and RecordWorkflowExecutionUninitializedRequest by @abhishekj720 in https://github.com/uber/cadence/pull/4968
- Adding limit for amount of pending activties in mutable state. by @mindaugasbarcauskas in https://github.com/uber/cadence/pull/4959
- Add logs to debug transfer task by @Shaddoll in https://github.com/uber/cadence/pull/4970
- Replication cache for sharing hydrated messages by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4952
- Added changes to readHistoryBranchRequest by @abhishekj720 in https://github.com/uber/cadence/pull/4972
- Return persisted history events blob by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4953
- Adding first scheduled time metadata field for cron workflows. by @mindaugasbarcauskas in https://github.com/uber/cadence/pull/4969
- Addition of domain tag for Replication task metric by @abhishekj720 in https://github.com/uber/cadence/pull/4974
- Addition of domainName tag to Replication task by @abhishekj720 in https://github.com/uber/cadence/pull/4975
- Fix docker build. by @ZackLK in https://github.com/uber/cadence/pull/4977
- Run docker build on commits, to prevent docker build from breaking in the future by @ZackLK in https://github.com/uber/cadence/pull/4978
- Add update time to ES visibility requests and records by @neil-xie in https://github.com/uber/cadence/pull/4962
- Reduce metrics cardinality replication.TaskStore by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4981
- Add Metric Emitter, which right now emits a metric once a minute for true replication lag in nanoseconds. by @ZackLK in https://github.com/uber/cadence/pull/4979
- Allow docker compose to work with docker-compose-mysql.yml on M1 by @ZackLK in https://github.com/uber/cadence/pull/4983
- Return early when there are no replication tasks by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4982
- Update Cassandra deletes to use ALL consistency level by @Shaddoll in https://github.com/uber/cadence/pull/4984
- Added logs for domainName empty situation by @abhishekj720 in https://github.com/uber/cadence/pull/4987
- Make test should pass locally by @ZackLK in https://github.com/uber/cadence/pull/4915
- Immediate replication task hydration after successful transaction by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4980
- Improve logs for task executor by @Shaddoll in https://github.com/uber/cadence/pull/4989
- Add domain_type and cluster_groups tags by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4990
- Add support of update time for Cassandra, Mysql and Postgres by @neil-xie in https://github.com/uber/cadence/pull/4971
- Convert client peer resolving errors to service transient errors by @Shaddoll in https://github.com/uber/cadence/pull/4993
- Update idls by @Shaddoll in https://github.com/uber/cadence/pull/4997
- Revert "Fix error conversion for WorkflowExecutionAlreadyStartedError (#4838)" by @Shaddoll in https://github.com/uber/cadence/pull/4999
- Fix history corruption check for workflow signaling by @Shaddoll in https://github.com/uber/cadence/pull/4998
- Introduce a dynamic config for cassandra all consistency level delete by @Shaddoll in https://github.com/uber/cadence/pull/5000
- Adds fix for domain ack level issue by @davidporter-id-au in https://github.com/uber/cadence/pull/5001
- Drop dynamic config for gRPC message size by @vytautas-karpavicius in https://github.com/uber/cadence/pull/5002
- Fix Cadence CLI by @Shaddoll in https://github.com/uber/cadence/pull/5005
- Re-enable workflow test by @Shaddoll in https://github.com/uber/cadence/pull/5007
- Add new unit test by @Shaddoll in https://github.com/uber/cadence/pull/5008
- Introduce per domain metrics by @Shaddoll in https://github.com/uber/cadence/pull/5012
- Fix ndc flush buffered events by @Shaddoll in https://github.com/uber/cadence/pull/5009
- Reformatting most things for go 1.19, rebuilding go.mod tools after clean, warning about different go versions by @Groxx in https://github.com/uber/cadence/pull/5019
- Emitting version metrics also adding a githook that runs a script the automatically updates the version unless the user manually skips by @allenchen2244 in https://github.com/uber/cadence/pull/4994
- Enhance workflowDeletionTaskJitterRange to handle deletes piling up when many workflows have finished at the same time. by @ZackLK in https://github.com/uber/cadence/pull/5020
- Feature/min initial failover version by @davidporter-id-au in https://github.com/uber/cadence/pull/5015
- Fix Makefile OpenSearch rule name in CONTRIBUTING.md install guide, Fix OpenSearch version in dev Docker config by @charlese-instaclustr in https://github.com/uber/cadence/pull/5004
- Decouple StateBuilder from TaskGenerator by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4991
- Removing unused code by @vytautas-karpavicius in https://github.com/uber/cadence/pull/5024
- Use internal IndexedValueType by @Shaddoll in https://github.com/uber/cadence/pull/5016
- Fix workflow cancellation by @Shaddoll in https://github.com/uber/cadence/pull/5025
- Add UpdateTime to uninitialized workflow execution record and update logic to set the update time by @neil-xie in https://github.com/uber/cadence/pull/5014
- Update DSL query to allow filtering by missing start time by @neil-xie in https://github.com/uber/cadence/pull/5017
- Revert version to simple hardcode to match release branch. Auto update moved to closed source by @allenchen2244 in https://github.com/uber/cadence/pull/5026
- test: use
T.TempDir
to create temporary test directory by @Juneezee in https://github.com/uber/cadence/pull/5013 - Enable workflow corruption check for Describe and Query API by @Shaddoll in https://github.com/uber/cadence/pull/5028
- Remove unused watchdog signal by @demirkayaender in https://github.com/uber/cadence/pull/5029
- Add TLS ServerName as CLI option for Cadence Cassandra Tool by @sonpham96 in https://github.com/uber/cadence/pull/5011
- Add FirstExecutionRunID to mutable state by @Shaddoll in https://github.com/uber/cadence/pull/5031
- Update parent close policy to terminate/cancel child workflows even after continue as new by @Shaddoll in https://github.com/uber/cadence/pull/5032
- Add cli tls support by @charlese-instaclustr in https://github.com/uber/cadence/pull/5027
- Improve Cassandra errors for schema check by @mantas-sidlauskas in https://github.com/uber/cadence/pull/5038
- Fix SignalWithStartWorkflow by @Shaddoll in https://github.com/uber/cadence/pull/5036
- Embed schema files by @Shaddoll in https://github.com/uber/cadence/pull/5040
- Fix error message by @ZackLK in https://github.com/uber/cadence/pull/5045
- Embed elasticsearch index templates by @Shaddoll in https://github.com/uber/cadence/pull/5043
- Making a schema tooling concrete -> interface by @davidporter-id-au in https://github.com/uber/cadence/pull/5046
- Improve logs for transfer task validator by @Shaddoll in https://github.com/uber/cadence/pull/5044
- Exposing the ability to pull CQL changesets by @davidporter-id-au in https://github.com/uber/cadence/pull/5047
- Corrects interface by @davidporter-id-au in https://github.com/uber/cadence/pull/5049
- Third attempt to finish exposing all of interface by @davidporter-id-au in https://github.com/uber/cadence/pull/5050
- Optimize SQL layer supporting batch delete by @Shaddoll in https://github.com/uber/cadence/pull/5053
- Make replication log error message better by @davidporter-id-au in https://github.com/uber/cadence/pull/5052
- Fix ES embedding by @Shaddoll in https://github.com/uber/cadence/pull/5056
- Exposes schema task by @davidporter-id-au in https://github.com/uber/cadence/pull/5051
- Wf version metrics by @allenchen2244 in https://github.com/uber/cadence/pull/5041
- Search attribute validation toggling by @charlese-instaclustr in https://github.com/uber/cadence/pull/5033
- Do not return not exists error in history pagination function by @Shaddoll in https://github.com/uber/cadence/pull/5054
- Delete uninitialized workflow execution record if workflow failed to start by @neil-xie in https://github.com/uber/cadence/pull/5059
- Fix make install-schema-es-v6 and install-schema-es-v7 by @neil-xie in https://github.com/uber/cadence/pull/5063
- change to emit wf version by @allenchen2244 in https://github.com/uber/cadence/pull/5066
- Update dependencies by @mindaugasbarcauskas in https://github.com/uber/cadence/pull/5065
- Add domain tag to unregistered field error by @neil-xie in https://github.com/uber/cadence/pull/5070
- Fix docker image builds with an actually-reliable dependency skip by @Groxx in https://github.com/uber/cadence/pull/5071
- Hotfix a replication panic causing crashes by @davidporter-id-au in https://github.com/uber/cadence/pull/5074
- Fix resurrection check for timer and activity by @Shaddoll in https://github.com/uber/cadence/pull/5077
- Add min_event_id,max_event_id flags to admin workflow show by @Shaddoll in https://github.com/uber/cadence/pull/5083
- UpdateWorkflow ShardId based metrics by @allenchen2244 in https://github.com/uber/cadence/pull/5080
- Emit workflow counts per workflow type metrics by @neil-xie in https://github.com/uber/cadence/pull/5082
- Update CLI to support decoding HistoryBranch by @Shaddoll in https://github.com/uber/cadence/pull/5069
- Add iWF link in README by @longquanzheng in https://github.com/uber/cadence/pull/5084
- Small refactoring of taskListManger by @Shaddoll in https://github.com/uber/cadence/pull/5091
- Small refactoring of task writer by @Shaddoll in https://github.com/uber/cadence/pull/5092
- CDNC-2088 by @bowenxia in https://github.com/uber/cadence/pull/5094
- Small refactoring of taskReader by @Shaddoll in https://github.com/uber/cadence/pull/5095
- Unload taskListManager by instance, not taskListID by @Shaddoll in https://github.com/uber/cadence/pull/5101
- Resolve an infinite loop around impossible cron schedules by @Groxx in https://github.com/uber/cadence/pull/5097
- Use zap logger when initialising dynamic config by @mantas-sidlauskas in https://github.com/uber/cadence/pull/5081
- Create a helper function to handle ConditionFailedError by @Shaddoll in https://github.com/uber/cadence/pull/5102
- shard id to visiblity by @allenchen2244 in https://github.com/uber/cadence/pull/5099
- Config store CLI: make value required when updating by @mantas-sidlauskas in https://github.com/uber/cadence/pull/5089
- Remove
maxQPS
from sql plugin documentation by @mantas-sidlauskas in https://github.com/uber/cadence/pull/5107 - Separate liveness of task list into a dedicated entity by @Shaddoll in https://github.com/uber/cadence/pull/5105
- add 3 tags to support adding logs for every manual access by @bowenxia in https://github.com/uber/cadence/pull/5112
- Revert "CDNC-2088 (#5094) Add attempt-count to task processing logs" by @bowenxia in https://github.com/uber/cadence/pull/5115
- CLI: print all available dynamic config keys by @mantas-sidlauskas in https://github.com/uber/cadence/pull/5090
- Flexible / sane header forwarding by @Groxx in https://github.com/uber/cadence/pull/5103
- Add sample log and dynamic config for updateworkflowexecution hot shard detection by @allenchen2244 in https://github.com/uber/cadence/pull/5120
- Add attempt-count to task processing logs, and update unit test so that it will cover deadlock by @bowenxia in https://github.com/uber/cadence/pull/5122
- Visiblity shard id to open source stuff by @allenchen2244 in https://github.com/uber/cadence/pull/5123
- add metrics for delete workflow execution on a shard level by @allenchen2244 in https://github.com/uber/cadence/pull/5126
- Remove circular dependencies between matching components by @Shaddoll in https://github.com/uber/cadence/pull/5111
- Indexer: refactor ES processor by @mantas-sidlauskas in https://github.com/uber/cadence/pull/5100
- create RequestBody struct, implement it using requests, add requestbody into Attribute for auditing by @bowenxia in https://github.com/uber/cadence/pull/5124
- move sample logger into persistence metric client for cleaness by @allenchen2244 in https://github.com/uber/cadence/pull/5129
- add overall persistence count for shardid by @allenchen2244 in https://github.com/uber/cadence/pull/5134
- Fix InsertTasks query for Cassandra by @Shaddoll in https://github.com/uber/cadence/pull/5119
- Scanner to purge deprecated domain workflows by @agautam478 in https://github.com/uber/cadence/pull/5125
- Fix prometheus frontend label inconsistencies by @charlese-instaclustr in https://github.com/uber/cadence/pull/5087
- [history] add domain status check in taskfilter by @shijiesheng in https://github.com/uber/cadence/pull/5140
- Revert "create RequestBody struct, implement it using requests, add r… by @bowenxia in https://github.com/uber/cadence/pull/5145
- ES: do not set _type when using Bulk API for v7 client by @mantas-sidlauskas in https://github.com/uber/cadence/pull/5104
- Added usage for InactiveDomain Invariant by @agautam478 in https://github.com/uber/cadence/pull/5144
- Update README.md by @MrBoss276 in https://github.com/uber/cadence/pull/5064
- Adding request body into Attributes for auditing purpose with PII fields are filtered by @bowenxia in https://github.com/uber/cadence/pull/5151
- add remaining persistence stuff that goes to a shard by @allenchen2244 in https://github.com/uber/cadence/pull/5142
- Consistent query pershard metric by @ketsiambaku in https://github.com/uber/cadence/pull/5143
- added logging with workflow/domain tags by @ketsiambaku in https://github.com/uber/cadence/pull/5159
- ES: single interface for different ES/OpenSearch versions by @mantas-sidlauskas in https://github.com/uber/cadence/pull/5158
- Add ShardID to valid attributes by @mantas-sidlauskas in https://github.com/uber/cadence/pull/5161
- fix samples documentation by @bowenxia in https://github.com/uber/cadence/pull/5088
- Elasticsearch: reduce code duplication by @mantas-sidlauskas in https://github.com/uber/cadence/pull/5137
- Set poll interval for filebased dynamic config if not set by @mantas-sidlauskas in https://github.com/uber/cadence/pull/5160
- Add Pinot docker files, table config and schema by @neil-xie in https://github.com/uber/cadence/pull/5163
- [history] more cautious in deciding domain state to make decisions on… by @shijiesheng in https://github.com/uber/cadence/pull/5164
- Add Canary TLS support by @charlese-instaclustr in https://github.com/uber/cadence/pull/5086
- Fix type validation in configstore DC client value updating by @charlese-instaclustr in https://github.com/uber/cadence/pull/5110
- Upgrade Golang base image to 1.18 to remediate CVEs by @sonpham96 in https://github.com/uber/cadence/pull/5035
- Adds a small test to catch issues with deadlocks by @davidporter-id-au in https://github.com/uber/cadence/pull/5171
- fix build by @davidporter-id-au in https://github.com/uber/cadence/pull/5180
- large workflow hot shard detection by @allenchen2244 in https://github.com/uber/cadence/pull/5166
- Refactor matching integration test by @Shaddoll in https://github.com/uber/cadence/pull/5182
- Merge Activity and Decision matching tests by @Shaddoll in https://github.com/uber/cadence/pull/5186
- Add thin ES clients by @mantas-sidlauskas in https://github.com/uber/cadence/pull/5162
- Update idls version by @neil-xie in https://github.com/uber/cadence/pull/5200
- Allow registering search attributes without Advance Visibility enabled by @lancezhao-ins in https://github.com/uber/cadence/pull/5185
- Corrects the config-store handling for not-found errors by @davidporter-id-au in https://github.com/uber/cadence/pull/5203
- Fix consistent query metric by @ketsiambaku in https://github.com/uber/cadence/pull/5170
- Fixed the nil pointer issues in the InactiveDomain Invariant by @agautam478 in https://github.com/uber/cadence/pull/5213
- Add generic ES query building utilities by @mantas-sidlauskas in https://github.com/uber/cadence/pull/5168
- Physical sharding for NoSQL-based persistence by @emrahs in https://github.com/uber/cadence/pull/5187
- Add tasklist traffic metrics for non-sticky and non-forwarded tasklists by @timl3136 in https://github.com/uber/cadence/pull/5218
- Fixed traffic metrics emit condition by @timl3136 in https://github.com/uber/cadence/pull/5235
- Switch to thin, versioned ES clients by @mantas-sidlauskas in https://github.com/uber/cadence/pull/5217
- Scaffold config store for SQL by @Shaddoll in https://github.com/uber/cadence/pull/5239
- Fix docker by @davidporter-id-au in https://github.com/uber/cadence/pull/5244
- Add default value for shard_id and update_time in mysql by @neil-xie in https://github.com/uber/cadence/pull/5246
- Bench: possibility to pass frontend address using env by @mantas-sidlauskas in https://github.com/uber/cadence/pull/5113
- Insert Hostname tag into metrics and other services by @timl3136 in https://github.com/uber/cadence/pull/5245
- Remove tcheck dependency by @mantas-sidlauskas in https://github.com/uber/cadence/pull/5247
- Pull updates from idl repo by @Shaddoll in https://github.com/uber/cadence/pull/5251
- Update internal type to adopt idl change by @Shaddoll in https://github.com/uber/cadence/pull/5253
- Update persistence layer to adopt idl update for isolation by @Shaddoll in https://github.com/uber/cadence/pull/5254
- [CDNC-1873] Domain name validation by @ketsiambaku in https://github.com/uber/cadence/pull/5250
- Update history to persist partition config by @Shaddoll in https://github.com/uber/cadence/pull/5257
- Upgrades IDL to include isolation-groups by @davidporter-id-au in https://github.com/uber/cadence/pull/5258
- Adds isolation-group types by @davidporter-id-au in https://github.com/uber/cadence/pull/5260
- Adds Dynamic-config type by @davidporter-id-au in https://github.com/uber/cadence/pull/5261
- Fix thrift mapper for DomainConfiguration by @Shaddoll in https://github.com/uber/cadence/pull/5268
- Make ESClient fields public to use them in monorepo by @neil-xie in https://github.com/uber/cadence/pull/5269
- Adds isolation groups to persistence by @davidporter-id-au in https://github.com/uber/cadence/pull/5270
- Add helper function to store/retrieve partition config from context by @Shaddoll in https://github.com/uber/cadence/pull/5271
- Fix panic while parsing workflows with timeouts by @dkrotx in https://github.com/uber/cadence/pull/5267
- Adding domain handler changes by @davidporter-id-au in https://github.com/uber/cadence/pull/5274
- Adds isolation-group and partition libraries by @davidporter-id-au in https://github.com/uber/cadence/pull/5262
- remove unneeded file by @davidporter-id-au in https://github.com/uber/cadence/pull/5276
- Adds resource implmentation by @davidporter-id-au in https://github.com/uber/cadence/pull/5278
- Add default value for shard_id and update_time in postgres by @neil-xie in https://github.com/uber/cadence/pull/5259
- Update frontend to adopt draining isolation groups by @Shaddoll in https://github.com/uber/cadence/pull/5281
- Update matching to support tasklist isolation by @Shaddoll in https://github.com/uber/cadence/pull/5280
- Adds Admin API for zonal-isolation drain commands by @davidporter-id-au in https://github.com/uber/cadence/pull/5282
- Adds cli operations for the zonal-isolation drains by @davidporter-id-au in https://github.com/uber/cadence/pull/5283
- 1.1.0 Version bump by @davidporter-id-au in https://github.com/uber/cadence/pull/5284
- Fixing rendering for isolation-groups in the CLI by @davidporter-id-au in https://github.com/uber/cadence/pull/5285
- add more logs around unsupported version for consistent query by @allenchen2244 in https://github.com/uber/cadence/pull/5287
- Docker: add datasource and dashboards to Grafana by @mantas-sidlauskas in https://github.com/uber/cadence/pull/5207
- Add metric for isolation task matching by @Shaddoll in https://github.com/uber/cadence/pull/5288
- Improvements on tasklist isolation by @Shaddoll in https://github.com/uber/cadence/pull/5291
- Update ClusterNameForFailoverVersion to return error by @Shaddoll in https://github.com/uber/cadence/pull/5293
- Task processing panic handling by @davidporter-id-au in https://github.com/uber/cadence/pull/5294
- [#4572] Removed unused metric name by @ketsiambaku in https://github.com/uber/cadence/pull/5292
- Add local build instructions to Readme by @gazi-yestemirova in https://github.com/uber/cadence/pull/5299
- Show error message if requesting workflow does not exist by @gazi-yestemirova in https://github.com/uber/cadence/pull/5300
- Parse JWT flags when creating a context by @mantas-sidlauskas in https://github.com/uber/cadence/pull/5296
- Set ReplicatorCacheCapacity to 0 by @mantas-sidlauskas in https://github.com/uber/cadence/pull/5301
- Show explicit message if command is not found by @gazi-yestemirova in https://github.com/uber/cadence/pull/5298
- Add examples for reset-batch and batch commands in help usage section by @gazi-yestemirova in https://github.com/uber/cadence/pull/5302
- Feature/isolation group library logging improvements by @davidporter-id-au in https://github.com/uber/cadence/pull/5295
- Adds some more coverage by @davidporter-id-au in https://github.com/uber/cadence/pull/5304
- IDL update to include new field in PendingActivityInfo by @ketsiambaku in https://github.com/uber/cadence/pull/5306
- Minor fixes for isolation by @Shaddoll in https://github.com/uber/cadence/pull/5308
- Fix SearchAfter usage by @mantas-sidlauskas in https://github.com/uber/cadence/pull/5311
- Increase number of forward tokens for isolation tasklists by @Shaddoll in https://github.com/uber/cadence/pull/5310
- Separate poller token pools for tasklists with isolation by @Shaddoll in https://github.com/uber/cadence/pull/5314
- [CDNC-4360] Record current worker Identity on Pending activity tasks by @ketsiambaku in https://github.com/uber/cadence/pull/5307
- Disable isolation for sticky tasklist by @Shaddoll in https://github.com/uber/cadence/pull/5319
- Change default value of AsyncTaskDispatchTimeout by @Shaddoll in https://github.com/uber/cadence/pull/5320
- Bugfix/isolation groups domain drains by @davidporter-id-au in https://github.com/uber/cadence/pull/5315
- Support invoking RPC using HTTP and JSON by @mantas-sidlauskas in https://github.com/uber/cadence/pull/5305
- Set 12.4 version for postgres image by @mantas-sidlauskas in https://github.com/uber/cadence/pull/5326
- [CDNC-3578] Worklfow start metric by @ketsiambaku in https://github.com/uber/cadence/pull/5289
- Extract EventColorFunction from ColorEvent by @mantas-sidlauskas in https://github.com/uber/cadence/pull/5321
- Show total number workflows while waiting for the listall command to … by @gazi-yestemirova in https://github.com/uber/cadence/pull/5309
- Update consistency level for cassandra visibility by @Shaddoll in https://github.com/uber/cadence/pull/5330
- [CDNC-4831] Added option to pass consistency level in the cassandra schema versio… by @agautam478 in https://github.com/uber/cadence/pull/5327
- guardrail to ensure scalable tasklist's number of write partitions will never exceed read by @manasaling in https://github.com/uber/cadence/pull/5331
- Create TTL in the UpdateWorkflowExecution cycles. by @agautam478 in https://github.com/uber/cadence/pull/5243
- Updates to partition config middleware by @Shaddoll in https://github.com/uber/cadence/pull/5334
- Add Opensearch2 client with bulk API shared between clients by @mantas-sidlauskas in https://github.com/uber/cadence/pull/5241
- Allow to configure HTTP settings using template by @mantas-sidlauskas in https://github.com/uber/cadence/pull/5329
- CDNC-3181 Cleanup the unused watchdog code by @agautam478 in https://github.com/uber/cadence/pull/5096
- Upgrade yarpc to v1.70.3 by @mantas-sidlauskas in https://github.com/uber/cadence/pull/5341
- upgrade mysql by @bowenxia in https://github.com/uber/cadence/pull/5345
- [dynamic config] add Filters method to dynamic config Key by @shijiesheng in https://github.com/uber/cadence/pull/5346
- Fix garbage collection logic for matching tasks by @Shaddoll in https://github.com/uber/cadence/pull/5355
- change mysql schema folder v57 to v8 by @bowenxia in https://github.com/uber/cadence/pull/5356
- Made the TTLBufferDays configurable by @agautam478 in https://github.com/uber/cadence/pull/5354
- Remove duplicated line by @mantas-sidlauskas in https://github.com/uber/cadence/pull/5328
- [frontend] Fill IsCron for proto of WorkflowExecutionInfo by @3vilhamster in https://github.com/uber/cadence/pull/5366
- [frontend] update idls and ensure thrift fields roundtrip by @3vilhamster in https://github.com/uber/cadence/pull/5365
- Go version bump by @3vilhamster in https://github.com/uber/cadence/pull/5367
- Bump golang.org/x/crypto from 0.0.0-20220214200702-86341886e292 to 0.1.0 by @dependabot in https://github.com/uber/cadence/pull/5132
- Bump github.com/prometheus/client_golang from 1.4.1 to 1.11.1 by @dependabot in https://github.com/uber/cadence/pull/5098
- Bump golang.org/x/net from 0.0.0-20220617184016-355a448f1bc9 to 0.7.0 by @dependabot in https://github.com/uber/cadence/pull/5121
- Bump github.com/goreleaser/nfpm/v2 from 2.5.1 to 2.29.0 in /internal/tools by @dependabot in https://github.com/uber/cadence/pull/5370
- [CLI] add domain migration validator command by @manasaling in https://github.com/uber/cadence/pull/5369
- Improve async-matching performance for isolation by @davidporter-id-au in https://github.com/uber/cadence/pull/5363
- Update Dockerfile with a proper Go version and bump alpine version by @3vilhamster in https://github.com/uber/cadence/pull/5371
- Do not make poller crash if isolation group is invalid by @Shaddoll in https://github.com/uber/cadence/pull/5372
- StartWorkflowExecution: validate RequestID before calling history by @mantas-sidlauskas in https://github.com/uber/cadence/pull/5359
- Add docker-compose with http API enabled by @mantas-sidlauskas in https://github.com/uber/cadence/pull/5358
- Update list of available frontend HTTP endpoints by @mantas-sidlauskas in https://github.com/uber/cadence/pull/5338
- [CLI] fix a few things in domain migration command by @shijiesheng in https://github.com/uber/cadence/pull/5374
- Revert "Made the TTLBufferDays configurable" by @agautam478 in https://github.com/uber/cadence/pull/5379
- Revert "Create TTL in the UpdateWorkflowExecution cycles. (#5243)" by @agautam478 in https://github.com/uber/cadence/pull/5380
- Validate search-attribute-key so keys are fine in advanced search by @dkrotx in https://github.com/uber/cadence/pull/5340
- TLS for HTTP by @mantas-sidlauskas in https://github.com/uber/cadence/pull/5381
- Set a minimum timeout for async task dispatch based on rate limit by @Shaddoll in https://github.com/uber/cadence/pull/5382
- Release v1.2.1 by @shijiesheng in https://github.com/uber/cadence/pull/5384
New Contributors
- @adambabik made their first contribution in https://github.com/uber/cadence/pull/4022
- @git-hulk made their first contribution in https://github.com/uber/cadence/pull/4036
- @demirkayaender made their first contribution in https://github.com/uber/cadence/pull/4097
- @mistikel made their first contribution in https://github.com/uber/cadence/pull/4072
- @peaaceChoi made their first contribution in https://github.com/uber/cadence/pull/4084
- @Stratouklos made their first contribution in https://github.com/uber/cadence/pull/4125
- @kraney made their first contribution in https://github.com/uber/cadence/pull/4059
- @iamrodrigo made their first contribution in https://github.com/uber/cadence/pull/4142
- @calvinxiao made their first contribution in https://github.com/uber/cadence/pull/4260
- @aliue made their first contribution in https://github.com/uber/cadence/pull/4357
- @fenghan89 made their first contribution in https://github.com/uber/cadence/pull/4467
- @WToma made their first contribution in https://github.com/uber/cadence/pull/4548
- @agrimrules made their first contribution in https://github.com/uber/cadence/pull/4550
- @lindleywhite made their first contribution in https://github.com/uber/cadence/pull/4614
- @StarAurryon made their first contribution in https://github.com/uber/cadence/pull/4620
- @wenerme made their first contribution in https://github.com/uber/cadence/pull/4639
- @johndelcastillo made their first contribution in https://github.com/uber/cadence/pull/4676
- @pluswu made their first contribution in https://github.com/uber/cadence/pull/4744
- @duoertai made their first contribution in https://github.com/uber/cadence/pull/4828
- @ZackLK made their first contribution in https://github.com/uber/cadence/pull/4866
- @abhishekj720 made their first contribution in https://github.com/uber/cadence/pull/4908
- @mindaugasbarcauskas made their first contribution in https://github.com/uber/cadence/pull/4934
- @sonpham96 made their first contribution in https://github.com/uber/cadence/pull/4957
- @charlese-instaclustr made their first contribution in https://github.com/uber/cadence/pull/5004
- @Juneezee made their first contribution in https://github.com/uber/cadence/pull/5013
- @agautam478 made their first contribution in https://github.com/uber/cadence/pull/5125
- @MrBoss276 made their first contribution in https://github.com/uber/cadence/pull/5064
- @ketsiambaku made their first contribution in https://github.com/uber/cadence/pull/5143
- @lancezhao-ins made their first contribution in https://github.com/uber/cadence/pull/5185
- @dkrotx made their first contribution in https://github.com/uber/cadence/pull/5267
- @gazi-yestemirova made their first contribution in https://github.com/uber/cadence/pull/5299
- @3vilhamster made their first contribution in https://github.com/uber/cadence/pull/5366
- @dependabot made their first contribution in https://github.com/uber/cadence/pull/5132
Full Changelog: https://github.com/uber/cadence/compare/v1.0.0...v1.2.1
Release v1.2.3 (Retracted, please use v1.2.4) published by Shaddoll on 9/15/2023
Added
Expose workflow history size and count to client by @timl3136 (#5392)
Fixed
[cadence-cli] fix typo in input flag for parallelism by @sankari165 (#5397)
Changed
Update config store client to support SQL database by @Shaddoll (#5395) Scaffold config store for sql plugins by @Shaddoll (#5396) Improve poller detection for isolation by @Shaddoll (#5399)
Release v1.0.0 published by Groxx on 4/26/2023
We are v1.0! (with a schema upgrade)
What does this mean?!
Not much. Primarily that we are declaring "it's stable and in use" more visibly, because we continually get questions about this :) A larger public announcement / state-of-the-project is in the works.
Importantly, v1.0 does not imply any change to backwards compatibility (the minimum supported client version has not changed), RPC compatibility (ditto, all changes are backwards compatible), or Go API compatibility (this is not truly a library, Go compatibility is not a goal).
Going by previous version patterns, this would have been labeled v0.26.0 as it is a relatively incremental change (plus schema changes) from v0.25.0. As such, some strings still reference "0.26", because this older SHA is the one we have been using the most internally.
These strings will be updated and validated soon, and will likely be released as v1.0.1. This should have no behavioral impact at all, but will be visible in metrics, logs, and display strings.
What do I need to do to upgrade?
Schema upgrades needed
There have been schema changes to both normal and visibility datastores, primarily to provide better data for cleanup and hot-shard detection:
- Update-time additions by @neil-xie in https://github.com/uber/cadence/pull/4962 and https://github.com/uber/cadence/pull/4971
- Add FirstExecutionRunID to mutable state by @Shaddoll in https://github.com/uber/cadence/pull/5031
- Shard ID visibility additions by @allenchen2244 in https://github.com/uber/cadence/pull/5099 and https://github.com/uber/cadence/pull/5123
These were intentionally kept out of v0.25.0 to keep that upgrade simple, as they were not fully utilized yet.
Replication cache recommendation
We have internally disabled the replication cache (history.replicatorCacheCapacity
dynamic config set to 0
), due to unexpectedly large memory use under abnormal load, and you may wish to do so as well.
We did not encounter any misbehavior, and it did reduce database load as intended, but we intend to make some changes to it to estimate and constrain memory use before re-enabling.
What has changed?
At a very high level, we've been focused on:
- Internal scaling challenges, both improving bottlenecks and improving our ability to accurately identify bottlenecks
- Many metrics, logs, and refactors are at least somewhat related to this
- Our multi-cluster support is improved in particular, as we have been connecting clusters and moving many domains to spread load more evenly
- Database corruptions, as our Cassandra clusters have had some problems that cause issues for months
- Many logs, scanner, and stale-task changes are related to this, e.g. to detect and remove invalid data
- Scaling up the team
- More changes to come!
Some loosely categorized PRs that were included follows:
Critical bugfixes (resolving issues in v0.25.0)
- Fix ndc flush buffered events by @Shaddoll in https://github.com/uber/cadence/pull/5009
- Hotfix a replication panic causing crashes by @davidporter-id-au in https://github.com/uber/cadence/pull/5074
- Resolve an infinite loop around impossible cron schedules by @Groxx in https://github.com/uber/cadence/pull/5097
Parent-close-policies apply to child workflows even after they reset/continue-as-new/etc
- Update parent close policy to terminate/cancel child workflows even after continue as new by @Shaddoll in https://github.com/uber/cadence/pull/5032
- This requires new stored data, so it does not apply to child workflows started before this version.
Better config introspection
- Config store CLI: make value required when updating by @mantas-sidlauskas in https://github.com/uber/cadence/pull/5089
- CLI: print all available dynamic config keys by @mantas-sidlauskas in https://github.com/uber/cadence/pull/5090
Schemas are now available via the go module, as go:embed files
- Embed schema files by @Shaddoll in https://github.com/uber/cadence/pull/5040
- Embed elasticsearch index templates by @Shaddoll in https://github.com/uber/cadence/pull/5043
- Fix ES embedding by @Shaddoll in https://github.com/uber/cadence/pull/5056
Enhancing existing metrics and logging (and more included in other PRs)
- Reduce metrics cardinality replication.TaskStore by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4981
- Add Metric Emitter, which right now emits a metric once a minute for true replication lag in nanoseconds. by @ZackLK in https://github.com/uber/cadence/pull/4979
- Added logs for domainName empty situation by @abhishekj720 in https://github.com/uber/cadence/pull/4987
- Improve logs for task executor by @Shaddoll in https://github.com/uber/cadence/pull/4989
- Add domain_type and cluster_groups tags by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4990
- Introduce per domain metrics by @Shaddoll in https://github.com/uber/cadence/pull/5012
- Improve logs for transfer task validator by @Shaddoll in https://github.com/uber/cadence/pull/5044
- Make replication log error message better by @davidporter-id-au in https://github.com/uber/cadence/pull/5052
- Wf version metrics by @allenchen2244 in https://github.com/uber/cadence/pull/5041
- Add domain tag to unregistered field error by @neil-xie in https://github.com/uber/cadence/pull/5070
- UpdateWorkflow ShardId based metrics by @allenchen2244 in https://github.com/uber/cadence/pull/5080
- Emit workflow counts per workflow type metrics by @neil-xie in https://github.com/uber/cadence/pull/5082
- Use zap logger when initialising dynamic config by @mantas-sidlauskas in https://github.com/uber/cadence/pull/5081
- add 3 tags to support adding logs for every manual access by @bowenxia in https://github.com/uber/cadence/pull/5112
- Add sample log and dynamic config for updateworkflowexecution hot shard detection by @allenchen2244 in https://github.com/uber/cadence/pull/5120
- Add attempt-count to task processing logs, and update unit test so that it will cover deadlock by @bowenxia in https://github.com/uber/cadence/pull/5122
Misc
- Allow docker compose to work with docker-compose-mysql.yml on M1 by @ZackLK in https://github.com/uber/cadence/pull/4983
- Return early when there are no replication tasks by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4982
- Update Cassandra deletes to use ALL consistency level by @Shaddoll in https://github.com/uber/cadence/pull/4984
- Make test should pass locally by @ZackLK in https://github.com/uber/cadence/pull/4915
- Immediate replication task hydration after successful transaction by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4980
- Convert client peer resolving errors to service transient errors by @Shaddoll in https://github.com/uber/cadence/pull/4993
- Update idls by @Shaddoll in https://github.com/uber/cadence/pull/4997
- Fix history corruption check for workflow signaling by @Shaddoll in https://github.com/uber/cadence/pull/4998
- Introduce a dynamic config for cassandra all consistency level delete by @Shaddoll in https://github.com/uber/cadence/pull/5000
- Adds fix for domain ack level issue by @davidporter-id-au in https://github.com/uber/cadence/pull/5001
- Drop dynamic config for gRPC message size by @vytautas-karpavicius in https://github.com/uber/cadence/pull/5002
- Fix Cadence CLI by @Shaddoll in https://github.com/uber/cadence/pull/5005
- Re-enable workflow test by @Shaddoll in https://github.com/uber/cadence/pull/5007
- Add new unit test by @Shaddoll in https://github.com/uber/cadence/pull/5008
- Reformatting most things for go 1.19, rebuilding go.mod tools after clean, warning about different go versions by @Groxx in https://github.com/uber/cadence/pull/5019
- Enhance workflowDeletionTaskJitterRange to handle deletes piling up when many workflows have finished at the same time. by @ZackLK in https://github.com/uber/cadence/pull/5020
- Feature/min initial failover version by @davidporter-id-au in https://github.com/uber/cadence/pull/5015
- Fix Makefile OpenSearch rule name in CONTRIBUTING.md install guide, Fix OpenSearch version in dev Docker config by @charlese-instaclustr in https://github.com/uber/cadence/pull/5004
- Decouple StateBuilder from TaskGenerator by @vytautas-karpavicius in https://github.com/uber/cadence/pull/4991
- Removing unused code by @vytautas-karpavicius in https://github.com/uber/cadence/pull/5024
- Use internal IndexedValueType by @Shaddoll in https://github.com/uber/cadence/pull/5016
- Fix workflow cancellation by @Shaddoll in https://github.com/uber/cadence/pull/5025
- Add UpdateTime to uninitialized workflow execution record and update logic to set the update time by @neil-xie in https://github.com/uber/cadence/pull/5014
- Update DSL query to allow filtering by missing start time by @neil-xie in https://github.com/uber/cadence/pull/5017
- test: use
T.TempDir
to create temporary test directory by @Juneezee in https://github.com/uber/cadence/pull/5013 - Enable workflow corruption check for Describe and Query API by @Shaddoll in https://github.com/uber/cadence/pull/5028
- Remove unused watchdog signal by @demirkayaender in https://github.com/uber/cadence/pull/5029
- Add TLS ServerName as CLI option for Cadence Cassandra Tool by @sonpham96 in https://github.com/uber/cadence/pull/5011
- Add cli tls support by @charlese-instaclustr in https://github.com/uber/cadence/pull/5027
- Improve Cassandra errors for schema check by @mantas-sidlauskas in https://github.com/uber/cadence/pull/5038
- Fix SignalWithStartWorkflow by @Shaddoll in https://github.com/uber/cadence/pull/5036
- Fix error message by @ZackLK in https://github.com/uber/cadence/pull/5045
- Making a schema tooling concrete -> interface by @davidporter-id-au in https://github.com/uber/cadence/pull/5046
- Exposing the ability to pull CQL changesets by @davidporter-id-au in https://github.com/uber/cadence/pull/5047
- Corrects interface by @davidporter-id-au in https://github.com/uber/cadence/pull/5049
- Third attempt to finish exposing all of interface by @davidporter-id-au in https://github.com/uber/cadence/pull/5050
- Optimize SQL layer supporting batch delete by @Shaddoll in https://github.com/uber/cadence/pull/5053
- Exposes schema task by @davidporter-id-au in https://github.com/uber/cadence/pull/5051
- Search attribute validation toggling by @charlese-instaclustr in https://github.com/uber/cadence/pull/5033
- Do not return not exists error in history pagination function by @Shaddoll in https://github.com/uber/cadence/pull/5054
- Delete uninitialized workflow execution record if workflow failed to start by @neil-xie in https://github.com/uber/cadence/pull/5059
- Fix make install-schema-es-v6 and install-schema-es-v7 by @neil-xie in https://github.com/uber/cadence/pull/5063
- change to emit wf version by @allenchen2244 in https://github.com/uber/cadence/pull/5066
- Update dependencies by @mindaugasbarcauskas in https://github.com/uber/cadence/pull/5065
- Fix docker image builds with an actually-reliable dependency skip by @Groxx in https://github.com/uber/cadence/pull/5071
- Fix resurrection check for timer and activity by @Shaddoll in https://github.com/uber/cadence/pull/5077
- Add min_event_id,max_event_id flags to admin workflow show by @Shaddoll in https://github.com/uber/cadence/pull/5083
- Update CLI to support decoding HistoryBranch by @Shaddoll in https://github.com/uber/cadence/pull/5069
- Add iWF link in README by @longquanzheng in https://github.com/uber/cadence/pull/5084
- Small refactoring of taskListManger by @Shaddoll in https://github.com/uber/cadence/pull/5091
- Small refactoring of task writer by @Shaddoll in https://github.com/uber/cadence/pull/5092
- Small refactoring of taskReader by @Shaddoll in https://github.com/uber/cadence/pull/5095
- Unload taskListManager by instance, not taskListID by @Shaddoll in https://github.com/uber/cadence/pull/5101
- Create a helper function to handle ConditionFailedError by @Shaddoll in https://github.com/uber/cadence/pull/5102
- Remove
maxQPS
from sql plugin documentation by @mantas-sidlauskas in https://github.com/uber/cadence/pull/5107 - Separate liveness of task list into a dedicated entity by @Shaddoll in https://github.com/uber/cadence/pull/5105
- Flexible / sane header forwarding by @Groxx in https://github.com/uber/cadence/pull/5103
- [history] add domain status check in taskfilter by @shijiesheng in https://github.com/uber/cadence/pull/5140
- [history] more cautious in deciding domain state to make decisions on dropping queued tasks by @shijiesheng in https://github.com/uber/cadence/pull/5164
New Contributors
- @Juneezee made their first contribution in https://github.com/uber/cadence/pull/5013
Full Changelog: https://github.com/uber/cadence/compare/v0.25.0...v1.0.0
Release v0.25.0 published by Shaddoll on 1/31/2023
Important Notice: If you're experiencing OOM after deploying this version, please update this dynamic property to disable replication cache.
history.replicatorCacheCapacity:
- value: 0
Per-domain metrics
- 483a1492d Introduce per domain metrics (#5012)
- e87bd74da Added logs for domainName empty situation (#4987)
- c8783f0b3 Addition of domainName tag to Replication task (#4975)
- 88991f2ff Addition of domain tag for Replication task metric (#4974)
- e69dbd6a6 Added changes to readHistoryBranchRequest (#4972)
- 76a025a7a Added domainName change to remaining functions of appendHistoryNodeRequest and RecordWorkflowExecutionUninitializedRequest (#4968)
- 0f590423c Added changes to archival client (#4958)
- d1965b1ab Added domain Tag to UpdateTaskList,DeleteTaskList,LeaseTaskList,CompleteTask and CompleteTaskLessThan (#4950)
- 4c8013d76 Added changes to GetTask and CreateTask (#4947)
- e88a9c7ad Added changes to PutReplicationTaskToDLQ and IsWorkflowExecutionExists (#4946)
- b9b8b42b9 Added changes to DeleteCurrentWorkflowExecution and GetCurrentExecution (#4944)
- 8c5f2ffb4 Added changes to ConflictWorkflowExecution and DeleteWorkflowExecution (#4943)
- 13a130be7 Added changes to GetWorkflowExecution and UpdateWorkflowExecution (#4938)
- 2bb13a17d Added DomainTag changes to ReadHistory branch for readHistoryRequest, CreateWorkflowRequest + added DomainCacheNoOp file (#4930)
- c091a4960 Changed DeleteHistoryBranch and GetHistoryTree by adding Domain Tag with mocks (#4928)
- b34f4e4b9 Adding DomainTag to the ForkHistoryBranch, ReadRawHistoryBranch and ReadHistoryBranchByBatch (#4926)
- 6cf4252d4 Adding DomainTag to the Persistence metrics client (#4922)
- c3f7bd347 Addition of DomainTag to required functions for the creation of metrics required for Domain Cost Attribution (#4908)
Replication improvement
- 62428546f Immediate replication task hydration after successful transaction (#4980)
- beaf67011 Return early when there are not replication tasks (#4982)
- d38b08e45 Add Metric Emitter, which emits a metric once a minute for true replication lag in nanoseconds. (#4979)
- 1a2804dc7 Reduce metrics cardinality for replication.TaskStore (#4981)
- 93a6f2348 Return persisted history events blob (#4953)
- 1be9b6d6a Replication cache for sharing hydrated messages (#4952)
- 457c35e4f Partial response of GetReplicationMessages on history service (#4935)
- d739bf5f6 Helpers for getting enabled and remote cluster info (#4951)
- 385c1c368 Adds more pertinent information about replication (#4931)
- fe3bf0b6b Refactor task ack manager (#4894)
- 83aa1938a Removed TaskID from types.HistoryTaskV2Attributes (#4876)
Observability improvement
- 1e788db68 Add domain_type and cluster_groups tags (#4990)
- ff113929f Improve logs for task executor (#4989)
- e597b8724 Add logs to debug transfer task (#4970)
- 177f08713 Improve log for transfer task validator (#4961)
- b0d1f06e8 Capture CassandraLWT error and log/bump metrics for it. (#4888)
- 50d331a4b add activity info logging (#4867)
- 93bda8f59 \adence-history does not emit continue-as-new metrics (#4866)
- 7854f812d Add empty response metrics for read operations (#4855)
- 471e6d164 Log replication messages that did not fit (#4844)
- b03d03e77 add metric tags for activity task disaptch (#4821)
- d21162d22 Add logs for domain failover (#4810)
- 400bbe46b Improve failover coordinator error logging (#4811)
- a51b61349 Log error fields as tags (#4801)
- c59865478 Improve task re-dispatch error logging (#4809)
- 22f97c80b Log error when fetchHistoryFromRemote fails (#4807)
- 33edece45 Add source_cluster tag when emitting DLQ size (#4782)
Activity dispatch optimization
- 52203abc1 count local and server optimized activity dispatches as started (#4901)
- bafdf15b1 do not wait for activity task channel if sync match from history (#4860)
- 361edb68d add activity dispatch configs to matching (#4818)
- e77b43dd0 add activity dispatch configs (#4816)
- 2b0b03f69 updated idl for activity task dispatch (#4815)
- 2890600be add data contract for activity task dispatch (#4813)
- cda6c5324 set EnableActivityLocalDispatchByDomain default value to true (#4788)
Restart workflow
- e5036ed7c CDNC-1781 Add restart command/api (#4900)
Cross Cluster operations
- e5ed7f726 Feature/adding canary for cross cluster -> readme patch (#4870)
- 68fb2e60d Adds cross-cluster canary (#4868)
Corrupted workflows
- 79437b3d3 Introduce a dynamic config for cassandra all consistency level delete (#5000)
- 052d77c59 Update Cassandra deletes to use ALL consistency level (#4984)
Cancel workflow
- add4b390a Standardizing cancellation behavior: a canceled workflow never starts a new run (#4898)
- f1c557870 adding reason to cancel workflow. (#4934)
Failover lockdown
- 147172c1d Feature/cdnc 2263 Add toggle which can block domain failovers (#4786)
Bug fixes
- c2ffb71dd Adds fix for domain ack level issue (#5001)
- 3985fec96 Fix history corruption check for workflow signaling (#4998)
- 1375e49ca Revert "Fix error conversion for WorkflowExecutionAlreadyStartedError (#4838)" (#4999)
- 494f202d6 Fix status check for visibility and archival (#4864)
- a7270495a Bugfix/correct failover issue target domain not active ii (#4840)
Misc improvements & updates
- 78a755c7a Add new unit test (#5008)
- 278a3b8a0 Re-enable workflow test (#5007)
- 43c9ebc5f Fix Cadence CLI (#5005)
- 146bc31b3 Update idls (#4997)
- 6da9676b5 Convert client peer resolving errors to service transient errors (#4993)
- a91a250ef Adding first scheduled time metadata field for cron workflows. (#4969)
- 5eb67d147 Make test now passes locally (#4915)
- 3aaa1e8e8 Allow docker compose to work with docker-compose-mysql.yml on M1 (#4983)
- 854fc59f4 Run docker build on commits, to prevent docker build from breaking in the future (#4978)
- 172abd6f4 Fix docker build. (#4977)
- 701fb7061 Adding limit for amount of pending activties in mutable state. (#4959)
- 6ecd1e4e7 Fixing test. (#4941)
- d8cb61eb8 Upgrade Golang base images to remediate CVEs (#4957)
- f2b210821 Simplify shard write operations (#4955)
- 9949a22c1 Simplify history engine task read ID logic (#4949)
- 756601890 fix funcorder linter (#4942)
- b21f34f8a add funcorder linter (#4939)
- e3496a308 Add List*Execution (ElasticSearch) API ratelimiters (#4925)
- 85e0fee1f Fix flacky QueryWorkflow tests (#4932)
- 341d9f081 Improve decode_thrift output (#4929)
- a4d77f547 Fix query workflow high latency after a long inactive time (#4871)
- 43a17d2f6 downgrade testify to fix monorepo (#4918)
- ef8d11e33 Update revive to catch more defer/recover badness (#4917)
- 82544de0c Replace unsafe usage of recover() in helper functions (#4913)
- c06649e60 Fix remaining server lint warnings and make lint error by default. (#4911)
- 8b42a6dcc Start fixing server lint warnings (#4909)
- d2f72d88d Fix flaky retrypolicy tests. (#4905)
- 25e221bcf Add new CI step for lint validation (#4903)
- 64cb46fb9 Add new es record for uninitialized workflow execution (#4899)
- 8c449b316 Add JitterDelay option when creating workflows. (#4886)
- 1f8c93a91 reduce MatchingActivityTaskSyncMatchWaitTime default value (#4897)
- 7da6bc024 [codegen] introduce gowrap for generating retryableClient (#4879)
- ed2beb20f Separating tools dependencies from main dependencies (#4895)
- de0992686 Minor makefile cleanup, verbose CI, fmt with a recent Go version (#4896)
- cfd637e26 add mockery to go generate (#4887)
- 6f9e2d9c3 upgrade go version to 1.17 in go mod and Buildkite dockerfile (#4889)
- 663a041c9 Added support for network topology strategy (#4875)
- ac107606e Move visibility operation from search attributes to indexer message (#4881)
- 691bf3f82 Magically speed up integration tests by nearly 10x (#4892)
- e9915ae66 Rename dockers default cluster name to match the other config files. (#4885)
- aff5ecf6a Simplified FindFirstVersionHistoryByItem (#4882)
- 4cfb74142 fix flaky TestDelayStartWorkflow (#4884)
- 9f2190050 update generated code (#4880)
- 600904405 Support allowed authenticators in tool (#4873)
- f133d3c58 Add support for changing the gocql connect timeout (#4874)
- dc5230f44 Update idl for StickyWorkerUnavailableError (#4869)
- 9e6d122a7 Used exposed admin proto IDLs (#4865)
- 093030526 Add visibility operation types to Kafka message (#4828)
- ae1441294 Move some proto definitions to admin package (#4861)
- af932bd81 Fix CLI rendering long workflow types (#4853)
- b457b553e Make cluster.Metadata a struct and stop using mocks for it (#4851)
- 12d8c5412 Add UpdateFromConfig function to schema tool library (#4848)
- d6ae27853 Decouple domain cache entry from cluster metadata (#4847)
- 15267b96f Separate buildkite pipeline for PRs (#4850)
- 0582a58a8 Update SQL implementation of UpdateExecution to support async transaction (#4792)
- 535cda845 Remove unused loggers from history (#4822)
- 915a777c9 Simplify history builder (#4837)
- beab75c6f Removing target-domain-not-active special-case handling (#4835)
- a57590894 Extract Engine from matching handler (#4833)
- 20329a2b7 Forward activity responses and heartbeats on failover as well (#4823)
- fbfafb9f5 Update PROPOSALS.md (#4831)
- 94fd0a65d Update roadmap.md (#4829)
- 0a37a8b47 remove redundant type conversions for activity task dispatch (#4820)
- ee5461b7c Check for resurrected activities during RecordActivityTaskStarted (#4806)
- 4194b291d Remove unused PayloadSerializer param (#4827)
- 45770c2e3 Add CustomDomain and Operator as default indexed keys (#4825)
- eede46696 Fill domainID for backwards compatibility (#4819)
- 8b100632b Fix error type returned from GetWorkflowExecution and DeleteWorkflowExecution (#4817)
- fc9d5faec Change access dienied error type (#4808)
- e91a5a7e4 Allow decoding thrift from base64 string via CLI (#4805)
- 5be511b8d Update base image to Alpine 3.15 (#4804)
- e1aaeb76e fix WriteFile fail err hidden by Close invaildargment (#4744)
- 21537697c Minor makefile cleanup, gofmt (#4802)
- 6ea8658c3 Only update maxReadLevel after successful re-acquire of shard (#4799)
- b49002da7 Add jittered workflow deletion configuration (#4789)
- 91579a15d Fix docker prometheus config for linux docker (#4793)
- 7a1fe537d Wrap underlying cause for conditional update error (#4797)
- 480c733d3 Double inline archival time limit defaults (#4796)
- 8c6164192 Use errgroup.Group for fanout style workfloads (#4784)
- 8845d979c Update EnableRecordWorkflowExecutionUninitialized flag to filter by domain name (#4904)
- 807a0e289 Added API for retrieving DLQ message count (#4787)
- ba4a5d951 Support refreshing long running workflows based on user config (#4770)
Cleanup & Refactoring
- cb7987640 Drop dynamic config for gRPC message size (#5002)
- 354e6b07c Removed replication mocks (#4883)
- 608bcb5d6 Remove unused functions from TaskAckManager (#4872)
- 9d4524183 Add helper function to list all dynamic config keys used in production (#4891)
- 650cf8aff Refactor dynamic config (#4863)
- e8a06cc3d Update the default values of dynamic config to not depend on static config (#4858)
- 2408f9dd0 Removed unused internal type getters (#4852)
- c6ce73249 Removed global domain enabled config (#4845)
- 3a813e850 Remove domain cache from history/workflow (#4846)
- 3cfcaeab5 Remove no-longer used dynamic configs (#4843)
- 856d33fb2 Shard tag not needed in shard.Context (#4842)
Release v0.24.0 Release published by vytautas-karpavicius on 5/24/2022
Schema upgrades (required)
Cassandra: upgrade schema to 0.33
288e935d6 Persist domainID instead of domainName for childExecutionInfo (#4601) d9e5003c3 Handle applyParentClose target domain failover (#4533)
gRPC Support
- Internal traffic is now on gRPC by default
- Cadence canary is now on gRPC
- Cadence worker is now on gRPC
- Cadence CLI supports
--transport
to use gRPC (default is still tchannel) - Added support for TLS
028c44464 Update cadence go client to 0.19.0 (#4696) fd510e170 Export ResponseInfoMiddleware & InboundMetricsMiddleware (#4680) 386536176 Switch system worker to gRPC (#4679) ff71ae356 Shuffle responses for replication messages (#4652) ad49ea6db Fix ResponseInfo to work on all transports (#4649) 5ccad581e Use generated proto types from cadence-idl repo (#4630) 86981576d Add inbound header forwarding middleware (#4637) 9237acb18 Use direct outbound for matching client. (#4622) 04cd354f8 Use direct outbound for history client (#4619) 851081651 Add TLS support on gRPC (#4606) 2af324659 Handle error case in response info middleware (#4609) 53833a21a Fix and improve canary thrift config and docs (#4580) a0ccc85fc Switch canary to gRPC (#4570) b21e5e015 Remove dispatcher provider (#4559) b2037bfc4 Removed frontend client randomisation (#4558) aa9e7a5ce Fix public client default value after xdc switching to gRPC 9ff3eb35f Added cross DC outbound builder (#4552) 7a6b851a2 Remove unused NewFrontendClient functions (#4553) f2f859bcc Move out dispatcher from client factory (#4506) 37a8fd767 Add inbound metrics middleware (#4545) 9db1a61cd Added combineOutbounds to combine multiple outbound builders (#4538) b1e3001f7 Use common dispatcher for public client outbound #2 (#4537) d19cae112 Revert "Use common dispatcher for public client outbound (#4523)" (#4534) a094a330b Use common dispatcher for public client outbound (#4523) 844181fb2 Add size checker when replication messages return (#4521) 9ba3b991b Added response info middleware (#4522) f3e389769 Move out auth middleware and add test coverage (#4519) 580c448dc Introduce rpc.Params (#4517) e45753acc Refactor PeerChooserFactory out of DispatcherProvider (#4508) a53f4c957 Move dispatcher provider to rpc package (#4507) 0b2107fdc Moved RPC related types to a dedicated package (#4505) 5846821cb Use gRPC outbound by default for internal traffic (#4492)
Membership changes
Pluggable membership information provider with extended host metadata.
d3e03c240 Ringpop: set tchannel port even if label is missing (#4765) f65fecb91 Ringpop: filter out unhealthy nodes (#4764) 4dab59a9f Use named port to select transport for outbound calls (#4749) 9b5071757 Provide portmap to ringpop (#4745) 8477b11ef Return Hostinfo identity if set (#4739) acff10cf6 Add correct Address tag (#4736) 29874b61f Lock membership keys after peer provider call (#4733) 7e3d48ccf Protect membership member keys concurrent access (#4731) 45bc726dc Hashring: return Hostinfo struct instead of string (#4708) 7a17a3032 Extend Hostinfo with identity and port map (#4706) 770e9ec4d Replace Ringop with PeerProvider interface (#4653) 3557eb5dd Merge membership Monitor and ServiceResolver to membership.Resolver (#4646) 97f169052 Reduce API scope for membership.Monitor (#4644) 7e141025b Move ringpop setup to common/membership (#4638) c145ab861 Remove Membership Factory (#4627) e15f181ad Support DNS SRV Records within Ringpop (#4614) 9a072ca10 Provide Channel for Ringpop (#4597)
Cross Cluster operations
Cross cluster domain dependency support for signals, child workflows, cancels and parent close policy (pre feature release).
b7d2c7764 Generate parentClosePolicy task for x-cluster child (#4682) c894177bc Improve cross cluster components shutdown logic (#4662) 624a1fcee Bug fixes for cross domain operations (#4623) d3d06825a Add domain to pendingChildExecutionInfo (#4611) 39bebb464 Fix target domain not active error handling for transfer task (#4599) e2b8e9496 Split transfer close execution task (#4583) 0bfd2f701 Schedule first decision for abandoned child if parent closed (#4579) a9ed73af2 Add admin respond cross cluster task completed API (#4565) 5879fa346 Misc. fix for cross cluster implementation (#4554) 041061cf2 Wire up cross-cluster operation implementation (#4524) 70cf8bef0 Add metrics for cross cluster implementation (#4527) 898aa9128 Improve close execution task for cross cluster situation (#4528) f74b915cd Execution logic for RecordChildCompletion and ApplyParentClosePolicy (#4474) f2ff1c3b7 Refactor cross cluster queue implementation (#4493) 52c8acc4c Limit batch size for fetching cross cluster tasks (#4487) 5ac1940c2 Fix parent close policy for cross-domain childs (#4486) bd7072c42 Implement xcluster source task executor (#4445) 6101ab249 Implement cross-cluster source task (#4398) c8f3c1cdb Support ApplyParentClosePolicy Cross Cluster Tasks (#4392) c8d0838d1 Set completed workflow current version to lastWriteVersion (#4431) fb8e78277 Add feature flag for scheduling cross-cluster operations (#4424)
Auto-Forwarding
95402363d Update auto-forwarding to work for global domains with 1 cluster (#4681) 3ee1178d9 Update batcher to support replicating workflows (#4672) 06891aa5c Add Redirect policy to forward all domain APIs
ParentClosePolicy for child workflows only
c7727c080 Parent close policy should apply to child workflow only (#4612)
ES Analyzer
80700d8c1 Add long running workflow metrics (#4643) 2fa278740 ElasticSearch Analyzer (#4598)
MongoDB Support
46b84be58 Implement MongoDB plugin Part1: skeleton and ConfigStore (#4590)
IPv6 Support
064378890 feat: Fixing RPC to allow bindOnIP for IPv6 (#4620)
SQL Support
085a79937 Perform schema checks for multiple SQL database and add context to AdminDB DDL interface (#4561) f182b8710 Unify mysql user password for testing (#4589) 75b10a5f8 Fix mysql insecure hostname verify didn't work (#4569) f5ce7cb60 Implement sharded SQL driver to support using multiple SQL databases (#4504) 90e2290d2 Refactor to add a SQL driver layer for multiple SQL databases support as sharded SQL (#4498)
Auth
334d51fa4 add workflow type to signal with start auth (#4495) f98bd06ef add enable service auth logging key (#4480) b22df4152 extend permission attributes for service auth (#4468) 7aca82984 Load OAuth credential on startup instead of request processing (#4442) 4c2bcc75f Fix OAuth sample config and add docker-compose for OAuth testing server 5191468f2 Adding middleware to inject Auth token for internal requests to frontend (#4364)
Graceful failover
0c3db563a Integrate failover into into describe domain response (#4440) 920077cc0 Adding debug metrics in domain callback (#4484) 6ee5f9378 Add getFailoverInfo API (#4408)
Refresh Tasks API
417f1503c fixed refresh workflow tasks (#4750) 612373147 add refresh tasks API to client (#4747) a5c527f71 Allow generating workflow tasks if workflow is non-current (#4688)
Corrupted workflows
69805085a Add Watchdog Workflow with Corrupt Workflow Fix (#4713) e13da5812 Add fixer workflow triggered by remote (#4482) 1cc94d502 Add a step to scan workflow to be in DLQ (#4471)
Activity dispatch optimization
de0653f2e add metric tags for activity task disaptch (#4821) 3581be59d remove redundant type conversions for activity task dispatch (#4820) ac8cbbd46 add activity dispatch configs to matching (#4818) 532da7191 merged activity dispatch config f5cfeaf7b add activity dispatch configs (#4816) c4713d202 updated idl for activity task dispatch (#4815) b4f38d060 add data contract for activity task dispatch (#4813)
Cadence CLI Changes
b445012a5 Improved CLI DLQ read command (#4780) 950f5ac02 Added --format flag to render table, json or custom template (#4777) c833c98cf Use RenderTable for the remaining CLI commands (#4774) 99fcca82a Allow loading service config for all DB operations (#4768) 0557c2b50 Added presentation layer for rendering workflow list tables (#4773) 9d6589984 Allow reading shard list from stdin for CLI DLQ operations (#4771) 5511bd618 Drop unused flags for cli rereplicate command (#4728) ceacad005 Fix NPE when observing history in CLI (#4714) 953014388 Update CLI client factory to use grpc clients (#4605) 38d1e2a13 Add exclude query for list and reset-batch command (#4699) cf21c869c Add skipCurrentCompleted option to reset-batch command (#4698) 41c89238d Update domain describe command to support JSON output (#4674) c22095099 Fix admin db thrift decode tool (#4665) 75a992a47 Create ElasticSearch client via factory (#4660) 9d40c45d2 Add admin tool to decode any thrift binary into JOSN (#4634) a370de048 Cli: notify on SIGINT (#4615) 8c9db1879 Expose GetTaskListByDomain in CLI (#4462)
Bug fixes
0c8a0fdff Fill domainID for backwards compatibility (#4819) 6981b1d85 Only update maxReadLevel after successful re-acquire of shard (#4799) 7328473c4 Fix ScanWorkflowExecutions function in frontend client (#4781) 13f9cf8b3 Added missing mapper fields for DecisionTaskTimedOutEventAttributes (#4762) 1923121f3 Fix auto-forwarding for QueryWorkflow API (#4763) f1a09839e Fix data conversion from serialization.WorkflowExecutionInfo to persistence.InternalWorkflowExecutionInfo (#4758) 059669895 Use setupBackoffTimer with locking (#4748) b0da1be3b Fix SQL implementation of DeleteWorkflowExecution (#4746) 19a8526f3 Update cadence batch command to receive more input (#4725) edf4cb423 Fix parsing domain_id in child_info_maps for backward compatibility (#4722) dea642993 Fallback to zero value for initiatedID in exteralWorkflowExecutionFields struct (#4720) 27a0df202 Add decision offset to LastDecisionCompleted reset type (#4700) e8fdcd91a Fix cassandra plugin nil pointer dereference issue (#4697) 027bbd6c6 Fix queue diff metric for disabled clusters (#4686) 35ae7e7f1 Fix canary/bench dev configs (#4675) 27afb62bd Fix remote sync match for standby domains and task creation time (#4654) 32123b941 Fix NPE in GCP archival (#4626) e13b6686a Fallback to zero value for non-present parent execution fields (#4617) 0b4768365 Fix get replication task read level update issue (#4607) 110a13519 Fix NPE when replicating child started event (#4591) a76d1a56f Set workflow start time in application layer (#4581) e3725619d URL encode postgres credentials (#4550) 384a3a4b1 Update shard context to reduce DB calls for closed shards (#4547) a590cacc3 Fix record child completion error handling (#4515) 3eda7b983 Fix timer resurrection check (#4499) 3ef32e26e Fix workflow retry policy overriding workflow timeout (#4467) 3e3bb6723 Fix startTime in workflow task refresher (#4488) 7ee533975 Fix nil pointer dereference issue in matching (#4481) c387b4061 Fix workflow refresh for closed workflows (#4472) 723149b54 Revert ratelimiting behavior for frontend worker related APIs (#4435)
Misc improvements & updates
ea4d16525 As-simple-as-possible addition of background-processing ratelimits (#4775) 61c5d58f9 Purge un-hydrated replication tasks when doing dlq merge (#4769) e4cb51fb4 Added history corruption checks for workflow signaling (#4761) 6f3da1cf8 Add more docker compose files for multiclusters with ES and different DB (#4757) d83fa3a8f Log more tags while putting to replication task to dlq (#4754) 71c277498 Add rate limits for inline archival (#4743) a19271324 Lowers priority of a significantly noisy log entry (#4730) 9abf34d09 emit task list backlog metric in matching (#4734) e27ed8098 Update error message for too frequent domain updates (#4711) 99ace7ae5 Upgrades python version for cqlsh (#4709) a0be5926b Improve standby task processing (#4695) d117c3cf6 Update ElasticSearch version to fix log4j issues (#4691) 9c9566163 Update Base and Builder Images to Apline 3.15 (#4689) 37a6cfd5b Emit persistence latency histograms (#4678) 97300ecfa Add jitter for starting failover queue (#4683) e0a1d20fc Add support for custom cassandra authenticators (#4676) f3003449d Improve error message when a workflow's decision is rejected due to concurrent changes (#4673) b7303535a Support partial retries for ApplyParentPolicy (#4610) 3b36196e6 Add logs for ID length violation checkers (#4655) 0aa749438 Use streaming implementation of thriftrw encoder/decoder (#4568) 4461fe020 Fix build by swithcing to golang:1.17-alpine3.13 (#4641) 2957a708c Apply ConnectAttributes for postgres (#4639) e2adab995 Add prometheus metric for canary/bench (#4625) 2e75c15f4 Update docker image to use 1.17 golang (#4632) d61a3b3b2 Update golang/mock to v1.6.0 (#4636) 97a413f34 Fixing master build (#4631) 2b08e4002 Add dynamic config to disable generate replication tasks (#4608) 39b28e667 Add ctx parameter to queue processor actions (#4600) fa6d71d1d Limited retry for normal decision scheduleToStart timeout (#4567) 942f0327c Change canary back to start both worker and starter by default (#4587) 5affa4f77 Fx docker template and canary batcher workflow (#4585) 0e4b8d39f Add cross region sample config and minor fix docker template (#4574) 49aa6352e skip eror on creating domains for canary (#4584) 93934ab5b Show more information about panicked objects (#4575) 8e8e943fb Fix build on M1 macs (#4576) bd21dc422 Remove github automerge job (#4577) 87b2eae36 Support filtering global domains in ElasticSearch (#4539) f8f95d5eb Improve server_test and instructions on homebrew and dynamic config docs (#4557) 2719202a1 Upgrade yarpc to v1.58.0 (#4564) 11e9a7bcf Improve archival history mutated error logs and add option to allow archiving incomplete history e1e94ee02 Add a hard limit for number of decision retry attempts (#4490) 19a954a3c Fix docker config template for secondary cluster (#4551) 37e9845bd Add console as logging encoding type (#4549) 3cd5166d1 Log WorkflowID, RunID, domainName when a workflow times out or gets terminated (#4548) c7e94f29b Upgrade golang/sys for go 1.17 (#4543) e94968737 Add server startup test to prevent docker image master-auto-setup getting broken 3ab48432d Add sample config to run with opensearch (#4512) 7e60482b7 Add disableSniff: true flag to update-development_es_v7.yaml (#4501) 2679a9ce2 Managed failover workflow improvements (#4491) 607893ddc Verify delete history branch actually delete targeted nodes (#4494) 3bbf94583 fix flaky TestWorkflowRetryPolicyContinueAsNewAsCron integration test (#4496) ea89af4d9 Fix access control admin handler initialization (#4500) c2264524e Update get tasklist response (#4483) 9e992726a Emit metrics during shardscanner fix and scan activities (#4476) ef7d04914 Add documentation to canary and improvements (#4447) df3e5524b Fix/docker multicluster (#4473) 39184e611 Add tagged loger to shardscanner (#4466) a695fc053 Set limit on range queries to prevent bad queries causing degradation (#4458) a5a722314 Validate shard ID range (#4461) 73579667d Remove previous domain lists from domain cache (#4463) ed86ca88a Matching per domain RPS limit (#4433) 7ca1886f7 Misc improvements: development & sample config & README & Issue Template 4969e353a Allow replicate history generated from same cluster (#4429) 7ef52d582 Add feature flag on emitting signal name metric tag (#4434) 482f47859 Updated yarpc to v1.56.0 (#4423) e974a2ad2 Fix auot-build script typo
Cleanup & Refactoring
5ec6c4efc Drop getters on HistoryEvent (#4727) 7084679d5 Staticcheck cleanup (#4751) eff46e0a4 Reuse rate limiter functionality (#4742) 1fd8af37b Added AsFloat64 helper to convert rps related dynamic config properties (#4740) 32cf61233 Drop redundant pointer conversions (#4726) b8d47dc42 Drop pointers on internal history branch types (#4718) b0dff806c Removed unused parameter (#4719) a964dfbd6 Do not pass yarpc options in CLI (#4712) 429db9028 make fmt (#4658) 307dd93f8 Fix badly formatted files (#4647) a3fdf4c5b Cleanup unused setters in client.Bean (#4555) 13c6a2b10 Refactor and improve the retry logic to avoid throttling dependencies (#4351) 5428e35f6 Refactor service naming constants (#4516) 467824e72 Reshuffle service.Config and resource.Params (#4514) 132768ac8 Move serviceImpl to integration tests (#4513) 8ccb533b0 Minor ratelimit test cleanup 82d83f924 Refactor task executor tests (#4475) 93937370e Refactor config methods for internal use (#4448) 88549ddba Refactor test for internal integration tests (#4437)
Release v0.23.2 Patch Release published by yycptt on 12/2/2021
Release commits
Bug fix
ff5ef719a Fix ResponseInfo to work on all transports (#4649) 97127f0e0 Fix remote sync match for standby domains and task creation time (#4654)
Improvement
b4b94c6d7 Create ElasticSearch client via factory (#4660) 831dc7f0d Shuffle responses for replication messages (#4652) d367a88be Add Redirect policy to forward all domain APIs (#4657) 00bbe50d4 Add logs for ID length violation checkers (#4655)
Misc.
8dd7a0818 Update docker files for 0.23.2 release
Release v0.23.1 Release published by yycptt on 11/19/2021
Upgrade instructions (from 0.22.x releases)
Schema upgrades (required)
- Cassandra: upgrade schema to 0.32
Configuration changes (optional but recommended)
- Change
clusterMetadata
toclusterGroupMetadata
- Change
clusterMetadata.masterClusterName
toclusterGroupMetadata.primaryClusterName
- Change
clusterMetadata.clusterInformation
toclusterGroupMetadata.clusterGroup
- Change
dynamicConfigClient
todynamicconfig
withclient:filebased
and move all fields under the olddynamicConfigClient
to a new fieldfilebased
under the newdynamicconfig
. publicClient
is no longer required. If not specified, will default to current cluster's RPCAddress inclusterGroup
- Sample config
Release Commits
New features
Config Store
0fd2b50e Added config store functionality (initial implementation) (#4357)
Cross Domain Operations
38881a8f Add X-Cluster Child Workflow Completion Tasks (#4336) 40c5f189 Implement history handler for fetching and responding cross-cluster tasks (#4329) adbffa45 Notify queue processor about cross cluster tasks (#4328) 23eb8bea Improve is cross cluster task check (#4326) af307533 Update admin CLI commands for cross-cluster queue (#4321) 58e8e1cc Add cross cluster target task executor (#4317) 8d319e20 Refactor task executor interface (#4300) de9a0869 Add cross cluster queue processor (#4269) 4384e4cc Target cluster cross cluster task processor (#4292) 6964885b Improve definition for cross-cluster related endpoints (#4294) eead0e57 Add client and handler implementation for cross-cluster task APIs (#4286) 622b13b2 Add internal types and mappers for cross cluster related APIs (#4285)
GRPC
4b95ec80 Fallback to zero value for non-present parent execution fields (#4617) dbe538e5 Switch canary to gRPC (#4570) 59c8f0ec gRPC for cross DC traffic (#4390) 5328cba2 Expose frontend gRPC port on docker containers (#4312)
Auth
8b8d8d80 add workflow type to signal with start auth eacf42f1 add enable service auth logging key d1a3c112 extend permission attributes for service auth 35f588f4 Add authorizer protection for AdminAPI 9a46d9d4 Feature cont.: authorize CLI as admin with private (#4338) 37706b2f Update OAuth implementation to use domainCache to authorize (#4333) 0085b7ab CLI sending authorized request (#4327) 989e35c8 Add Permissions to Attributes and reading Public/Private key from disk instead of reading it from yaml file (#4320) 9f5d4120 Implement OAuth Authorizer (#4306) deed4824 add enable service auth key (#4299) 51be8208 fill tasklist in auth attributes for poll APIs (#4296) 70f3f582 add tasklist to auth attributes (#4288)
Bug Fixes
4808e654 Fix NPE in GCP archival (#4626) 49df6717 Handle error case in response info middleware (#4609) efb7b083 Fix get replication task read level update issue (#4607) 144d6946 Fix NPE when replicating child started event (#4591) 0a1337c0 Fix cherry-pick for docker config template from #4585 1affb65a Fix mysql insecure hostname verify didn't work (#4569) 3fd8001a Fx docker template and canary batcher workflow (#4585) 364b2a17 Fix and improve canary thrift config and docs (#4580) f744a6f2 Fix record child completion error handling (#4515) 3cb214af Fix access control admin handler initialization (#4500) 0398bf6f Fix timer resurrection check (#4499) 39f45eb8 Fix startTime in workflow task refresher (#4488) dfca8e13 Fix nil pointer dereference issue in matching (#4481) 5dd7eb7c Fix workflow refresh for closed workflows (#4472) 76573a2c Fix domain updating via grpc (#4418) f52498a8 Fix admin workflow re-replicate command (#4325) abe22845 Fix ndc reset workflow replication bug (#4376) a58b8b96 Fix oauth yaml config (#4360) 8ea6a6a8 Fix CLI jwtKey npe issue (#4358) cd9a33ab Fix deadlock in transfer queue (#4337) fbc79f96 Fix CLI admin domain bug that didn't load Cassandra plugin bec009ab Fix missing activity failure details in standby cluster (#4323) a1b9679a Fix typo in docker config template which cause docker image corruption (#4310) 6a00f35a Fix a racy read in test (#4291)
Improvements
d53b1fb1 Support DNS SRV Records within Ringpop (#4614) 2c3a8f39 Change frontend drain time 76653c16 Limited retry for normal decision scheduleToStart timeout (#4567) dbae1304 Improve archival history mutated error logs and add option to allow archiving incomplete history 4048370c URL encode postgres credentials (#4550) 41e9b530 Add console as logging encoding type (#4549) 0332c595 Log WorkflowID, RunID, domainName when a workflow times out or gets terminated (#4548) df0c4bf4 Change canary back to start both worker and starter by default (#4587) 39b1970b Update cadence go SDK for building canary in 0.23.x (#4586) dcfe3f6d skip eror on creating domains for canary (#4584) f53bec11 Add documentation to canary and improvements (#4447) e052190a Add size checker when replication messages return (#4521) 16aed764 Added response info middleware (#4522) a6a17935 Adding debug metrics in domain callback (#4484) e602b8c2 Set limit on range queries to prevent bad queries causing degradation (#4458) 6b9184c4 Refactor config methods for internal use (#4448) d58d3460 Add feature flag on emitting signal name metric tag (#4434) db77377c Refactor test for internal integration tests (#4437) d67fb41b Revert ratelimiting behavior for frontend worker related APIs (#4435) 0b980557 Rewrite/improve basic load test (#4399) cde0f413 Dynamic replication batch size (#4301) efb9f901 Long poll completion buffer to prevent timeouts (#4425) 45c7b4c1 Improve/simplify archival config validation (#4366) fb10abe0 Automatically adjust task priority and redispatch interval based on attempts (#4378) 6dec5aaa Disable basic(db) visibility sampling by default (#4407) 76ec20af Emit logs with workflow execution tag for timedout frontend requests (#4379) 170deed4 Try detecting timer and activity resurrection (#4375) 7110f057 add decision result count check (#4402) 8ad444b9 Add context metric tags for admin handler (#4404) c6ef3c9d Refactor ClusterMetadata defaults and validation (#4385) 185988a3 Add docker file/config/compose for bench and canary 3255b7c4 Failover metrics scope improve (#4391) 4781a8dc Expose invalid timer value in the error message (#4380) f621c7c5 Fill currentCluster RpcAddress with publicClient as default 58ae9055 Optimization for start child workflow task (#4315) 71e730f5 Allow removing replica from domain replication group (#4346) b32af800 Enalbe batch job feature by default and update dynamic config docs (#4343) 70bc1508 Parallelize GetWorkflowExecution SQL calls (#4339) 28e0489e Server and CLI use version from release and versionChecking constant and commit revision (#4308) ffbfdb7d Remove unused replicationConsumer related config (#4324) 66f2f261 Refactor Cassandra test utility for NoSQL support 7db76544 Fix MaximumSignalsPerExecution documentation default value c63aa780 Add persistence error logs to queue manager (#4318) deb0caf0 Update Mutable State to reduce unnecessary update to DB (#4304) 572582c5 Refactoring Cassandra workflow persistence manager for NoSQL support-Part 3 c185ad8c Deep merge config files (#4165) d91e86fe Enforce context timeout for retry policies in execution context and cache (#4303) a24af638 Refactoring Cassandra workflow persistence manager for NoSQL support-Part 2 17663af5 Add domain tag for skip task metrics and logs (#4293) 28bb116f Remove tasklist kind from tasklist id (#4295) 94b24053 Implement new matching and frontend API to get all tasklists for a domain (#4175) ff0046f0 Rename cassandra files to nosqlStores 3cc8c310 Allow skipping optional tests for optional methods in plugins (#4287)
Misc.
26189983 Update docker files for 0.23.1 release 01f09391 Update CHANGELOG.md (#4405) 44392dc5 Update community links for Discussion 74207864 Improve contributing and dev process (#4347) 6f989a3d Cleanup lint warning (#4309) 24cd8fa6 Clean up linting warnings (#4290) 7e88e6ec Ignore bench and canary test coverage (#4297)
Release v0.22.4 Patch Release published by longquanzheng on 11/11/2021
Schema/configuration change
None.
Release commits
Bug fix
- cfa1fa257 - Fix NPE in GCP archival (#4626)
Improvement
- 3e7291fe9 - Support DNS SRV Records within Ringpop (#4614)
Credits
Thank you @lindleywhite for the contribution!
Release v0.22.3 Patch Release published by longquanzheng on 10/14/2021
Schema/configuration change
None.
Release commits
Bug fix
e710c0fa5 - Fix mysql insecure hostname verify didn't work (#4569)
Improvement
Note
Credits
Thank you @git-hulk for the contribution!
Release v0.22.2 Patch Release published by longquanzheng on 10/14/2021
This patch release introduces a dynamic config option worker.AllowArchivingIncompleteHistory
. If you enable this to true
, archival will archive the history even on "history mutated" error.
Schema/configuration change
None.
Release commits
Bug fix
None
Improvement
ff344e641 - Improve archival history mutated error logs and add option to allow archiving incomplete history (#4541)
Release v0.22.1 Patch Release published by longquanzheng on 10/8/2021
Schema/configuration change
None.
Release commits
Bug fix
- 80b0622bc - URL encode postgres credentials (#4550) for https://github.com/uber/cadence/issues/3901
Improvement
84b8d79ce - Add console as logging encoding type (#4549) 9336ed963 - Log WorkflowID, RunID, domainName when a workflow times out or gets terminated (#4548)
Credits
Thank you @@agrimrules @WToma for the contribution!
Release v0.22.0 Minor Release published by Shaddoll on 8/20/2021
Upgrade instructions
Schema upgrades required if applicable
- Cassandra: upgrade schema to 0.31
- MySQL: upgrade schema to 0.5
- Postgres: upgrade schema to 0.4
- ElasticSearch: Add new system search attribute
IsCron
of boolean type. This is supported by Cadence to indicate if a workflow is a cron workflow
Configuration changes(optional but recommended)
- Change
persistence.datastores.<name>.cassandra
topersistence.datastores.<name>.nosql
withpluginName:cassandra
- Set
clusterMeatadata.enableGlobalDomain
to true to enable global domain by default See example configuration - DB based visibility is no longer required if you have ES based visibility. You can safely remove it if so.
Schema
5848c942 Support Cross Cluster Operations in SQL type DBs (#4271) 6f77ae2d Cassandra implementation for cross cluster queue (#4237) 53edb8d8 Support is_cron field for SQL/Cassandra/Postgres (#4191) fc63ab11 Support Listing Scheduled Cron Workflows (#4176)
Features
Feature Flags
0f93d577 Support Feature Flags (#4257)
Cross Cluster Task
54d6ccb8 Improve is cross cluster task check (#4326) ddfc1278 Convert transfer to cross cluster task if target domain is active in remote cluster (#4268) ae40d3e6 Thrift and Proto definition for fetching and responding cross-cluster tasks (#4276) 6e3a78de Add cross cluster task interface (#4264) 42caee54 Generate cross cluster tasks in mutable state task generator (#4250) 3eda53be Update shardContext for getting and updating cross-cluster queue states (#4246) bda4c5c2 Add cross-cluster task related types and methods to data/persistence interface (#4225) d5fbc5e3 Add cross cluster processing queue state to data/persistence interface (#4230)
CLI
263227f0 Update admin rereplicate command to support SQL databases (#4227) 758ace24 Update Admin CLI workflow operations to support SQL databases (#4222) 3866711f Add Admin Shard List Command (#4224) e3e0c263 Update Admin CLI shard operations to support SQL databases (#4207) cade91a7 Update admin DB commands to support SQL databases (#4198)
Documentation
9b4aaa67 Add design doc for workflow shadowing (#4137)
Bug Fix
ad0261df Fix ndc reset workflow replication bug (#4376) 45d5eca2 Fix deadlock in transfer queue (#4337) 83feeffa Fix missing activity failure details in standby cluster (#4323) 407c3664 Support prefix match for list domain command (#4275) 8143d555 Fix proto FromParentExecutionInfoFields mapper (#4262) 23fbb4fa Fix styles and instructions in docs (#4260) 7af95b70 Fix Cassandra schema version check (#4247) b6601123 Fix persistence test for task completion (#4245) e2cde4af Domain queue ack level fix (#4218) 2fb5c02b Pick signal requestID dedup fix from temporal (#4210) 61399e53 Fix update domain replication ack level (#4212) 3e2ffc33 Fix docker-compose bug: publicClient is not valid and error
Improvements
362de93e Parallelize GetWorkflowExecution SQL calls (#4339) 1c62c216 Server and CLI use version from release and versionChecking constant and commit revision (#4308) c75cbf8c Update Mutable State to reduce unnecessary update to DB (#4304) b7043ed8 Enforce context timeout for retry policies in execution context and cache (#4303) dad87f7f Add domain tag for skip task metrics and logs (#4293) 4305fc03 Allow skipping optional tests for optional methods in plugins (#4287) b25da7ec Use global domain by default 1cd5fd2c Remove unnecessary nonzero requirements in some fields of NoSQL config struct c4f2c09f Adding protoversion in config file (#4263) 12ddac4f Remove IsConditionalFailed from NoSQL ffe4e2fa Refactoring Cassandra workflow persistence manager for NoSQL support : Part 1 e4a59175 Task fetcher implementation (#4272) 99fb2163 Rename persistence files for consistency (#4256) ff5e37ad Add common Future util implementation (#4266) e528ef3a Remove timerGate usage in transfer queue processor (#4248) e8cc575e Add version check for JavaConsistentQuery 2b684814 Preserve some time to return part of the result if the context is timing out (#4265) 7e6fbdbd Adding protoversion as a config value (#4252) ea912b04 Update generating close event to use event version (#4261) 0b058c0e Rename MetadataManager to DomainManager 208edf41 Refactor: not require db visibility when ES visibility is provided (#4241) 723ecf57 Refactoring Cassandra task persistence manager for NoSQL support 532dfb10 Add placeholder for dynamo visibilityCRUD methods (#4244) 8d3e54e3 Remove transfer/timer failover queue level from persistence layer (#4232) 2c76237f Refactoring Cassandra visibility persistence manager for NoSQL support e1fb9d77 Add logic in replication stack to handle different shard number (#4239) de3a6ac4 Raise VisibilityListMaxQPS limit for local docker-compose env 84059fb3 Change domain data CLI parameter for consistency (#4240) 932303f9 Add conn_attrs flag to admin db commands (#4226) ae963c19 Remove unused ResetWorkflowExecution method from persistence (#4236) 58df9131 Regenerate proto types (#4234) 466c7f57 CLI: Differentiate local and global in describe domain 640d3783 Add skeleton of other nosql plugin and add dynamodb package a49e2daa Refactoring Cassandra shard persistence manager for NoSQL support 749c80dd Minor improvements on NoSQL interfaces and implementation (#4219) 758123f8 Remove unused now parameter from task generator interface (#4217) 2843e428 Shift pointer conversions down to thrift encoder (#4206) 7e333a8d Wire up rebalance CLI (#4213) 1f14ebf6 Add rebalance workflow (#4199) 68dc1ed5 Add more comments about how to implement the interfaces in NoSQL 7f49a0ff Introduce Options for task list scavenger (#4205) d90f87af Refactor: move errorChecker to nosqlplugin pkg d15fbe51 Tidy go mod (#4193) b2adb71e Update Master cluster to Primary cluster (#4185) 1d9144df Not allow more than one types of metric reporters (#4180) 95713dbe Support managed failover workflow with drill mode (#4177) 5a9a1efa Expose max message size config for gRPC (#4166) b6b70ffb Detect when IDL submodule is not initialized, warn user (#4172) 386e1e70 Expand workflowCompleted error to other APIs (#4163) 800107ad Add debug info when List API is hititng ratelimiting/sampling ac856a63 Add Signal Name to Signal Metrics (#4161) 7457be79 Elasticsearch TLS support (#4154) 36f73881 Assign CLI version on CLI commands (#4153)
Misc.
ec3596a Update docker for 0.22.0 patch release
Credits
Thank you @spmistry for the contribution!
Release v0.21.3 Release published by yycptt on 6/17/2021
Features
05fb808e Support delaying cron workflows (#4196) 875b690c Update admin db commands to support all registered SQL dbs (#4189)
Bug Fix & Improvements
0cc2fe37 Rollback workflow already completed error (#4209) 5ad53e3c Fix domain last updated time in updateDomain Operation (#4211) fce6eaa8 Check identity length before RespondDecisionTaskCompleted to history (#4215) 49bc2c0e Add dynamic configs and metrics to control/monitor per id lengths (#4173) d55f707f Fix describeWorkflowExecution in passive cluster (#4203) 94a09915 Use frontend client in parentClosePolicy workflow to allow auto-forwarding (#4202) 50db73ee Add nextEventID for frontend PollForDecisionTask response (#4190) d893a9c5 Fix sql error conversion (#4194) 54d2653e Improve error handling for SQL persistence implementation (#4178) 40fb112a Fix proto mapper for Payload (#4184) cd40ea38 Handle workflow not exist error when archiving history (#4181)
Misc.
36cfde8b Update docker for 0.21.3 patch release 73a2ceb7 Go mod tidy
Release v0.21.0 Release published by just-at-uber on 5/7/2021
Added feature and optional config change
- Added GRPC support. Cadence server will accept requests on both TChannel and GRPC. With dynamic config flag
system.enableGRPCOutbound
it will also switch to GRPC communication internally between server components.
Please configure gRPC ports to all four services following the example
Shadower Workflow Feature
- 08128b113 - Workflow shadower bug fix and improvements (#4117)
- 28fd61d8e - Shadower workflow implementation (#4042)
Bug fixes
- b29845a06 - Fixing typos in README.md and comments File (#4142)
- 429cb1130 - Bug fix: Declare CloseStatus and HistoryStatus as integers for development dynamicconfig (#4125)
- 07d537122 - Fix don't swallow the error when building zap logger (#4102)
- d2c25ac79 - Fix docker build with empty idls
- 22f5e06f5 - Fix missing domain field when creating activity scheduled event (#4087)
- f3eaa110d - Fix emit 0 count if encounters error (#4073)
- d5cc770c0 - Fix domain registration error handling in cassandra (#4066)
- b78809c69 - Fix time convertion to nanos (#4063)
- 480cf5ee9 - Fix Dockerfile (#4083)
Tests
- 24cefa695 - Fix race condition in task re-dispatcher test (#4147)
- fa282dc59 - Fix flaky Cron integration test
- f50a0fe4b - Fix flaky test (#4116)
- af535dcc1 - Fix regression introduced by integration test refactoring (#4109)
- d3d456138 - Fix lint error in integration tests (#4100)
- 8fdedfb86 - Seperate integration test suite definition from actual integration tests (#4098)
- 487653fa3 - Add larger test timeout for large test (#3894)
- 5a10dc4fe - Fix flacky integration tests (#4094)
- dfc42d39f - Refactor integration tests (#4091)
- 471f99be2 - Fix flaky integration test (#4092)
- e1ad09bb5 - Fix CLI unit tests (#4090)
- d070b9dbf - Revert "Drop pointer on ActivityTaskScheduledEventAttributes.Domain (#4009)" (#4082)
CLI
- cf253f0f5 - Use go client version v0.17.0 (#4164)
- 06149bd9c - Bump cli version to 0.18.4 (#4150)
- 45ef498b5 - Update readme for CLI homebrew (#4135)
- 7bd910513 - Support CLI Delay Start (#4097)
- 00fafac0c - Update CLI usage for IDReusePolicy: TerminteIfRunning
GRPC
- bc1181155 - Replace gRPC port when resolving host address (#4174)
- 04f16e751 - Set grpc ports in docker config template (#4146)
- d0a8f7e6a - Created GRPC handlers and internal clients (#4057)
- d6c50f5cc - YARPC error mapping (#4070)
- 329357ce0 - Remove
omitempty
for fields used in PersistenceInfo (#4151) - 30702c2e0 - Moved out public proto IDLs to cadence-idls repository (#4152)
- 69d742930 - Add PersistenceInfo to DescribeCluster proto message (#4148)
- 21b21cdbd - Add PersistenceInfo to DescribeCluster thrift response (#4149)
- 6c06e562e - Add persistence info to DescribeCluster API call (#4136)
Others
- 430eb7491 - Allow updating ElasticSearch only when adding new search attributes
- 4a71b129a - Update SQL task manager to support sharded SQL DB (#4171)
- fd3822989 - Update workflow execution metrics (#4159)
- 62a77458d - Add Documentation for dynamicconfig: value type and allowed filters
- 12579bd15 - Support workflow already completed error (#4123)
- 37b8ea448 - Config layout refactor: centralize config file for documentation
- aac9dbabf - Bump supported client feature version (#4145)
- 7057e5e87 - Improve shadow workflow (#4144)
- a86abb482 - Replace statsd with prometheus as default in docker-compose
- d53e6319c - Wrap shadow workflow config inside SideEffect (#4140)
- 8d3519b24 - Update domain deprecation command to fail if workflow exists (#4126)
- 6fea8dd7c - Add print json flag to list domains command (#4134)
- 6ca6e0ecc - Refactor dynamicconfig comments for documentation
- d07d9805a - Remove active domain check in shadow workflow (#4133)
- acd25964a - Update domain registration to check required data field (#4132)
- 1fd6a57ae - Revert changing HistoryLength and CloseStatus to string (#4130)
- 801fda775 - Improve tasklist and implement history scavenger for SQL (#4059)
- b031307b3 - Refactor config: move config and dynamiconfig one level up (#4118)
- 7fa8f081c - Allow setting levelKey for logging level (#4120)
- bd6c19c69 - Improvements for show history from archival
- 3a1e1bcd7 - Expose server version tag to be set during build time
- 042923ff5 - Add proto changes for delay start field (#4104)
- 93a3e94a2 - Forward reset request to the active cluster (#4114)
- 0bc3681ed - Add more options to config_template for docker image (#4084)
- 2a7b75d6b - Add version to Kafka config (#4072)
- caf8fbd98 - WorkflowExecutionCloseStatus proto mapping (#4080)
- 1f27aaedc - Return plain yarpcerrors.Status with no internal error match (#4081)
- 84c938a01 - Treat persistence timeout as transient error (#4088)
- bd5859bd0 - Improve DLQ merge and purge command (#4075)
- e286ca01c - Add domain queries to scanner and fixer, and skip terminated scans (#4079)
- 7661a45f7 - Update bug report and PR templates
- 560b268f7 - Release current workflow lock on create as zombie (#4085)
- ec3d1b5d3 - Add a domain cluster filter during replication (#4069)
- 049196e80 - Regenerate files with thriftrw v1.25.0 (#4074)
- dca153d73 - Use gogofast to register types using gogo registry (#4071)
Release v0.20.0 Release published by yux0 on 4/16/2021
New Features & Improvements
GRPC
5ffd942d - Drop pointer for event id/version fields (#3948) 663f74cf - Drop pointer for signal name fields (#3966) 7af92bef - Drop pointer fields on remaining domain fields (#3972) fba536b1 - Drop pointer on marker name fields (#3971) 67ae5376 - Drop pointer for security token fields (#3970) baf151a1 - Drop pointer for task id fields (#3969) 523edcec - Drop pointer on visibility query fields (#3968) 3c03ea2f - Revert changes to use string casting for shard ID (#3991) b877308b - Drop pointer for shard id fields (#3996) 0035139a - Drop pointer for DomainTaskAttributes fields (#4003) c6d962ea - Drop pointer on cause/reason fields (#4002) cf67a20f - Drop pointer on BadBinary fields (#4001) cf5c9cc7 - Optional fields in proto IDL requests (#3989) 4cd869c4 - Drop pointer on ActivityTaskScheduledEventAttributes.Domain (#4009) da876dfb - Add oneof for DescribeHistoryHostRequest in proto IDLs (#3988) 24509c20 - Move non-public proto errors to internal api (#4011) 0921bf56 - Add missing fields/messages to proto IDLs (#4017) 0e34047c - Drop pointer on remaining fields (#4008) c5d67e3e - Use common ParentExecutionInfo in proto IDLs (#3997) f2f10d4d - Proto mappers (#3902) a8a94a21 - Revert "Drop pointer on ActivityTaskScheduledEventAttributes.Domain (#4009)" (#4082)
Bench test
117d6c18 - Open source bench tests (Part 1) (#3990) 1106daa6 - Open source bench test (Part 2) (#3998) b5ce3140 - Open source bench test (Part 3) (#4005) 174ca093 - Bench test README (#4012)
Task processing
528c7142 - Deprecate old task processing logic (#3938)
Replication
aa93e228 - Create non-transient decision when current version updates (#3960) 6c8d0486 - Release current workflow lock on create as zombie (#4085)
CLI Improvements
8852cfbb - cli v0.18.3 (#3959) 8aba0537 - Fix dryrun option for SQL/Cassandra schema update command
Domain deprecation
586704e2 - Implement domain deprecate CLI command (#4030) 0c46f3d4 - Update DeprecateDomain handler to handle global domain deprecation (#4029) 1e8b738e - Update list domain CLI command to list deprecated domains (#4039) b399bd50 - Disable starting new workflows in deprecated domain (#4038)
Workflow shadower
a2789954 - Update IDL for workflow shadower (#4035)
Bug Fixes
7882518e - Provide background context to all scanners (#3965)
Misc.
540ea2ca - Add missing -race arg on a couple test targets (#3957)
ce50c569 - bumping default QPS since frontend is making double calls to workflow list. (#3958)
3ea200e8 - Attempt to make some racy tests more reliable (#3961)
8cf308dc - Flatten UpdateDomainRequest (#3954)
c244e9d0 - Fix xdc failover integration test (#3967)
d39d4287 - Fix IP address in docker template (#3983)
59a98cf6 - Kafka TLS: allow CA(RootCAs) or cert/key(certificate chains) only
c5334afa - Use a test-logger in tests rather than stdout (#3976)
4b548e27 - Update cadence client (#3995)
2f822ee6 - Rename metric name SignalInfo to SignalInfoSize (#3993)
0a6ed6e6 - Allow configuring MaxWorkflowRetentionInDays (#3982)
456286a4 - Fix some racy reads in tests (#3975)
aecaa886 - Pretty-simple "find dependency updates" helper (#4000)
c9f200a5 - pick child workflow id check (#3994)
e43f52ad - Move tcheck to go.mod, get rid of glide dependency (#3999)
99430f5a - update goveralls (#4004)
addbdd47 - Default to non-verbose make test
output (#4010)
dfde9ba5 - Decouple decision handler and history engine impl logic (#3973)
94223715 - feature/changelog (#4014)
80b7bfc7 - Move workflow utility components to separate package (#4015)
ef9a4181 - Add more default Prometheus histogram buckets for non-latency timer metrics like history_size
4ed0171f - Add helper methods for sql plugin registeration (#4024)
6b048ce4 - Move decision related components to a separate package (#4021)
c0f1252a - fixed the poller count metric (#4020)
0c9a74d3 - Add support for ScyllaDB (#4022)
7bbf6dd7 - Log info message when outstanding poller is canceled (#4031)
aae8fb94 - Add compose file for multi-cluster setup (#4032)
150911cf - Increase poller history LRU cache size (#4033)
996cd8a7 - Cadence client downgrade to v0.15.0
bfcb03fe - Move visibility manater setup out of persistence base test (#4062)
a3708fb1 - Fix missing root dir prefix when loading dynamic config (#4056)
ed82bb73 - Refresh gocql session on no connection error (#4058)
86e6c7c3 - Enforce context timeout in matching AddTask (#4048)
2458bdbf - Minor updates: improve README and add comment for dynamic configuration (#4053)
f722cc0a - Emit task list lag metric in matching (#4051)
6a80bf1a - Add the service name to the log entry (#4044)
764500ac - Switch to gogo and yarpc compilers (#4040)
1de8cd41 - Fix prometheus metric error for dual emitting (#4047)
e7378622 - Fix the metric ActiveClusterGauge should be as common metric (#4043)
378111f4 - Context metrics tags to pass transport tag (#4037)
d7efde44 - Fix warnings when compiling the source code (#4036)
1b3436cf - Rewrite makefile to be reliable (#4034)
175850a2 - Update docker for 0.20.0 release
3a7f18a1 - Fix lint error in integration tests (#4100)
9b62895d - Seperate integration test suite definition from actual integration tests (#4098)
f828ab99 - Treat persistence timeout as transient error (#4088)
98ff0e59 - Refactor integration tests (#4091)
472f7578 - Fix Dockerfile (#4083)
03cdc869 - Regenerate files with thriftrw v1.25.0 (#4074)
22ee3c0b - Fix missing domain field when creating activity scheduled event (#4087)
Release v0.19.2 Release published by yux0 on 4/16/2021
Bug Fixes
d3c287e1 Provide background context to all scanners (#3965)
For a comprehensive list of changes and detailed release notes, please visit the Cadence GitHub Releases page.