Our current insertValueSet function added in this PR inserts related concepts and concept joins in addition to the individual valueset-level insertion. When discussing how to make this operation more fault tolerant, we mentioned configuring a retry for the number of associated concepts that get farmed out in insertion. This ticket captures that work.
One possible solution is the following. After the associated concepts for a given ValueSet have attempted to be inserted, we can do a read for whether all the concepts are in the database (either because of that insertion or from a previous valueset). If there's a mismatch, try the whole insertion again.
Acceptance Criteria
There exists a check for whether all the concepts for a given valueset have been inserted. A retry mechanism fires in the event that there's a mismatch.
Our current
insertValueSet
function added in this PR inserts related concepts and concept joins in addition to the individual valueset-level insertion. When discussing how to make this operation more fault tolerant, we mentioned configuring a retry for the number of associated concepts that get farmed out in insertion. This ticket captures that work.One possible solution is the following. After the associated concepts for a given ValueSet have attempted to be inserted, we can do a read for whether all the concepts are in the database (either because of that insertion or from a previous valueset). If there's a mismatch, try the whole insertion again.
Acceptance Criteria
There exists a check for whether all the concepts for a given valueset have been inserted. A retry mechanism fires in the event that there's a mismatch.