Enhancement: Automatic and periodic renew of Key lease for basic Put operation
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 28/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- go
- Domain
- backend, distributed-systems
Research direction
Start by reading the existing Lock() lease-renewal flow and the Consul PeriodicRenew session implementation, then trace how basic Put is implemented across supported backends. Done means Put can keep a key lease renewed while the client runs and provides a way to stop renewal, with behavior consistent across the supported backends.
Written by the indexing model from the issue text.
Description
libkv should allow to automatically renew the lease for a key (using TTLs) as long as the client is still up and running. We may want to return a stopChan to stop the process of automatically renewing the key if needed.
The same way we have PeriodicRenew of sessions using Consul, it can be useful to not explicitely invoke a renewTTL every T interval time but just know that the key lives until the client dies and the TTL expires.
Some work has been done for the Lock() call which automatically renew the lease for a Key to keep the lock under custody. If a signal is sent to the stopChan, the Lock process stops renewing the TTL and/or Unlocks the key. This work should be extended for the basic Put operation of supported backends.
- Dominant language
- Go
- Stars
- 847
- Forks
- 204
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from docker/libkv
-
Difficulty 5/5 Over a week Newbie friendliness 15/100
-
Difficulty 3/5 1-2 days Newbie friendliness 25/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 45/100
-
Difficulty 4/5 3-5 days Newbie friendliness 28/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 45/100
Similar issues
-
kind/bug needs-triage
Difficulty 1/5 Under an hour Newbie friendliness 72/100
matrixorigin/matrixone#29223 ·
-
needs-acceptance wg/data-plane-networking
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
vllm-project/semantic-router#4024 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
alexgorbatchev/dotfiles#107 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 84/100