Concurrency and Locking

Overview

Documents the strategy for concurrency and locking.

Details

The system supports multiple, simultaneous edits by different users at the same time.

All interactions with the database are managed by Hibernate which assumes an optimistic locking strategy.  Given that editors typically work only on objects owned by them and not by objects owned by other users, there are few situations in which this strategy leads to deadlocks.  

TODO: Pessimistic locking strategy available – need info on configuring this.  

TODO: discuss capability to configure REST services to be atomic.