问题描述
Etcd无法修改 lease 的 grantedTTL。lease 一旦申请,只能执行自动过期、延期和撤销三类操作。
解决方案
要实现修改 grantedTTL的能力只能先撤销,再申请。
该操作有个副作用,撤销 lease 后,绑定在该 lease 上的 key 都会被删除。
在更新 k-v操作前去更新lease,就算把相关的 key都删除了(最好一个 key 对应一个lease,不存在误删其他key的问题),也可以将 k-v 补回来,其他场景需考虑在更新 lease的时候是否需要撤销,该操作会导致该 lease 相关的 k-v 被删除。