Apparently document locking is not cluster-aware. That is, if the 'Master Lock Server' is not reachable or down, the other cluster member does not take the role of managing the locks
Document lock in a single server environment works perfectly. But in a clustered environment the lock is always dependent on the explicitly specified Master Lock server (Administration server) and no failover occurs when trying to obtain the lock.
Using "db.OpenWithFailover" works correctly when one server is offline. But when calling the "doc.Lock" method, gets error 4597: "Unable to lock - cannot connect to Master Lock Database".
With provisional lock using "doc.Lock(session.EffectiveUserName, True)" while that suppresses errors, it still gets conflict documents if the Master Lock server is the server that's offline. In other words, if the Master Lock Server is up, everything works fine but if the other server is up and the Master is offline, the provisional lock consistently produces a conflict.
Request to have a better approach in implementing document locking in a clustered environment.