Closed verult closed 1 year ago
All modified and coverable lines are covered by tests :white_check_mark:
Comparison is base (
0e288a7
) 97.84% compared to head (a29fcc1
) 97.84%.:exclamation: Current head a29fcc1 differs from pull request most recent head b60d41f. Consider uploading reports for the commit b60d41f to get more accurate results
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
This PR fixes a race condition that occurred roughly every 10-15min by adding a retry with
GetQuantumResultRequest
whenStreamManager
receives a program or job already exists error. The sequence is as follows:This would cause issues when a user specifies a
program ID
orjob ID
inEngine.run_sweep()
orEngineProcessor.run_sweep()
rather than letting the client generate the ID, because there could be a real ID conflict. However, the recommended path of usingProcessorSampler.run_sweep()
does not specify IDs, and we're considering deprecating this ability to specify IDs. It's otherwise hard to discern between a real conflict vs. the race condition.This is now the error handling logic after a stream breakage:
where
and the dot indicates the starting state.
cc @senecameeks