[CURATOR-106] Issuing a guaranteed delete can cause stack overflow if ZK is not reachable
- Dominant language
- Java
- Stars
- 3.2k
- Forks
- 1.2k
- PR merge metrics
- No merged PRs in 30d
Description
For guaranteed deletes (eg. lock releases) that fail, the FailedDeleteManager issues another guaranteed delete here:
https://github.com/apache/curator/blob/master/curator-framework/src/main/java/org/apache/curator/framework/imps/FailedDeleteManager.java#L35
In an environment where ZK has the potential to be down for an extended period of time, this has the potential to recurse until there is a stack overflow (particularly if the application is using multiple locks.)
---
Originally reported by jasdeep, imported from: Issuing a guaranteed delete can cause stack overflow if ZK is not reachable
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with curator-framework/src/main/java/org/apache/curator/framework/imps/FailedDeleteManager.java at the linked line, and trace how a failed guaranteed delete is retried when ZooKeeper is unreachable. Reproduce repeated failures with ZooKeeper unavailable and verify that retries no longer recurse until a stack overflow occurs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- distributed-systems
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100