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
I was browsing through this client while working on a version for Node.js. I noticed that your locking is implemented on a straight k/v without using a lease. I suggest you consider using a lease for this, so that if something happens to the server or application which makes the lock, the resource isn't abandoned indefinitely. The downside is that it's possible that a lock is 'lost' while a process thinks it has it, but the set of situations in which that can occur and cause issues is a strict subset of the situations (only one I can think of: a partial network partition) in which the lock would otherwise be held indefinitely.
My implementation and little more reasoning is here, if you're interested: microsoft/etcd3#5
The text was updated successfully, but these errors were encountered:
I was browsing through this client while working on a version for Node.js. I noticed that your locking is implemented on a straight k/v without using a lease. I suggest you consider using a lease for this, so that if something happens to the server or application which makes the lock, the resource isn't abandoned indefinitely. The downside is that it's possible that a lock is 'lost' while a process thinks it has it, but the set of situations in which that can occur and cause issues is a strict subset of the situations (only one I can think of: a partial network partition) in which the lock would otherwise be held indefinitely.
My implementation and little more reasoning is here, if you're interested: microsoft/etcd3#5
The text was updated successfully, but these errors were encountered: