Improve server's resilience to multiple configuration locks by the same user
When a user begins editing host reservations a new transaction is created. The daemons participating in the host reservations are locked for updates. The daemons are unlocked after certain period of time (transaction expiration) or when the user explicitly submits or cancels the transaction. However, there are cases when the user may fail to cancel the transaction. For example, the user may reload the host page. The dangling transaction will prevent this user and other users from editing the reservation until the transaction expires. Several optimizations to consider:
- allow overriding current user's transaction, e.g. when he reloads the page - need to detect that the daemons are locked by the user trying to create another transaction,
- allow soft locks - can edit but display a warning message indicating that someone (give his name) is already applying changes