You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
For a given branch, SPARQL update and GSP endpoints can be used to update the rdf model. If 2 or more of these actions happen at the same time, complex race conditions can occur.
Proposal
A simpler way to prevent this is to just enforce one update at a time for a given branch - if a transaction is already underway for a branch, reject the update/load request with 409. This allows the underlying logic to be optimized/simplified without needing to consider race conditions. Currently transaction info is written to the triplestore and deleted after transaction is complete - can check for existence of said transaction for a given branch when a request comes in.
Other considerations
Need to determine if branch/lock creation needs to be included/granularity (creating a branch from a branch currently under transaction vs unrelated branch)
The text was updated successfully, but these errors were encountered:
Problem
For a given branch, SPARQL update and GSP endpoints can be used to update the rdf model. If 2 or more of these actions happen at the same time, complex race conditions can occur.
Proposal
A simpler way to prevent this is to just enforce one update at a time for a given branch - if a transaction is already underway for a branch, reject the update/load request with 409. This allows the underlying logic to be optimized/simplified without needing to consider race conditions. Currently transaction info is written to the triplestore and deleted after transaction is complete - can check for existence of said transaction for a given branch when a request comes in.
Other considerations
Need to determine if branch/lock creation needs to be included/granularity (creating a branch from a branch currently under transaction vs unrelated branch)
The text was updated successfully, but these errors were encountered: