-
Type: Task
-
Resolution: Done
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Labels:None
-
Service Arch 2021-11-15, Service Arch 2021-11-22, Service Arch 2021-12-13, Service Arch 2022-1-10
-
5
We were asked to make some improvements to the PrimaryOnlyService infrastructure to help speed up development for the server-serverless team and other server engineers. There are a few important improvements we'd like to consider:
- Unify cancellation paths
- Improve the relationship between an instance's lifetime and its state document's lifetime.
- Improve how services check for conflicting instances before constructing a new instance.
- Fold 'checkIfOptionsConflict' into the base PrimaryOnlyService API.
- Use CancellableOperationContextFactory to create OperationContexts to remove the need for OpCtx tracking in the Client decoration
Before making a follow-up project to do this work, we will do a PoC to get an idea of what kind of work we need to do and what a good ideal end state would be that would take into account these various considerations