etcd-io / etcd-io/jetcd

Make LeaseImpl.keepAliveOnce subject for retry policy (to retry on healthy etcd node if current node is broken)

Open
#1,540 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
1.2k
Forks
312
Avg merge
5d 4h
Merged PRs (30d)
2

Description

**Is your feature request related to a problem? Please describe.**

We have a problem with this specific way of LeaseImpl.keepAliveOnce lease extention if etcd instance we attempt to connect is not available. Unlike other APIs like KVImpl or LockImpl which apply retry logic (in execute() call) and attempt to resend request if current node is not available or authenitcation is failed, this method just ends exceptionally, which is confusing and requires clients to write additional code for handling such use cases.

**Describe the solution you'd like**

Would it be possible to have variation of keepAliveOnce() that would apply retry policy same as other APIs do?
Can be separate method or new parameter in existing signature?

Contributor guide

Open the contributing guide

Research direction

Start by reading LeaseImpl.keepAliveOnce and compare its request flow with KVImpl and LockImpl, especially their execute() retry logic. Determine how a keep-alive request can retry on another healthy etcd node, then add the requested retry-policy variation and verify behavior against the existing API patterns; no test file is named in the issue.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
distributed-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.