Concepts - AKSW/FsRdfStore GitHub Wiki
Work in progress...
Transactions
Locks
Resource Locks
Management Locks
Management locks are very short lived locks whose lifespan is usually in the magnitude of milliseconds and should not exceed seconds. This contrasts resource locks which may be held indefinitely. Management locks are typically used to protect a set of resources from concurrent modification. If a management lock exists for several seconds it can be assumed that there was a problem with the process that created the lock.
In FsRdfStore management locks are used in the following contexts:
- Prevention of concurrent modification to the set of read / write locks on a resource: When a transaction acquires a write lock on a resource then another transaction must not concurrently be granted a read lock.
- A stale transaction can be detected by multiple concurrently running processes. The competition for which process can claim the stale transaction's resources is decided by which processes gets to own the corresponding management lock.