Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Domain support for Cadence (cadence-workflow#122)
* Use domain for all operations on persistence layer Schema changes to use domain_id as the clustering key for executions, tasks, and events table. Update all neccessary types to also take in domain_id to uniquely identify workflow executions. Cassandra persistence changes to al queries to make it work with domain_id. Fix all persistence unit tests to work with domain_id. * Update History Engine to use domain Update history engine interface to use wrapped request objects with domain. History engine uses the domain to make calls to various persistence layer API. All unit test passing now. * Update matching engine to use domain Update the matching engine interface to accept the wrapped request with domain uuid. Use the domain uuid to pass down stream to all persistence layer calls. All unit tests are passing now. * Frontend support for domain resolution from name to uuid Added DomainCache as a common component which can be used by frontend for resolving domain name to domain uuid, which is used by history and matching engines for identifying the domain and making persistence API calls. Frontend is not passed in MetadataManager, which is used for implementing CRUD for managing domains. Interation tests now also creates a domain as part of test setup. * Support for scheduling activities across domains ScheduleDecisionTask decision now takes an optional domain to support scheduling activities across domains. History engine hosts domainCache to allow resolution of domain name to domain uuid. Transfer task for activity stores both the domainID for the workflow and domainID for task queue. Matching engine API for AddActivityTask takes in both the domainId for task list and domainId for source workflow execution.
- Loading branch information