v1.2.1
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 #3844
- Fix get raw history for transient decision by @yycptt in #3847
- Fix error handling when processing parent close policy by @yycptt in #3845
- Add logging/metrics for decision attempts by @yycptt in #3849
- Switch to gocql interface by @yycptt in #3837
- Fix NPE in DescribeMutableState by @yycptt in #3850
- Switch the remaining history component to internal types by @vytautas-karpavicius in #3843
- Switch Health status endpoints to internal types by @vytautas-karpavicius in #3842
- reset workflow with no decision task complete by @yux0 in #3687
- error check before return the ActivityLocalDispatchInfo by @mkolodezny in #3853
- Delete unused dynamic configs that have no referrence anymore by @longquanzheng in #3859
- Merge sql updates: Blob size increase by @yux0 in #3858
- Handle matching task list conditional error by @yux0 in #3867
- Fix go-generate by @yycptt in #3864
- Support visibility query with close status represented in string by @yycptt in #3865
- Add timers shardscanner by @mantas-sidlauskas in #3846
- replace string based logging with tagged logs by @mantas-sidlauskas in #3871
- Downgrade golang tools version by @yycptt in #3876
- Add instructions to setup local MySQL and Postgres by @yux0 in #3868
- Make max activity schedule to start timeout for retry configurable by domain by @yycptt in #3878
- Task processing debug logs by @yycptt in #3877
- Transfer queue validator by @yycptt in #3875
- Pick sql index changes by @yux0 in #3866
- Remove strict sanity check to allow reset by @yux0 in #3879
- Improve shard context timeout handling by @yycptt in #3881
- Add domain name tag in failover metrics by @yux0 in #3882
- break out when response is nil by @mantas-sidlauskas in #3886
- Allow using Kafka TLS without cert ca and key by @longquanzheng in #3862
- Fix dynamic config collection logValue function by @yycptt in #3880
- Update read DLQ messages API to return raw task info by @yux0 in #3869
- break if adminClient returns error by @mantas-sidlauskas in #3887
- Latest idl by @yux0 in #3888
- Fix activity lost metrics by @yycptt in #3889
- Add replication error logging and metrics by @yux0 in #3891
- Simplify templateGetLastMessageIDQuery sql query by @andrewjdawson2016 in #3890
- Add task processing workflow busy metric by @yycptt in #3892
- CLI 0.18.0 release by @yycptt in #3896
- Handle data corruption error in replication by @yux0 in #3895
- Add a "help" target to the makefile by @Groxx in #3898
- Initial protobuf types and API by @vytautas-karpavicius in #3863
- Fix workflow reset command by @yycptt in #3904
- CLI 0.18.1 patch release by @yycptt in #3908
- Use GetDomainName instead of GetDomainByID for retrieving domain names by @yycptt in #3899
- Start enabled shardscanner fixers by @mantas-sidlauskas in #3906
- Switch to protoc-gen-go by @vytautas-karpavicius in #3905
- Fix scan unsupported workflow in SQl DB by @yux0 in #3909
- Makefile cleanup / thrift revamp / gobin removed by @Groxx in #3903
- Version goveralls, remove unused go bins from docker setup by @Groxx in #3913
- Remove duplicate docs by @yux0 in #3912
- Fix docker-push.sh execution by @Groxx in #3919
- add server side metrics for activity & decision poller counts for task lists by @mkolodezny in #3918
- Simplify tags by @Groxx in #3923
- Proto domain api improvements by @vytautas-karpavicius in #3907
- Drop pointers for domain name/id fields by @vytautas-karpavicius in #3916
- Drop pointer for worflow / run id fields by @vytautas-karpavicius in #3917
- Mutable state inconsistency logs and metrics by @yycptt in #3921
- Enable multicursor queue processing logic by default by @yycptt in #3933
- Add more options to config_template for docker image and disable archival by default by @longquanzheng in #3873
- Drop pointer for identity fields by @vytautas-karpavicius in #3930
- Update test to suppourt multiple database concurrent updates by @anish531213 in #3939
- Drop pointer for workflow type name by @vytautas-karpavicius in #3924
- Drop pointer for activity type name by @vytautas-karpavicius in #3925
- Drop pointer for task list name by @vytautas-karpavicius in #3926
- Drop pointer for cluster name fields by @vytautas-karpavicius in #3927
- CLI v0.18.2 by @just-at-uber in #3944
- Drop pointer on request id fields by @vytautas-karpavicius in #3928
- Drop pointer for timerid fields by @vytautas-karpavicius in #3931
- Drop pointer for page size fields by @vytautas-karpavicius in #3935
- Drop pointer for cron schedule fields by @vytautas-karpavicius in #3936
- Drop pointer for poller id fields by @vytautas-karpavicius in #3941
- Drop pointer for forwarded from fields by @vytautas-karpavicius in #3942
- Drop pointer for attempt fields by @vytautas-karpavicius in #3937
- Drop pointer on binary checksum fields by @vytautas-karpavicius in #3943
- Support AWS signing for ElasticSearch client by @longquanzheng in #3946
- Switch to revive, drop golint by @Groxx in #3945
- Drop pointer for retry policy fields by @vytautas-karpavicius in #3951
- Emit number of task list managers started by @mantas-sidlauskas in #3929
- Improve docker-compose local unit-test, minor cleanup by @Groxx in #3955
- Drop pointer for activity id fields by @vytautas-karpavicius in #3949
- Drop pointers for bool fields by @vytautas-karpavicius in #3956
- Cleanup internal types and remove generator by @vytautas-karpavicius in #3950
- Add missing -race arg on a couple test targets by @Groxx in #3957
- Fix/default qps by @just-at-uber in #3958
- CLI v0.18.3 by @just-at-uber in #3959
- Attempt to make some racy tests more reliable by @Groxx in #3961
- Deprecate old task processing logic by @yycptt in #3938
- Create non-transient decision when current version updates by @yux0 in #3960
- Flatten UpdateDomainRequest by @vytautas-karpavicius in #3954
- Drop pointer for event id/version fields by @vytautas-karpavicius in #3948
- Fix xdc failover integration test by @vytautas-karpavicius in #3967
- Drop pointer for signal name fields by @vytautas-karpavicius in #3966
- Fix IP address in docker template by @longquanzheng in #3983
- Kafka TLS: allow CA(RootCAs) or cert/key(certificate chains) only by @longquanzheng in #3974
- Drop pointer on visibility query fields by @vytautas-karpavicius in #3968
- Drop pointer for task id fields by @vytautas-karpavicius in #3969
- Drop pointer for security token fields by @vytautas-karpavicius in #3970
- Drop pointer on marker name fields by @vytautas-karpavicius in #3971
- Drop pointer on remaining domain fields by @vytautas-karpavicius in #3972
- Provide background context to all scanners by @mantas-sidlauskas in #3965
- Use a test-logger in tests rather than stdout by @Groxx in #3976
- Revert changes to use string casting for shard ID by @yux0 in #3991
- Open source bench tests (Part 1) by @yycptt in #3990
- Update cadence client by @mantas-sidlauskas in #3995
- Rename metric name SignalInfo to SignalInfoSize by @AngerM in #3993
- Allow configuring MaxWorkflowRetentionInDays by @longquanzheng in #3982
- Fix dryrun option for SQL/Cassandra schema update command by @longquanzheng in #3992
- Open source bench test (Part 2) by @yycptt in #3998
- Fix some racy reads in tests by @Groxx in #3975
- Drop pointer for shard id fields by @vytautas-karpavicius in #3996
- Pretty-simple "find dependency updates" helper by @Groxx in #4000
- pick child workflow id check by @yux0 in #3994
- Move tcheck to go.mod, get rid of glide dependency by @Groxx in #3999
- Open source bench test (Part 3) by @yycptt in #4005
- update goveralls by @mantas-sidlauskas in #4004
- Drop pointer on BadBinary fields by @vytautas-karpavicius in #4001
- Drop pointer on cause/reason fields by @vytautas-karpavicius in #4002
- Drop pointer for DomainTaskAttributes fields by @vytautas-karpavicius in #4003
- Optional fields in proto IDL requests by @vytautas-karpavicius in #3989
- Default to non-verbose
make test
output by @Groxx in #4010 - Add oneof for DescribeHistoryHostRequest in proto IDLs by @vytautas-karpavicius in #3988
- Drop pointer on ActivityTaskScheduledEventAttributes.Domain by @vytautas-karpavicius in #4009
- Decouple decision handler and history engine impl logic by @yycptt in #3973
- Move non-public proto IDL errors to internal api by @vytautas-karpavicius in #4011
- feature/changelog by @just-at-uber in #4014
- Move workflow utility components to separate package by @yycptt in #4015
- Use common ParentExecutionInfo in proto IDLs by @vytautas-karpavicius in #3997
- Drop pointer on remaining fields by @vytautas-karpavicius in #4008
- Add missing fields/messages to proto IDLs by @vytautas-karpavicius in #4017
- fixed the poller count metric by @mkolodezny in #4020
- Move decision related components to a separate package by @yycptt in #4021
- Add helper methods for sql plugin registeration by @andrewjdawson2016 in #4024
- Add more default Prometheus histogram buckets for non-latency timer metrics like history_size by @longquanzheng in #4007
- Bench test README by @yycptt in #4012
- Add support for ScyllaDB by @adambabik in #4022
- Implement domain deprecate CLI command by @Shaddoll in #4030
- Update IDL for workflow shadower by @yycptt in #4035
- Add compose file for multi-cluster setup by @Shaddoll in #4032
- Log info message when outstanding poller is canceled by @mantas-sidlauskas in #4031
- Proto mappers by @vytautas-karpavicius in #3902
- Increase poller history LRU cache size by @mantas-sidlauskas in #4033
- Disable starting new workflows in deprecated domain by @Shaddoll in #4038
- Update list domain CLI command to list deprecated domains by @Shaddoll in #4039
- Update DeprecateDomain handler to handle global domain deprecation by @Shaddoll in #4029
- Rewrite makefile to be reliable by @Groxx in #4034
- Fix warnings when compiling the source code by @git-hulk in #4036
- Context metrics tags to pass transport tag by @vytautas-karpavicius in #4037
- Fix the metric ActiveClusterGauge should be as common metric by @git-hulk in #4043
- Fix prometheus metric error for dual emitting by @longquanzheng in #4047
- Switch to gogo and yarpc compilers by @vytautas-karpavicius in #4040
- Add the service name to the log entry by @git-hulk in #4044
- Emit task list lag metric in matching by @yycptt in #4051
- Minor updates: improve README and add comment for dynamic configuration by @longquanzheng in #4053
- Enforce context timeout in matching AddTask by @yycptt in #4048
- Refresh gocql session on no connection error by @yycptt in #4058
- Fix missing root dir prefix when loading dynamic config by @git-hulk in #4056
- Move visibility manager setup out of persistence base test by @Shaddoll in #4062
- Disable signal workflow in deprecated domains by @Shaddoll in #4041
- Fix time convertion to nanos by @vytautas-karpavicius in #4063
- Shadower workflow implementation by @yycptt in #4042
- Update CLI usage for IDReusePolicy: TerminteIfRunning by @longquanzheng in #4067
- Fix domain registration error handling in cassandra by @yycptt in #4066
- YARPC error mapping by @vytautas-karpavicius in #4070
- Use gogofast to register types using gogo registry by @vytautas-karpavicius in #4071
- Fix emit 0 count if encounters error by @yux0 in #4073
- Regenerate files with thriftrw v1.25.0 by @yycptt in #4074
- Add a domain cluster filter during replication by @yux0 in #4069
- Fix Dockerfile by @yycptt in #4083
- Revert "Drop pointer on ActivityTaskScheduledEventAttributes.Domain (#4009)" by @yycptt in #4082
- Fix missing domain field when creating activity scheduled event by @yycptt in #4087
- Release current workflow lock on create as zombie by @yux0 in #4085
- Fix CLI unit tests by @emrahs in #4090
- Update bug report and PR templates by @longquanzheng in #4078
- Fix flaky integration test by @emrahs in #4092
- Add domain queries to scanner and fixer, and skip terminated scans by @emrahs in #4079
- Refactor integration tests by @Shaddoll in #4091
- Fix flacky integration tests by @Shaddoll in #4094
- Improve DLQ merge and purge command by @yycptt in #4075
- Treat persistence timeout as transient error by @yycptt in #4088
- Return plain yarpcerrors.Status with no internal error match by @vytautas-karpavicius in #4081
- WorkflowExecutionCloseStatus proto mapping by @vytautas-karpavicius in #4080
- Add larger test timeout for large test by @anish531213 in #3894
- Seperate integration test suite definition from actual integration tests by @Shaddoll in #4098
- Fix lint error in integration tests by @Shaddoll in #4100
- Support CLI Delay Start by @demirkayaender in #4097
- Fix regression introduced by integration test refactoring by @longquanzheng in #4109
- Fix docker build with empty idls by @longquanzheng in #4108
- Add version to Kafka config by @mistikel in #4072
- Add more options to config_template for docker image by @peaaceChoi in #4084
- Forward reset request to the active cluster by @demirkayaender in #4114
- Add proto changes for delay start field by @demirkayaender in #4104
- Fix flaky test by @demirkayaender in #4116
- Expose server version tag to be set during build time by @longquanzheng in #4106
- Fix don't swallow the error when building zap logger by @git-hulk in #4102
- Workflow shadower bug fix and improvements by @yycptt in #4117
- Improvements for show history from archival by @longquanzheng in #4112
- Allow setting levelKey for logging level by @ignaciogonzalezsomoza in #4120
- Bug fix: Declare CloseStatus and HistoryStatus as integers for development dynamicconfig by @Stratouklos in #4125
- Refactor config: move config and dynamiconfig one level up by @longquanzheng in #4118
- Fix flaky Cron integration test by @longquanzheng in #4119
- Improve tasklist and implement history scavenger for SQL by @kraney in #4059
- Revert changing HistoryLength and CloseStatus to string by @Stratouklos in #4130
- Update domain registration to check required data field by @Shaddoll in #4132
- Remove active domain check in shadow workflow by @yycptt in #4133
- Refactor dynamicconfig comments for documentation by @longquanzheng in #4129
- Add print json flag to list domains command by @Shaddoll in #4134
- Update domain deprecation command to fail if workflow exists by @Shaddoll in #4126
- Created GRPC handlers and internal clients by @vytautas-karpavicius in #4057
- Wrap shadow workflow config inside SideEffect by @yycptt in #4140
- Update readme for CLI homebrew by @longquanzheng in #4135
- Replace statsd with prometheus as default in docker-compose by @longquanzheng in #4122
- Fixing typos in README.md File by @iamrodrigo in #4142
- Set grpc ports in docker config template by @yycptt in #4146
- Improve shadow workflow by @yycptt in #4144
- Bump supported client feature version by @yycptt in #4145
- Fix race condition in task re-dispatcher test by @yycptt in #4147
- Add persistence info to DescribeCluster API call by @mantas-sidlauskas in #4136
- Add PersistenceInfo to DescribeCluster thrift response by @mantas-sidlauskas in #4149
- Add PersistenceInfo to DescribeCluster proto message by @mantas-sidlauskas in #4148
- Bump cli version to 0.18.4 by @Shaddoll in #4150
- Config layout refactor: centralize config file for documentation by @longquanzheng in #4128
- Moved out public proto IDLs to cadence-idls repository by @vytautas-karpavicius in #4152
- Remove
omitempty
for fields used in PersistenceInfo by @mantas-sidlauskas in #4151 - Support workflow already completed error by @demirkayaender in #4123
- Assign CLI version on CLI commands by @demirkayaender in #4153
- Add Documentation for dynamicconfig: value type and allowed filters by @longquanzheng in #4156
- Elasticsearch TLS support by @spmistry in #4154
- Add Signal Name to Signal Metrics by @demirkayaender in #4161
- Add debug info when List API is hititng ratelimiting/sampling by @longquanzheng in #4138
- Expand workflowCompleted error to other APIs by @demirkayaender in #4163
- Use go client version v0.17.0 by @yycptt in #4164
- Update workflow execution metrics by @Shaddoll in #4159
- Update SQL task manager to support sharded SQL DB by @Shaddoll in #4171
- Fix docker-compose bug: publicClient is not valid and error by @longquanzheng in #4170
- Detect when IDL submodule is not initialized and warn user, improve .fake-codegen by @Groxx in #4172
- Expose max message size config for gRPC by @vytautas-karpavicius in #4166
- Replace gRPC port when resolving host address by @vytautas-karpavicius in #4174
- Allow updating ElasticSearch only when adding new search attributes by @longquanzheng in #4160
- Not allow more than one types of metric reporters by @longquanzheng in #4180
- Handle workflow not exist error when archiving history by @yycptt in #4181
- Fix proto mapper for Payload by @yycptt in #4184
- Support Listing Scheduled Cron Workflows by @demirkayaender in #4176
- Support managed failover workflow with drill mode by @yux0 in #4177
- Update Master cluster to Primary cluster by @yux0 in #4185
- Update admin db commands to support all registered SQL DBs by @Shaddoll in #4189
- Improve error handling for SQL persistence implementation by @Shaddoll in #4178
- Add nextEventID for frontend PollForDecisionTask response by @yycptt in #4190
- Tidy go mod by @Shaddoll in #4193
- Support is_cron field for SQL/Cassandra/Postgres by @demirkayaender in #4191
- Fix sql error conversion by @Shaddoll in #4194
- Add design doc for workflow shadowing by @yycptt in #4137
- Refactor: move errorChecker to nosqlplugin pkg by @longquanzheng in #4195
- Use frontend client in parentClosePolicy workflow to allow auto-forwarding by @yycptt in #4202
- Fix describeWorkflowExecution in passive cluster by @yycptt in #4203
- Support delaying cron workflows by @demirkayaender in #4196
- Introduce Options for task list scavenger by @mantas-sidlauskas in #4205
- Update admin DB commands to support SQL databases by @Shaddoll in #4198
- Add more comments about how to implement the interfaces in NoSQL by @longquanzheng in #4204
- Rollback workflow already completed error by @demirkayaender in #4209
- Add rebalance workflow by @yux0 in #4199
- Fix domain last updated time in updateDomain Operation by @yux0 in #4211
- Add dynamic configs and metrics to control/monitor per id lengths by @andrewjdawson2016 in #4173
- Wire up rebalance CLI by @yux0 in #4213
- Check identity length before RespondDecisionTaskCompleted to history by @yycptt in #4215
- Fix update domain replication ack level by @yux0 in #4212
- Pick signal requestID dedup fix from temporal by @yycptt in #4210
- Shift pointer conversions down to thrift encoder by @Shaddoll in #4206
- Remove unused now parameter from task generator interface by @yycptt in #4217
- Minor improvements on NoSQL interfaces and implementation by @longquanzheng in #4219
- Domain queue ack level fix by @yux0 in #4218
- Refactoring Cassandra shard persistence manager for NoSQL support by @longquanzheng in #4197
- Update Admin CLI shard operations to support SQL databases by @Shaddoll in #4207
- Add cross-cluster task related types and methods to data/persistence interface by @yycptt in #4225
- Add Admin Shard List Command by @demirkayaender in #4224
- Add skeleton of other nosql plugin and add dynamodb package by @longquanzheng in #4220
- CLI: Differentiate local and global in describe domain by @longquanzheng in #4231
- Regenerate proto types by @vytautas-karpavicius in #4234
- Update Admin CLI workflow operations to support SQL databases by @Shaddoll in #4222
- Add cross cluster processing queue state to data/persistence interface by @yycptt in #4230
- Remove unused ResetWorkflowExecution method from persistence by @yycptt in #4236
- Add conn_attrs flag to admin db commands by @Shaddoll in #4226
- Change domain data CLI parameter for consistency by @longquanzheng in #4240
- Raise VisibilityListMaxQPS limit for local docker-compose env by @longquanzheng in #4238
- Cassandra implementation for cross cluster queue by @yycptt in #4237
- Add logic in replication stack to handle different shard number by @yux0 in #4239
- Refactoring Cassandra visibility persistence manager for NoSQL support by @longquanzheng in #4223
- Remove transfer/timer failover queue level from persistence layer by @yycptt in #4232
- Add placeholder for dynamo visibilityCRUD methods by @yycptt in #4244
- Fix persistence test for transfer/replication task completion by @yycptt in #4245
- Refactoring Cassandra task persistence manager for NoSQL support by @longquanzheng in #4229
- Refactor: not require db visibility when ES visibility is provided by @longquanzheng in #4241
- Fix Cassandra schema version check by @yycptt in #4247
- Update shardContext for getting and updating cross-cluster queue states by @yycptt in #4246
- Rename MetadataManager to DomainManager by @longquanzheng in #4249
- Update generating close event to use event version by @yux0 in #4261
- Fix styles and instructions in docs by @calvinxiao in #4260
- Adding protoversion as a config value by @iamrodrigo in #4252
- Support Feature Flags for Breaking Changes by @demirkayaender in #4257
- preserve some time to return partial of the result by @yux0 in #4265
- Fix proto FromParentExecutionInfoFields mapper by @vytautas-karpavicius in #4262
- Add version check for JavaConsistentQuery by @longquanzheng in #4258
- Generate cross cluster tasks in mutable state task generator by @yycptt in #4250
- Remove timerGate usage in transfer queue processor by @yycptt in #4248
- Add common Future util implementation by @yycptt in #4266
- Rename persistence files for consistency by @longquanzheng in #4256
- Update admin rereplicate command to support SQL databases by @Shaddoll in #4227
- Add cross cluster task interface by @yux0 in #4264
- Support prefix match for list domain command by @demirkayaender in #4275
- Thrift and Proto definition for fetching and responding cross-cluster tasks by @yycptt in #4276
- Support Cross Cluster Operations in SQL type DBs by @demirkayaender in #4271
- Task fetcher implementation by @yycptt in #4272
- Refactoring Cassandra workflow persistence manager for NoSQL support : Part 1 by @longquanzheng in #4251
- Convert transfer to cross cluster task if target domain is active in remote cluster by @yycptt in #4268
- Remove IsConditionalFailed from NoSQL by @longquanzheng in #4278
- Adding protoversion in config file by @iamrodrigo in #4263
- Remove unnecessary nonzero requirements in some fields of NoSQL config struct by @longquanzheng in #4283
- Bugfix: write changes back to *Persistence.DataStores by @Groxx in #4284
- Use global domain by default by @longquanzheng in #4279
- Add internal types and mappers for cross cluster related APIs by @yycptt in #4285
- Allow skipping optional tests for optional methods in plugins by @Shaddoll in #4287
- Rename cassandra files to nosqlStores by @longquanzheng in #4281
- Add client and handler implementation for cross-cluster task APIs by @yycptt in #4286
- Implement new matching and frontend API to get all tasklists for a domain by @anish531213 in #4175
- add tasklist to auth attributes by @mkolodezny in #4288
- Fix a racy read in test by @Groxx in #4291
- Remove tasklist kind from tasklist id by @yux0 in #4295
- fill tasklist in auth attributes for poll APIs by @mkolodezny in #4296
- Add domain tag for skip task metrics and logs by @yycptt in #4293
- Improve definition for cross-cluster related endpoints by @yycptt in #4294
- Ignore bench and canary test coverage by @yux0 in #4297
- Refactoring Cassandra workflow persistence manager for NoSQL support-Part 2 by @longquanzheng in #4280
- Target cluster cross cluster task processor by @yycptt in #4292
- Add cross cluster queue processor by @yux0 in #4269
- add enable service auth key by @mkolodezny in #4299
- Clean up linting warnings by @yux0 in #4290
- Refactor task executor interface by @yycptt in #4300
- Enforce context timeout for retry policies in execution context and cache by @yycptt in #4303
- Deep merge config files by @vytautas-karpavicius in #4165
- Refactoring Cassandra workflow persistence manager for NoSQL support-Part 3 by @longquanzheng in #4298
- Fix typo in docker config template which cause docker image corruption by @longquanzheng in #4310
- Expose frontend gRPC port on docker containers by @vytautas-karpavicius in #4312
- Cleanup lint warning by @yux0 in #4309
- Update Mutable State to reduce unnecessary update to DB by @Shaddoll in #4304
- Add persistence error logs to queue manager by @Shaddoll in #4318
- Fix MaximumSignalsPerExecution documentation default value by @longquanzheng in #4313
- Implement OAuth Authorizer by @iamrodrigo in #4306
- Refactor Cassandra test utility for NoSQL support by @longquanzheng in #4311
- Add cross cluster target task executor by @yycptt in #4317
- Update admin CLI commands for cross-cluster queue by @yycptt in #4321
- Add Permissions to Attributes and reading Public/Private key from disk instead of reading it from yaml file by @iamrodrigo in #4320
- Improve is cross cluster task check by @yycptt in #4326
- Fix missing activity failure details in standby cluster by @yycptt in #4323
- CLI sending authorized request by @iamrodrigo in #4327
- Fix CLI admin domain bug that didn't load Cassandra plugin by @longquanzheng in #4330
- Remove unused replicationConsumer related config by @yycptt in #4324
- Notify queue processor about cross cluster tasks by @yycptt in #4328
- Implement history handler for fetching and responding cross-cluster tasks by @yycptt in #4329
- Update OAuth implementation to use domainCache to authorize by @longquanzheng in #4333
- Fix deadlock in transfer queue processor by @yycptt in #4337
- Server and CLI use version from release and versionChecking constant and commit revision by @longquanzheng in #4308
- Feature cont.: authorize CLI as admin with private by @iamrodrigo in #4338
- Parallelize GetWorkflowExecution SQL calls by @demirkayaender in #4339
- Enable batch job feature by default and update dynamic config docs by @longquanzheng in #4343
- Improve contributing and dev process by @longquanzheng in #4347
- Added config store functionality (initial implementation) by @aliue in #4357
- Fix CLI jwtKey NPE issue by @yycptt in #4358
- Fix oauth yaml config by @yycptt in #4360
- Update community links for Discussion by @longquanzheng in #4370
- Allow removing replica from domain replication group by @longquanzheng in #4346
- Optimization for start child workflow task by @yux0 in #4315
- Fix ndc reset workflow replication bug by @Shaddoll in #4376
- Fix admin workflow re-replicate command by @yycptt in #4325
- Fill publicClient with currentCluster RpcAddress as default by @longquanzheng in #4365
- Expose invalid timer value in the error message by @demirkayaender in #4380
- Add X-Cluster Child Workflow Completion Tasks by @demirkayaender in #4336
- Failover metrics scope improve by @yux0 in #4391
- Add docker file/config/compose for bench and canary by @longquanzheng in #4388
- Refactor ClusterMetadata defaults and validation by @vytautas-karpavicius in #4385
- Add context metric tags for admin handler by @vytautas-karpavicius in #4404
- Update CHANGELOG.md by @vytautas-karpavicius in #4405
- add decision result count check by @mkolodezny in #4402
- Try detecting timer and activity resurrection by @yycptt in #4375
- Emit logs with workflow execution tag for timedout frontend requests by @yycptt in #4379
- Disable basic(db) visibility sampling by default by @longquanzheng in #4407
- Fix domain updating via grpc by @vytautas-karpavicius in #4418
- gRPC for cross DC traffic by @vytautas-karpavicius in #4390
- Automatically adjust task priority and redispatch interval based on attempts by @yycptt in #4378
- Improve/simplify archival config validation by @longquanzheng in #4366
- Add authorizer protection for AdminAPI by @longquanzheng in #4348
- Long poll completion buffer to prevent timeouts by @vytautas-karpavicius in #4425
- Dynamic replication batch size by @yux0 in #4301
- Rewrite/improve basic load test by @longquanzheng in #4399
- Fix auot-build script typo by @longquanzheng in #4428
- Updated yarpc to v1.56.0 by @vytautas-karpavicius in #4423
- Add feature flag for scheduling cross-cluster operations by @yycptt in #4424
- Adding middleware to inject Auth token for internal requests to frontend by @iamrodrigo in #4364
- Fix OAuth sample config and add docker-compose for OAuth testing server by @longquanzheng in #4352
- Set completed workflow current version to lastWriteVersion by @yycptt in #4431
- Revert ratelimiting behavior for frontend worker related APIs by @yycptt in #4435
- Support ApplyParentClosePolicy Cross Cluster Tasks by @demirkayaender in #4392
- Add feature flag on emitting signal name metric tag by @yux0 in #4434
- Add getFailoverInfo API by @yux0 in #4408
- Allow replicate history generated from same cluster by @yux0 in #4429
- Refactor test for internal integration tests by @yycptt in #4437
- Implement cross-cluster source task by @yycptt in #4398
- Refactor config methods for internal use by @yycptt in #4448
- Misc improvements: development & sample config & README & Issue Template by @longquanzheng in #4443
- Load OAuth credential on startup instead of request processing by @iamrodrigo in #4442
- Matching per domain RPS limit by @yycptt in #4433
- Expose GetTaskListByDomain in CLI by @yux0 in #4462
- Remove previous domain lists from domain cache by @yux0 in #4463
- Validate shard ID range by @yux0 in #4461
- Set limit on range queries to prevent bad queries causing degradation by @Shaddoll in #4458
- Add tagged loger to shardscanner by @mantas-sidlauskas in #4466
- extend permission attributes for service auth by @mkolodezny in #4468
- Implement cross-cluster source task executor by @yycptt in #4445
- Fix/docker multicluster by @just-at-uber in #4473
- Add a step to scan workflow to be in DLQ by @yux0 in #4471
- Add documentation to canary and improvements by @longquanzheng in #4447
- Refactor task executor tests by @yycptt in #4475
- add enable service auth logging key by @mkolodezny in #4480
- Fix workflow refresh for closed workflows by @yycptt in #4472
- Fix nil pointer dereference issue in matching by @Shaddoll in #4481
- Emit metrics during shardscanner fix and scan activities by @mantas-sidlauskas in #4476
- Fix startTime in workflow task refresher by @yycptt in #4488
- Adding debug metrics in domain callback by @yux0 in #4484
- Fix parent close policy for cross-domain childs by @yycptt in #4486
- Integrate failover into into describe domain response by @yux0 in #4440
- Update get tasklist response by @yux0 in #4483
- Fix workflow retry policy overriding workflow timeout by @fenghan89 in #4467
- Use gRPC outbound by default for internal traffic by @vytautas-karpavicius in #4492
- Limit batch size for fetching cross cluster tasks by @yycptt in #4487
- add workflow type to signal with start auth by @mkolodezny in #4495
- Minor ratelimit test cleanup by @Groxx in #4497
- Fix timer resurrection check by @yycptt in #4499
- Fix access control admin handler initialization by @yux0 in #4500
- Refactor to add a SQL driver layer for multiple SQL databases support as sharded SQL by @longquanzheng in #4498
- fix flaky TestWorkflowRetryPolicyContinueAsNewAsCron integration test by @fenghan89 in #4496
- Update persistence test to verify delete history branch actually delete related nodes by @Shaddoll in #4494
- Managed failover workflow improvements by @yux0 in #4491
- Moved RPC related types to a dedicated package by @vytautas-karpavicius in #4505
- Move dispatcher provider to rpc package by @vytautas-karpavicius in #4507
- Refactor PeerChooserFactory out of DispatcherProvider by @vytautas-karpavicius in #4508
- Add disableSniff: true flag to update-development_es_v7.yaml by @fenghan89 in #4501
- Move serviceImpl to integration tests by @vytautas-karpavicius in #4513
- Add sample config to run with opensearch by @longquanzheng in #4512
- Fix record child completion error handling by @yycptt in #4515
- Reshuffle service.Config and resource.Params by @vytautas-karpavicius in #4514
- Refactor service naming constants by @vytautas-karpavicius in #4516
- Refactor cross cluster queue implementation by @yycptt in #4493
- Introduce rpc.Params by @vytautas-karpavicius in #4517
- Move out auth middleware and add test coverage by @vytautas-karpavicius in #4519
- Execution logic for RecordChildCompletion and ApplyParentClosePolicy by @demirkayaender in #4474
- Added response info middleware by @vytautas-karpavicius in #4522
- Add size checker when replication messages return by @yux0 in #4521
- Implement sharded SQL driver to support using multiple SQL databases by @longquanzheng in #4504
- Use common dispatcher for public client outbound by @vytautas-karpavicius in #4523
- Revert "Use common dispatcher for public client outbound (#4523)" by @vytautas-karpavicius in #4534
- Use common dispatcher for public client outbound #2 by @vytautas-karpavicius in #4537
- Add server startup test to prevent docker image master-auto-setup getting broken by @longquanzheng in #4535
- Improve close execution task for cross cluster situation by @yycptt in #4528
- Upgrade golang/sys for go 1.17 by @yycptt in #4543
- Add metrics for cross cluster implementation by @yycptt in #4527
- Added combineOutbounds to combine multiple outbound builders by @vytautas-karpavicius in #4538
- Add inbound metrics middleware by @vytautas-karpavicius in #4545
- Log WorkflowID, RunID, domainName when a workflow times out or gets terminated by @WToma in #4548
- Wire up cross-cluster operation implementation by @yycptt in #4524
- Move out dispatcher from client factory by @vytautas-karpavicius in #4506
- Update shard context to reduce DB calls for closed shards by @Shaddoll in #4547
- Add console as logging encoding type by @longquanzheng in #4549
- URL encode postgres credentials by @agrimrules in #4550
- Fix docker config template for secondary cluster by @vytautas-karpavicius in #4551
- Remove unused NewFrontendClient functions by @vytautas-karpavicius in #4553
- Added cross DC outbound builder by @vytautas-karpavicius in #4552
- Fix public client default value after xdc switching to gRPC by @longquanzheng in #4560
- Removed frontend client randomization by @vytautas-karpavicius in #4558
- Remove dispatcher provider by @vytautas-karpavicius in #4559
- Add fixer workflow triggered by remote by @yux0 in #4482
- Add Redirect policy to forward all domain APIs by @longquanzheng in #4531
- Misc. fix for cross cluster implementation by @yycptt in #4554
- Add a hard limit for number of decision retry attempts with a dynamic… by @emrahs in #4490
- Improve archival history mutated error logs and add option to allow archiving incomplete history by @longquanzheng in #4541
- Upgrade yarpc to v1.58.0 by @Shaddoll in #4564
- Switch canary to gRPC by @vytautas-karpavicius in #4570
- Fix mysql insecure hostname verfiy didn't work by @git-hulk in #4569
- Improve server_test and instructions on homebrew and dynamic config docs by @longquanzheng in #4557
- Support filtering global domains in ElasticSearch by @demirkayaender in #4539
- Refactor and improve the retry logic to avoid throttling dependency services by @Shaddoll in #4351
- Handle applyParentClose target domain failover by @demirkayaender in #4533
- Remove github auto-merge job by @vytautas-karpavicius in #4577
- Fix build on M1 macs by @Groxx in #4576
- Show more information about panicked objects by @Groxx in #4575
- Fix and improve canary thrift config and docs by @longquanzheng in #4580
- Add admin respond cross cluster task completed API by @yycptt in #4565
- Allow canary to skip error on creating domains for canary by @longquanzheng in #4584
- Add cross region sample config and minor fix docker template by @longquanzheng in #4574
- Fx docker template and canary batcher workflow by @longquanzheng in #4585
- Set workflow start time in application layer by @yycptt in #4581
- Schedule first decision for abandoned child if parent closed by @yycptt in #4579
- Cleanup unused setters in client.Bean by @vytautas-karpavicius in #4555
- Change canary back to start both worker and starter by default by @longquanzheng in #4587
- Split transfer close execution task by @yycptt in #4583
- Fix NPE when replicating child started event by @yycptt in #4591
- Limited retry for normal decision scheduleToStart timeout by @yycptt in #4567
- Unify mysql user password for testing by @longquanzheng in #4589
- Provide Channel for Ringpop by @mantas-sidlauskas in #4597
- Perform schema checks for multiple SQL database and add context to AdminDB DDL interface by @longquanzheng in #4561
- Fix target domain not active error handling for transfer task by @yycptt in #4599
- Add ctx parameter to queue processor actions by @yycptt in #4600
- Persist domainID instead of domainName for childExecutionInfo by @yycptt in #4601
- Fix get replication task read level update issue by @Shaddoll in #4607
- Add dynamic config to disable generate replication tasks by @yux0 in #4608
- Handle error case in response info middleware by @yux0 in #4609
- Add TLS support on gRPC by @vytautas-karpavicius in #4606
- Cli: notify on SIGINT by @mantas-sidlauskas in #4615
- Fallback to zero value for non-present parent execution fields by @vytautas-karpavicius in #4617
- ElasticSearch Analyzer by @demirkayaender in #4598
- Use direct outbound for history client by @vytautas-karpavicius in #4619
- Fix NPE in GCP archival by @longquanzheng in #4626
- Support DNS SRV Records within Ringpop by @lindleywhite in #4614
- Remove Membership Factory by @mantas-sidlauskas in #4627
- Fixing master build by @vytautas-karpavicius in #4631
- feat: Fixing RPC to allow bindOnIP for IPv6 by @StarAurryon in #4620
- Use direct outbound for matching client by @vytautas-karpavicius in #4622
- Add inbound header forwarding middleware by @vytautas-karpavicius in #4637
- Update golang/mock to v1.6.0 by @mantas-sidlauskas in #4636
- Implement MongoDB plugin Part1: skeleton and ConfigStore by @longquanzheng in #4590
- Update docker image to use 1.17 Golang by @longquanzheng in #4632
- Add prometheus metric for canary/bench by @longquanzheng in #4625
- Apply ConnectAttributes for postgres by @wenerme in #4639
- Move ringpop setup to common/membership by @mantas-sidlauskas in #4638
- Reduce API scope for membership.Monitor by @mantas-sidlauskas in #4644
- Use generated proto types from cadence-idl repo by @vytautas-karpavicius in #4630
- Add admin tool to decode any thrift binary into JOSN by @longquanzheng in #4634
- Fix build by switching to golang:1.17-alpine3.13 by @vytautas-karpavicius in #4641
- Fix badly formatted files by @demirkayaender in #4647
- Use streaming implementation of thriftrw encoder/decoder by @Shaddoll in #4568
- Merge membership Monitor and ServiceResolver to membership.Resolver by @mantas-sidlauskas in #4646
- Fix ResponseInfo to work on all transports by @vytautas-karpavicius in #4649
- Fix remote sync match for standby domains and task creation time by @yycptt in #4654
- Add logs for ID length violation checkers by @Shaddoll in #4655
- Shuffle responses for replication messages by @vytautas-karpavicius in #4652
- make fmt by @mantas-sidlauskas in #4658
- [membership] Replace Ringop with PeerProvider interface by @mantas-sidlauskas in #4653
- Add long running workflow metrics by @demirkayaender in #4643
- Add domain to pendingChildExecutionInfo by @yycptt in #4611
- Parent close policy should apply to child workflow only by @yycptt in #4612
- Create ElasticSearch client via factory by @vytautas-karpavicius in #4660
- Support partial retries for ApplyParentPolicy by @demirkayaender in #4610
- Bug fixes for cross domain operations by @yycptt in #4623
- Improve cross cluster components shutdown logic by @yycptt in #4662
- Fix admin db thrift decode tool by @longquanzheng in #4665
- Improve error message when a workflow's decision is rejected due to concurrent changes by @Groxx in #4673
- Update batcher to support replicating workflows by @Shaddoll in #4672
- Update domain describe command to support JSON output by @Shaddoll in #4674
- Fix canary/bench dev configs by @vytautas-karpavicius in #4675
- Add support for custom cassandra authenticators by @johndelcastillo in #4676
- Switch system worker to gRPC by @vytautas-karpavicius in #4679
- Export ResponseInfoMiddleware & InboundMetricsMiddleware by @vytautas-karpavicius in #4680
- Update auto-forwarding to work for global domains with 1 cluster by @Shaddoll in #4681
- Generate parentClosePolicy task for x-cluster child by @yycptt in #4682
- Fix queue diff metric for disabled clusters by @yycptt in #4686
- Add jitter for starting failover queue by @yycptt in #4683
- Emit persistence latency histograms by @Shaddoll in #4678
- Update Base and Builder Images to Alpine 3.15 by @WToma in #4689
- Update ElasticSearch version to fix log4j issues by @demirkayaender in #4691
- Fix cassandra plugin nil pointer dereference issue by @Shaddoll in #4697
- Update cadence go client to 0.19.0 by @vytautas-karpavicius in #4696
- Improve standby task processing by @Shaddoll in #4695
- Add skipCurrentCompleted option to reset-batch command by @longquanzheng in #4698
- Add exclude query for list and reset-batch command by @longquanzheng in #4699
- Add decision offset to LastDecisionCompleted reset type by @longquanzheng in #4700
- Allow generating workflow tasks if workflow is non-current by @yycptt in #4688
- Extend Hostinfo with identity and port map by @mantas-sidlauskas in #4706
- Upgrades python version for cqlsh by @davidporter-id-au in #4709
- Update CLI client factory to use grpc clients by @fenghan89 in #4605
- Hashring: return Hostinfo struct instead of string by @mantas-sidlauskas in #4708
- Update error message for too frequent domain updates by @vytautas-karpavicius in #4711
- Fix NPE when observing history in CLI by @vytautas-karpavicius in #4714
- Do not pass yarpc options in CLI by @vytautas-karpavicius in #4712
- Removed unused parameter by @vytautas-karpavicius in #4719
- Fallback to zero value for initiatedID in ExternalExecutionInfoFields struct by @Shaddoll in #4720
- Fix parsing domain_id in child_info_maps for backward compatibility by @Shaddoll in #4722
- Drop pointers on internal history branch types by @vytautas-karpavicius in #4718
- Update cadence batch command to receive more input by @Shaddoll in #4725
- Drop unused flags for cli rereplicate command by @vytautas-karpavicius in #4728
- Drop redundant pointer conversions by @vytautas-karpavicius in #4726
- Protect membership member keys concurrent access by @mantas-sidlauskas in #4731
- Lock membership keys after peer provider call by @mantas-sidlauskas in #4733
- emit task list backlog metric in matching by @mkolodezny in #4734
- Add correct Address tag by @mantas-sidlauskas in #4736
- Return Hostinfo identity if set by @mantas-sidlauskas in #4739
- Added AsFloat64 helper to convert rps related dynamic config properties by @vytautas-karpavicius in #4740
- Reuse rate limiter functionality by @vytautas-karpavicius in #4742
- Lowers priority of a significantly noisy log entry by @davidporter-id-au in #4730
- Add rate limits for inline archival by @vytautas-karpavicius in #4743
- Provide portmap to ringpop by @mantas-sidlauskas in #4745
- Fix SQL implementation of DeleteWorkflowExecution by @Shaddoll in #4746
- add refresh tasks API to client by @mkolodezny in #4747
- fixed refresh workflow tasks by @mkolodezny in #4750
- Use setupBackoffTimer with locking by @vytautas-karpavicius in #4748
- Staticcheck cleanup by @vytautas-karpavicius in #4751
- Log more tags while putting to replication task to dlq by @vytautas-karpavicius in #4754
- Add more docker compose files for multiclusters with ES and different DB by @Shaddoll in #4757
- Add Watchdog Workflow with Corrupt Workflow Fix by @demirkayaender in #4713
- Fix sql implementation of getWorkflowExecution by @Shaddoll in #4758
- Use named port to select transport for outbound calls by @mantas-sidlauskas in #4749
- Fix auto-forwarding for QueryWorkflow API by @Shaddoll in #4763
- Added missing mapper fields for DecisionTaskTimedOutEventAttributes by @vytautas-karpavicius in #4762
- Ringpop: filter out unhealthy nodes by @mantas-sidlauskas in #4764
- Drop getters on HistoryEvent by @vytautas-karpavicius in #4727
- Ringpop: set tchannel port even if label is missing by @mantas-sidlauskas in #4765
- Added history corruption checks for workflow signaling by @vytautas-karpavicius in #4761
- Allow reading shard list from stdin for CLI DLQ operations by @vytautas-karpavicius in #4771
- Added presentation layer for rendering workflow list tables by @vytautas-karpavicius in #4773
- Purge un-hydrated replication tasks when doing DLQ merge by @vytautas-karpavicius in #4769
- Allow loading service config for all DB operations by @vytautas-karpavicius in #4768
- Use RenderTable for the remaining CLI commands by @vytautas-karpavicius in #4774
- As-simple-as-possible addition of background-processing ratelimits by @Groxx in #4775
- CLI format flag by @vytautas-karpavicius in #4777
- Improved CLI DLQ read command by @vytautas-karpavicius in #4780
- Fix ScanWorkflowExecutions function in frontend client by @Shaddoll in #4781
- Support refreshing long running workflows based on user config by @demirkayaender in #4770
- Add source_cluster tag when emitting DLQ size by @vytautas-karpavicius in #4782
- Use errgroup.Group for fanout style workfloads by @vytautas-karpavicius in #4784
- Feature/cdnc 2263 Add toggle which can block domain failovers by @allenchen2244 in #4786
- set EnableActivityLocalDispatchByDomain default value to true by @mkolodezny in #4788
- Added API for retrieving DLQ message count by @vytautas-karpavicius in #4787
- Double inline archival time limit defaults by @vytautas-karpavicius in #4796
- Wrap underlying cause for conditional update error by @vytautas-karpavicius in #4797
- Fix docker prometheus config for linux docker by @longquanzheng in #4793
- Add jittered workflow deletion configuration by @allenchen2244 in #4789
- Only update maxReadLevel after successful re-acquire of shard by @Shaddoll in #4799
- Minor makefile cleanup, gofmt by @Groxx in #4802
- fix CreaterFile fail err hidden by Close invaildargment by @pluswu in #4744
- Update base image to Alpine 3.15 by @WToma in #4804
- Allow decoding thrift from base64 string via CLI by @vytautas-karpavicius in #4805
- Log error when fetchHistoryFromRemote fails by @mantas-sidlauskas in #4807
- Change access dienied error type by @mantas-sidlauskas in #4808
- Improve task re-dispatch error logging by @mantas-sidlauskas in #4809
- add data contract for activity task dispatch by @mkolodezny in #4813
- updated idl for activity task dispatch by @mkolodezny in #4815
- dispatch activity task before generating the transfer task by @mkolodezny in #4816
- Fix error type returned from GetWorkflowExecution and DeleteWorkflowExecution by @Shaddoll in #4817
- add activity dispatch configs to matching by @mkolodezny in #4818
- Fill domainID for backwards compatibility by @vytautas-karpavicius in #4819
- Log error fields as tags by @vytautas-karpavicius in #4801
- Improve failover coordinator error logging by @mantas-sidlauskas in #4811
- Add CustomDomain and Operator as default indexed keys by @mantas-sidlauskas in #4825
- Remove unused PayloadSerializer param by @mantas-sidlauskas in #4827
- Check for resurrected activities during RecordActivityTaskStarted by @vytautas-karpavicius in #4806
- remove redundant type conversions for activity task dispatch by @mkolodezny in #4820
- Add logs for domain failover by @neil-xie in #4810
- Remove security vulnerability by @just-at-uber in #4829
- add metric tags for activity task dispatch by @mkolodezny in #4821
- Security fix: Update PROPOSALS.md to not reference google groups by @just-at-uber in #4831
- Forward activity responses and heartbeats on failover as well by @Groxx in #4823
- Extract Engine from matching handler by @mantas-sidlauskas in #4833
- Removing target-domain-not-active special-case handling by @davidporter-id-au in #4835
- Simplify history builder by @vytautas-karpavicius in #4837
- Remove unused loggers from history by @mantas-sidlauskas in #4822
- Fix error conversion for WorkflowExecutionAlreadyStartedError by @Shaddoll in #4838
- Bugfix/correct failover issue target domain not active ii by @davidporter-id-au in #4840
- Shard tag not needed in shard.Context by @vytautas-karpavicius in #4842
- Remove no-longer used dynamic configs by @vytautas-karpavicius in #4843
- Log replication messages that did not fit by @vytautas-karpavicius in #4844
- Remove domain cache from history/workflow by @mantas-sidlauskas in #4846
- Removed global domain enabled config by @vytautas-karpavicius in #4845
- Update SQL implementation of UpdateExecution to support async transaction by @Shaddoll in #4792
- Separate buildkite pipeline for PRs by @vytautas-karpavicius in #4850
- Decouple domain cache entry from cluster metadata by @vytautas-karpavicius in #4847
- Add UpdateFromConfig function to schema tool library by @Shaddoll in #4848
- Make cluster.Metadata a struct and stop using mocks for it by @vytautas-karpavicius in #4851
- Removed unused internal type getters by @vytautas-karpavicius in #4852
- Fix CLI rendering long workflow types by @vytautas-karpavicius in #4853
- Add metrics for empty reads by @neil-xie in #4855
- do not wait for activity task channel if sync match from history by @mkolodezny in #4860
- Move some proto definitions to admin package by @vytautas-karpavicius in #4861
- Fix status check for visibility and archival by @Shaddoll in #4864
- Add visibility operation types to Kafka message by @duoertai in #4828
- Used exposed admin proto IDLs by @vytautas-karpavicius in #4865
- CDNC-1746: cadence-history does not emit continue-as-new metrics by @ZackLK in #4866
- add activity info logging by @mkolodezny in #4867
- Update the default values of dynamic config to not depend on static config by @Shaddoll in #4858
- Adds cross-cluster canary by @davidporter-id-au in #4868
- Update idl for StickyWorkerUnavailableError by @Shaddoll in #4869
- Remove unused functions from TaskAckManager by @vytautas-karpavicius in #4872
- Feature/adding canary for cross cluster -> readme patch by @davidporter-id-au in #4870
- Add support for changing the gocql connect timeout by @johndelcastillo in #4874
- Removed TaskID from types.HistoryTaskV2Attributes by @vytautas-karpavicius in #4876
- Support allowed authenticators in tool by @johndelcastillo in #4873
- update generated code by @shijiesheng in #4880
- fix flaky TestDelayStartWorkflow by @shijiesheng in #4884
- Simplified FindFirstVersionHistoryByItem by @vytautas-karpavicius in #4882
- Refactor dynamic config by @Shaddoll in #4863
- Rename dockers default cluster name to match the other config files. by @ZackLK in #4885
- Magically speed up NDC integration tests by @Groxx in #4892
- Move visibility operation from search attributes to indexer message by @duoertai in #4881
- Removed replication mocks by @vytautas-karpavicius in #4883
- Added support for network topology strategy by @johndelcastillo in #4875
- Add helper function to list all dynamic config keys used in production by @Shaddoll in #4891
- upgrade go version to 1.17 in go mod and Buildkite dockerfile by @shijiesheng in #4889
- add mockery to go generate by @shijiesheng in #4887
- Minor makefile cleanup, verbose CI, fmt with a recent Go version by @Groxx in #4896
- Separating tools dependencies from main dependencies by @Groxx in #4895
- [codegen] introduce gowrap for generating retryableClient by @shijiesheng in #4879
- reduce MatchingActivityTaskSyncMatchWaitTime default value by @mkolodezny in #4897
- Add JitterDelay option when creating workflows. by @ZackLK in #4886
- Add new es record for uninitialized workflow by @neil-xie in #4899
- Capture CassandraLWT error and log/bump metrics for it. by @ZackLK in #4888
- Add new CI step for lint validation by @shijiesheng in #4903
- Fix flaky retrypolicy tests. by @ZackLK in #4905
- Update EnableRecordWorkflowExecutionUninitialized flag to filter by domain name by @neil-xie in #4904
- count local and server optimized activity dispatches as started by @mkolodezny in #4901
- Standardizing cancellation behavior: a canceled workflow never starts a new run by @Groxx in #4898
- Start fixing server lint warnings by @ZackLK in #4909
- Addition of DomainTag to required functions for the creation of metrics required for Domain Cost Attribution by @abhishekj720 in #4908
- Fix remaining server lint warnings and make lint error by default. by @ZackLK in #4911
- Replace unsafe usage of recover() in helper functions by @ZackLK in #4913
- Update revive to catch more defer/recover badness by @ZackLK in #4917
- downgrade testify to fix monorepo by @allenchen2244 in #4918
- Fix query workflow high latency after a long inactive time by @Shaddoll in #4871
- CDNC-1781 Add restart command/api by @allenchen2244 in #4900
- Adding DomainTag to the Persistence metrics client by @abhishekj720 in #4922
- Adding DomainTag to the ForkHistoryBranch, ReadRawHistoryBranch and ReadHistoryBranchByBatch by @abhishekj720 in #4926
- Changed DeleteHistoryBranch and GetHistoryTree by adding Domain Tag with mocks by @abhishekj720 in #4928
- Improve decode_thrift output by @Groxx in #4929
- Fix flaky QueryWorkflow tests by @Shaddoll in #4932
- Added DomainTag changes to ReadHistory branch for readHistoryRequest, CreateWorkflowRequest + added DomainCacheNoOp file by @abhishekj720 in #4930
- Add List*Execution (ElasticSearch) API ratelimiters by @Groxx in #4925
- Refactor task ack manager by @vytautas-karpavicius in #4894
- Bugfix/improve logging replication message by @davidporter-id-au in #4931
- Add funcorder linter by @shijiesheng in #4939
- Added changes to GetWorkflowExecution and UpdateWorkflowExecution by @abhishekj720 in #4938
- adding reason to cancel workflow. by @mindaugasbarcauskas in #4934
- Added changes to ConflictWorkflowExecution and DeleteWorkflowExecution by @abhishekj720 in #4943
- Added changes to DeleteCurrentWorkflowExecution and GetCurrentExecution by @abhishekj720 in #4944
- Added changes to PutReplicationTaskToDLQ and IsWorkflowExecutionExists by @abhishekj720 in #4946
- Added changes to GetTask and CreateTask by @abhishekj720 in #4947
- Helpers for getting enabled and remote cluster info by @vytautas-karpavicius in #4951
- Partial response of GetReplicationMessages on history service by @vytautas-karpavicius in #4935
- Added domain Tag to UpdateTaskList,DeleteTaskList,LeaseTaskList,CompleteTask and CompleteTaskLessThan by @abhishekj720 in #4950
- fix funcorder linter by @shijiesheng in #4942
- Simplify history engine task read ID logic by @Shaddoll in #4949
- Added Domain Tag to archival client by @abhishekj720 in #4958
- Simplify shard write operations by @Shaddoll in #4955
- Upgrade Golang base images to remediate CVEs by @sonpham96 in #4957
- Fixing test. by @mindaugasbarcauskas in #4941
- Improve log for transfer task validator by @Shaddoll in #4961
- Added domainName change to remaining functions of appendHistoryNodeRequest and RecordWorkflowExecutionUninitializedRequest by @abhishekj720 in #4968
- Adding limit for amount of pending activties in mutable state. by @mindaugasbarcauskas in #4959
- Add logs to debug transfer task by @Shaddoll in #4970
- Replication cache for sharing hydrated messages by @vytautas-karpavicius in #4952
- Added changes to readHistoryBranchRequest by @abhishekj720 in #4972
- Return persisted history events blob by @vytautas-karpavicius in #4953
- Adding first scheduled time metadata field for cron workflows. by @mindaugasbarcauskas in #4969
- Addition of domain tag for Replication task metric by @abhishekj720 in #4974
- Addition of domainName tag to Replication task by @abhishekj720 in #4975
- Fix docker build. by @ZackLK in #4977
- Run docker build on commits, to prevent docker build from breaking in the future by @ZackLK in #4978
- Add update time to ES visibility requests and records by @neil-xie in #4962
- Reduce metrics cardinality replication.TaskStore by @vytautas-karpavicius in #4981
- Add Metric Emitter, which right now emits a metric once a minute for true replication lag in nanoseconds. by @ZackLK in #4979
- Allow docker compose to work with docker-compose-mysql.yml on M1 by @ZackLK in #4983
- Return early when there are no replication tasks by @vytautas-karpavicius in #4982
- Update Cassandra deletes to use ALL consistency level by @Shaddoll in #4984
- Added logs for domainName empty situation by @abhishekj720 in #4987
- Make test should pass locally by @ZackLK in #4915
- Immediate replication task hydration after successful transaction by @vytautas-karpavicius in #4980
- Improve logs for task executor by @Shaddoll in #4989
- Add domain_type and cluster_groups tags by @vytautas-karpavicius in #4990
- Add support of update time for Cassandra, Mysql and Postgres by @neil-xie in #4971
- Convert client peer resolving errors to service transient errors by @Shaddoll in #4993
- Update idls by @Shaddoll in #4997
- Revert "Fix error conversion for WorkflowExecutionAlreadyStartedError (#4838)" by @Shaddoll in #4999
- Fix history corruption check for workflow signaling by @Shaddoll in #4998
- Introduce a dynamic config for cassandra all consistency level delete by @Shaddoll in #5000
- Adds fix for domain ack level issue by @davidporter-id-au in #5001
- Drop dynamic config for gRPC message size by @vytautas-karpavicius in #5002
- Fix Cadence CLI by @Shaddoll in #5005
- Re-enable workflow test by @Shaddoll in #5007
- Add new unit test by @Shaddoll in #5008
- Introduce per domain metrics by @Shaddoll in #5012
- Fix ndc flush buffered events by @Shaddoll in #5009
- Reformatting most things for go 1.19, rebuilding go.mod tools after clean, warning about different go versions by @Groxx in #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 #4994
- Enhance workflowDeletionTaskJitterRange to handle deletes piling up when many workflows have finished at the same time. by @ZackLK in #5020
- Feature/min initial failover version by @davidporter-id-au in #5015
- Fix Makefile OpenSearch rule name in CONTRIBUTING.md install guide, Fix OpenSearch version in dev Docker config by @charlese-instaclustr in #5004
- Decouple StateBuilder from TaskGenerator by @vytautas-karpavicius in #4991
- Removing unused code by @vytautas-karpavicius in #5024
- Use internal IndexedValueType by @Shaddoll in #5016
- Fix workflow cancellation by @Shaddoll in #5025
- Add UpdateTime to uninitialized workflow execution record and update logic to set the update time by @neil-xie in #5014
- Update DSL query to allow filtering by missing start time by @neil-xie in #5017
- Revert version to simple hardcode to match release branch. Auto update moved to closed source by @allenchen2244 in #5026
- test: use
T.TempDir
to create temporary test directory by @Juneezee in #5013 - Enable workflow corruption check for Describe and Query API by @Shaddoll in #5028
- Remove unused watchdog signal by @demirkayaender in #5029
- Add TLS ServerName as CLI option for Cadence Cassandra Tool by @sonpham96 in #5011
- Add FirstExecutionRunID to mutable state by @Shaddoll in #5031
- Update parent close policy to terminate/cancel child workflows even after continue as new by @Shaddoll in #5032
- Add cli tls support by @charlese-instaclustr in #5027
- Improve Cassandra errors for schema check by @mantas-sidlauskas in #5038
- Fix SignalWithStartWorkflow by @Shaddoll in #5036
- Embed schema files by @Shaddoll in #5040
- Fix error message by @ZackLK in #5045
- Embed elasticsearch index templates by @Shaddoll in #5043
- Making a schema tooling concrete -> interface by @davidporter-id-au in #5046
- Improve logs for transfer task validator by @Shaddoll in #5044
- Exposing the ability to pull CQL changesets by @davidporter-id-au in #5047
- Corrects interface by @davidporter-id-au in #5049
- Third attempt to finish exposing all of interface by @davidporter-id-au in #5050
- Optimize SQL layer supporting batch delete by @Shaddoll in #5053
- Make replication log error message better by @davidporter-id-au in #5052
- Fix ES embedding by @Shaddoll in #5056
- Exposes schema task by @davidporter-id-au in #5051
- Wf version metrics by @allenchen2244 in #5041
- Search attribute validation toggling by @charlese-instaclustr in #5033
- Do not return not exists error in history pagination function by @Shaddoll in #5054
- Delete uninitialized workflow execution record if workflow failed to start by @neil-xie in #5059
- Fix make install-schema-es-v6 and install-schema-es-v7 by @neil-xie in #5063
- change to emit wf version by @allenchen2244 in #5066
- Update dependencies by @mindaugasbarcauskas in #5065
- Add domain tag to unregistered field error by @neil-xie in #5070
- Fix docker image builds with an actually-reliable dependency skip by @Groxx in #5071
- Hotfix a replication panic causing crashes by @davidporter-id-au in #5074
- Fix resurrection check for timer and activity by @Shaddoll in #5077
- Add min_event_id,max_event_id flags to admin workflow show by @Shaddoll in #5083
- UpdateWorkflow ShardId based metrics by @allenchen2244 in #5080
- Emit workflow counts per workflow type metrics by @neil-xie in #5082
- Update CLI to support decoding HistoryBranch by @Shaddoll in #5069
- Add iWF link in README by @longquanzheng in #5084
- Small refactoring of taskListManger by @Shaddoll in #5091
- Small refactoring of task writer by @Shaddoll in #5092
- CDNC-2088 by @bowenxia in #5094
- Small refactoring of taskReader by @Shaddoll in #5095
- Unload taskListManager by instance, not taskListID by @Shaddoll in #5101
- Resolve an infinite loop around impossible cron schedules by @Groxx in #5097
- Use zap logger when initialising dynamic config by @mantas-sidlauskas in #5081
- Create a helper function to handle ConditionFailedError by @Shaddoll in #5102
- shard id to visiblity by @allenchen2244 in #5099
- Config store CLI: make value required when updating by @mantas-sidlauskas in #5089
- Remove
maxQPS
from sql plugin documentation by @mantas-sidlauskas in #5107 - Separate liveness of task list into a dedicated entity by @Shaddoll in #5105
- add 3 tags to support adding logs for every manual access by @bowenxia in #5112
- Revert "CDNC-2088 (#5094) Add attempt-count to task processing logs" by @bowenxia in #5115
- CLI: print all available dynamic config keys by @mantas-sidlauskas in #5090
- Flexible / sane header forwarding by @Groxx in #5103
- Add sample log and dynamic config for updateworkflowexecution hot shard detection by @allenchen2244 in #5120
- Add attempt-count to task processing logs, and update unit test so that it will cover deadlock by @bowenxia in #5122
- Visiblity shard id to open source stuff by @allenchen2244 in #5123
- add metrics for delete workflow execution on a shard level by @allenchen2244 in #5126
- Remove circular dependencies between matching components by @Shaddoll in #5111
- Indexer: refactor ES processor by @mantas-sidlauskas in #5100
- create RequestBody struct, implement it using requests, add requestbody into Attribute for auditing by @bowenxia in #5124
- move sample logger into persistence metric client for cleaness by @allenchen2244 in #5129
- add overall persistence count for shardid by @allenchen2244 in #5134
- Fix InsertTasks query for Cassandra by @Shaddoll in #5119
- Scanner to purge deprecated domain workflows by @agautam478 in #5125
- Fix prometheus frontend label inconsistencies by @charlese-instaclustr in #5087
- [history] add domain status check in taskfilter by @shijiesheng in #5140
- Revert "create RequestBody struct, implement it using requests, add r… by @bowenxia in #5145
- ES: do not set _type when using Bulk API for v7 client by @mantas-sidlauskas in #5104
- Added usage for InactiveDomain Invariant by @agautam478 in #5144
- Update README.md by @MrBoss276 in #5064
- Adding request body into Attributes for auditing purpose with PII fields are filtered by @bowenxia in #5151
- add remaining persistence stuff that goes to a shard by @allenchen2244 in #5142
- Consistent query pershard metric by @ketsiambaku in #5143
- added logging with workflow/domain tags by @ketsiambaku in #5159
- ES: single interface for different ES/OpenSearch versions by @mantas-sidlauskas in #5158
- Add ShardID to valid attributes by @mantas-sidlauskas in #5161
- fix samples documentation by @bowenxia in #5088
- Elasticsearch: reduce code duplication by @mantas-sidlauskas in #5137
- Set poll interval for filebased dynamic config if not set by @mantas-sidlauskas in #5160
- Add Pinot docker files, table config and schema by @neil-xie in #5163
- [history] more cautious in deciding domain state to make decisions on… by @shijiesheng in #5164
- Add Canary TLS support by @charlese-instaclustr in #5086
- Fix type validation in configstore DC client value updating by @charlese-instaclustr in #5110
- Upgrade Golang base image to 1.18 to remediate CVEs by @sonpham96 in #5035
- Adds a small test to catch issues with deadlocks by @davidporter-id-au in #5171
- fix build by @davidporter-id-au in #5180
- large workflow hot shard detection by @allenchen2244 in #5166
- Refactor matching integration test by @Shaddoll in #5182
- Merge Activity and Decision matching tests by @Shaddoll in #5186
- Add thin ES clients by @mantas-sidlauskas in #5162
- Update idls version by @neil-xie in #5200
- Allow registering search attributes without Advance Visibility enabled by @lancezhao-ins in #5185
- Corrects the config-store handling for not-found errors by @davidporter-id-au in #5203
- Fix consistent query metric by @ketsiambaku in #5170
- Fixed the nil pointer issues in the InactiveDomain Invariant by @agautam478 in #5213
- Add generic ES query building utilities by @mantas-sidlauskas in #5168
- Physical sharding for NoSQL-based persistence by @emrahs in #5187
- Add tasklist traffic metrics for non-sticky and non-forwarded tasklists by @timl3136 in #5218
- Fixed traffic metrics emit condition by @timl3136 in #5235
- Switch to thin, versioned ES clients by @mantas-sidlauskas in #5217
- Scaffold config store for SQL by @Shaddoll in #5239
- Fix docker by @davidporter-id-au in #5244
- Add default value for shard_id and update_time in mysql by @neil-xie in #5246
- Bench: possibility to pass frontend address using env by @mantas-sidlauskas in #5113
- Insert Hostname tag into metrics and other services by @timl3136 in #5245
- Remove tcheck dependency by @mantas-sidlauskas in #5247
- Pull updates from idl repo by @Shaddoll in #5251
- Update internal type to adopt idl change by @Shaddoll in #5253
- Update persistence layer to adopt idl update for isolation by @Shaddoll in #5254
- [CDNC-1873] Domain name validation by @ketsiambaku in #5250
- Update history to persist partition config by @Shaddoll in #5257
- Upgrades IDL to include isolation-groups by @davidporter-id-au in #5258
- Adds isolation-group types by @davidporter-id-au in #5260
- Adds Dynamic-config type by @davidporter-id-au in #5261
- Fix thrift mapper for DomainConfiguration by @Shaddoll in #5268
- Make ESClient fields public to use them in monorepo by @neil-xie in #5269
- Adds isolation groups to persistence by @davidporter-id-au in #5270
- Add helper function to store/retrieve partition config from context by @Shaddoll in #5271
- Fix panic while parsing workflows with timeouts by @dkrotx in #5267
- Adding domain handler changes by @davidporter-id-au in #5274
- Adds isolation-group and partition libraries by @davidporter-id-au in #5262
- remove unneeded file by @davidporter-id-au in #5276
- Adds resource implmentation by @davidporter-id-au in #5278
- Add default value for shard_id and update_time in postgres by @neil-xie in #5259
- Update frontend to adopt draining isolation groups by @Shaddoll in #5281
- Update matching to support tasklist isolation by @Shaddoll in #5280
- Adds Admin API for zonal-isolation drain commands by @davidporter-id-au in #5282
- Adds cli operations for the zonal-isolation drains by @davidporter-id-au in #5283
- 1.1.0 Version bump by @davidporter-id-au in #5284
- Fixing rendering for isolation-groups in the CLI by @davidporter-id-au in #5285
- add more logs around unsupported version for consistent query by @allenchen2244 in #5287
- Docker: add datasource and dashboards to Grafana by @mantas-sidlauskas in #5207
- Add metric for isolation task matching by @Shaddoll in #5288
- Improvements on tasklist isolation by @Shaddoll in #5291
- Update ClusterNameForFailoverVersion to return error by @Shaddoll in #5293
- Task processing panic handling by @davidporter-id-au in #5294
- [#4572] Removed unused metric name by @ketsiambaku in #5292
- Add local build instructions to Readme by @gazi-yestemirova in #5299
- Show error message if requesting workflow does not exist by @gazi-yestemirova in #5300
- Parse JWT flags when creating a context by @mantas-sidlauskas in #5296
- Set ReplicatorCacheCapacity to 0 by @mantas-sidlauskas in #5301
- Show explicit message if command is not found by @gazi-yestemirova in #5298
- Add examples for reset-batch and batch commands in help usage section by @gazi-yestemirova in #5302
- Feature/isolation group library logging improvements by @davidporter-id-au in #5295
- Adds some more coverage by @davidporter-id-au in #5304
- IDL update to include new field in PendingActivityInfo by @ketsiambaku in #5306
- Minor fixes for isolation by @Shaddoll in #5308
- Fix SearchAfter usage by @mantas-sidlauskas in #5311
- Increase number of forward tokens for isolation tasklists by @Shaddoll in #5310
- Separate poller token pools for tasklists with isolation by @Shaddoll in #5314
- [CDNC-4360] Record current worker Identity on Pending activity tasks by @ketsiambaku in #5307
- Disable isolation for sticky tasklist by @Shaddoll in #5319
- Change default value of AsyncTaskDispatchTimeout by @Shaddoll in #5320
- Bugfix/isolation groups domain drains by @davidporter-id-au in #5315
- Support invoking RPC using HTTP and JSON by @mantas-sidlauskas in #5305
- Set 12.4 version for postgres image by @mantas-sidlauskas in #5326
- [CDNC-3578] Worklfow start metric by @ketsiambaku in #5289
- Extract EventColorFunction from ColorEvent by @mantas-sidlauskas in #5321
- Show total number workflows while waiting for the listall command to … by @gazi-yestemirova in #5309
- Update consistency level for cassandra visibility by @Shaddoll in #5330
- [CDNC-4831] Added option to pass consistency level in the cassandra schema versio… by @agautam478 in #5327
- guardrail to ensure scalable tasklist's number of write partitions will never exceed read by @manasaling in #5331
- Create TTL in the UpdateWorkflowExecution cycles. by @agautam478 in #5243
- Updates to partition config middleware by @Shaddoll in #5334
- Add Opensearch2 client with bulk API shared between clients by @mantas-sidlauskas in #5241
- Allow to configure HTTP settings using template by @mantas-sidlauskas in #5329
- CDNC-3181 Cleanup the unused watchdog code by @agautam478 in #5096
- Upgrade yarpc to v1.70.3 by @mantas-sidlauskas in #5341
- upgrade mysql by @bowenxia in #5345
- [dynamic config] add Filters method to dynamic config Key by @shijiesheng in #5346
- Fix garbage collection logic for matching tasks by @Shaddoll in #5355
- change mysql schema folder v57 to v8 by @bowenxia in #5356
- Made the TTLBufferDays configurable by @agautam478 in #5354
- Remove duplicated line by @mantas-sidlauskas in #5328
- [frontend] Fill IsCron for proto of WorkflowExecutionInfo by @3vilhamster in #5366
- [frontend] update idls and ensure thrift fields roundtrip by @3vilhamster in #5365
- Go version bump by @3vilhamster in #5367
- Bump golang.org/x/crypto from 0.0.0-20220214200702-86341886e292 to 0.1.0 by @dependabot in #5132
- Bump github.com/prometheus/client_golang from 1.4.1 to 1.11.1 by @dependabot in #5098
- Bump golang.org/x/net from 0.0.0-20220617184016-355a448f1bc9 to 0.7.0 by @dependabot in #5121
- Bump github.com/goreleaser/nfpm/v2 from 2.5.1 to 2.29.0 in /internal/tools by @dependabot in #5370
- [CLI] add domain migration validator command by @manasaling in #5369
- Improve async-matching performance for isolation by @davidporter-id-au in #5363
- Update Dockerfile with a proper Go version and bump alpine version by @3vilhamster in #5371
- Do not make poller crash if isolation group is invalid by @Shaddoll in #5372
- StartWorkflowExecution: validate RequestID before calling history by @mantas-sidlauskas in #5359
- Add docker-compose with http API enabled by @mantas-sidlauskas in #5358
- Update list of available frontend HTTP endpoints by @mantas-sidlauskas in #5338
- [CLI] fix a few things in domain migration command by @shijiesheng in #5374
- Revert "Made the TTLBufferDays configurable" by @agautam478 in #5379
- Revert "Create TTL in the UpdateWorkflowExecution cycles. (#5243)" by @agautam478 in #5380
- Validate search-attribute-key so keys are fine in advanced search by @dkrotx in #5340
- TLS for HTTP by @mantas-sidlauskas in #5381
- Set a minimum timeout for async task dispatch based on rate limit by @Shaddoll in #5382
- Release v1.2.1 by @shijiesheng in #5384
New Contributors
- @adambabik made their first contribution in #4022
- @git-hulk made their first contribution in #4036
- @demirkayaender made their first contribution in #4097
- @mistikel made their first contribution in #4072
- @peaaceChoi made their first contribution in #4084
- @Stratouklos made their first contribution in #4125
- @kraney made their first contribution in #4059
- @iamrodrigo made their first contribution in #4142
- @calvinxiao made their first contribution in #4260
- @aliue made their first contribution in #4357
- @fenghan89 made their first contribution in #4467
- @WToma made their first contribution in #4548
- @agrimrules made their first contribution in #4550
- @lindleywhite made their first contribution in #4614
- @StarAurryon made their first contribution in #4620
- @wenerme made their first contribution in #4639
- @johndelcastillo made their first contribution in #4676
- @pluswu made their first contribution in #4744
- @duoertai made their first contribution in #4828
- @ZackLK made their first contribution in #4866
- @abhishekj720 made their first contribution in #4908
- @mindaugasbarcauskas made their first contribution in #4934
- @sonpham96 made their first contribution in #4957
- @charlese-instaclustr made their first contribution in #5004
- @Juneezee made their first contribution in #5013
- @agautam478 made their first contribution in #5125
- @MrBoss276 made their first contribution in #5064
- @ketsiambaku made their first contribution in #5143
- @lancezhao-ins made their first contribution in #5185
- @dkrotx made their first contribution in #5267
- @gazi-yestemirova made their first contribution in #5299
- @3vilhamster made their first contribution in #5366
- @dependabot made their first contribution in #5132
Full Changelog: v1.0.0...v1.2.1