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)
Source code(tar.gz)
Source code(zip)
docker.tar.gz(11.30 KB)