3 ms·
So, the leader must renew their lease every (period * ι), where ι < 1. The problem is that this assumes a synchronous network, or reliable clocks - since the Pa
by sargun 12y ago
So, the leader must renew their lease every (period * ι), where ι < 1. The problem is that this assumes a synchronous network, or reliable clocks - since the Paxos implementation isn't tied to the master -- this results in the problem that you've given up safety, example:
1) The process p1 on the machine holding the lock stalls (VM stall, let's say).
2) τ seconds have gone by on the Cassandra cluster, and the lock is removed
3) Another process, p2 takes the lease
4) The process comes back, only to resume processing, and not realize its lease has expired...
Without the leasing system, and the leaser being tied together, it's very difficult to guarantee safety, and liveness.
- jsherer 12y agoLike the post says, this seems to be similar to Google's Chubby system, and ZooKeeper for locks/leases. Are there modifications to this process for those systems to help with safety, or do they also have the same problem?
- tjake 12y agoAgreed. They discuss this in the chubby paper as well. There is a grace period where the master is in jeopardy of failing over vs failing over straight away. I left this out for simplicity of the state machine but I pointed to the chubby paper as a true reference. They also mention the fact that client and master clocks must advance no faster than a known constant factor.
- tjake 12y agoI'm not sure though what you mean by "tied together". This is the issue that even zookeeper has.