|
|
|
|
|
by keyless_
1464 days ago
|
|
It's really up to the client implementation. In order to deal with long-running processes, the client Python implementation uses a separate thread for sending periodic heartbeats to the lockable server, which serves to do 2 things: 1. renew the lease so it doesn't expire which would release the lock
2. notify the main worker thread in the even the lock has been lost
The GP's point was that the heartbeat thread can hang in pathological cases, which means the main worker thread would not be notified that it has lost the lock.This can be addressed in a few ways - one way being by adding fencing tokens[0]. However, that requires modifying the underlying resource you are accessing. [0]: https://ebrary.net/64834/computer_science/fencing_tokens |
|