We are encountering various issues with our merge operations not being atomic. They involve coordinated changes to two different collections in the database (FrontierCollection and MergeCollection).
Problem: If new words are added before old words are deleted and the latter fails, we can have duplicate GUIDs in the project Frontier. If old words are deleted before new words are added and the latter fails, entries can be lost.
One solution is to use transactions, as implemented in #3484. However, that doesn't work with our MongoDB database set up as a standalone.
TODO:
Validation:
- Both
npm start and the Docker-Kubernetes build should work.
We are encountering various issues with our merge operations not being atomic. They involve coordinated changes to two different collections in the database (
FrontierCollectionandMergeCollection).Problem: If new words are added before old words are deleted and the latter fails, we can have duplicate GUIDs in the project Frontier. If old words are deleted before new words are added and the latter fails, entries can be lost.
One solution is to use transactions, as implemented in #3484. However, that doesn't work with our MongoDB database set up as a standalone.
TODO:
Validation:
npm startand the Docker-Kubernetes build should work.