apache / apache/curator

[CURATOR-478] LeaderLatch accumulates additional watcher handlers

Open
#998 5 comments 0 reactions 0 assignees View on GitHub
bug imported-jira-issue
Dominant language
Java
Stars
3.2k
Forks
1.2k
PR merge metrics
No merged PRs in 30d

Description

In the event of a connection reconnect, LeaderLatch calls reset():

https://github.com/apache/curator/blob/9a03ea93937af047e8ad13c2e3e3559520abfb0a/curator-recipes/src/main/java/org/apache/curator/framework/recipes/leader/LeaderLatch.java#L613

Ultimately, this results in another call to getChildren(), which calls checkLeadership(), which registers another getData watch for the ephemeral leader record preceding our new leader record. However, the watch in place from before reset() is in place, and will trigger yet another watch in the event that the record it is watching gets deleted.

As such, the number of pending watchers (at least client side) will continue to increase each time the connection fails over.

Marked as trivial because I think it's unlikely these accumulate to the point that it's an issue, but it seems like it should at least be called out.

---
Originally reported by timcharper, imported from: LeaderLatch accumulates additional watcher handlers


  • assignee: randgalt
  • status: Open
  • priority: Trivial
  • resolution: Unresolved
  • imported: 2025-01-21

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.