Open fm3 opened 1 year ago
Is this a new problem or did it exist before?
It already existed and we discussed it already previously, but @frcroth raised this concern again during the review of #7290.
Also, committing volume buckets has become much slower due to the segment index, which somewhat increases the risk of this happening.
The annotation update route has nice transaction management, but it relies on the
TracingService.handleUpdateGroup
method being atomic (so that the version increase caused by committed updates is already available when the next requests arrives).While an unlikely case, it is theoretically possible to construct a scheduling scenario where multiple conflicting updates are committed with the same version number. In the fossilDB, one will overwrite the other, potentially creating invalid annotation states.
We should guard against this by creating some kind of mutex for this saving (per tracing id) or using the transaction management from rocksDB, and exposing that via the fossilDB api