apache / apache/curator

[CURATOR-191] Curator delivering out-of-order and duplicate events to PathChildrenCacheListener

Open
#712 0 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

It is very hard to reproduce, but from our procudtion logs we can see that sometimes, PathChildrenCacheListener.childEvent(..) is receiving events which are out-of-order and duplicate.

We have following line in the code...

ChildEvent child = event.getData()

log.info("CHILD_UPDATED[%s] with version[%s]", child.getPath(), event.getData().getStat().getVersion());

and observed following the logs..

2015-02-16 11:18:32,412 INFO [ServerInventoryView-0] io.druid.curator.inventory.CuratorInventoryManager - CHILD_UPDATED[2015-02-11T22:01:43.441Z3] with version[3]

2015-02-16 11:19:04,773 INFO [ServerInventoryView-0] io.druid.curator.inventory.CuratorInventoryManager - CHILD_UPDATED[2015-02-11T22:01:43.441Z3] with version[5]

2015-02-16 11:20:09,039 INFO [ServerInventoryView-0] io.druid.curator.inventory.CuratorInventoryManager - CHILD_UPDATED[2015-02-11T22:01:43.441Z3] with version[4]

2015-02-16 11:20:41,420 INFO [ServerInventoryView-0] io.druid.curator.inventory.CuratorInventoryManager - CHILD_UPDATED[2015-02-11T22:01:43.441Z3] with version[5]

2015-02-16 11:20:41,437 INFO [ServerInventoryView-0] io.druid.curator.inventory.CuratorInventoryManager - CHILD_UPDATED[2015-02-11T22:01:43.441Z3] with version[6]

2015-02-16 11:21:13,737 INFO [ServerInventoryView-0] io.druid.curator.inventory.CuratorInventoryManager - CHILD_UPDATED[2015-02-11T22:01:43.441Z3] with version[6]

2015-02-16 11:22:51,089 INFO [ServerInventoryView-0] io.druid.curator.inventory.CuratorInventoryManager - CHILD_UPDATED[2015-02-11T22:01:43.441Z3] with version[7]

2015-02-16 11:23:23,400 INFO [ServerInventoryView-0] io.druid.curator.inventory.CuratorInventoryManager - CHILD_UPDATED[2015-02-11T22:01:43.441Z3] with version[8]

2015-02-16 11:27:08,895 INFO [ServerInventoryView-0] io.druid.curator.inventory.CuratorInventoryManager - CHILD_UPDATED[2015-02-11T22:01:43.441Z3] with version[7]

2015-02-16 11:27:41,591 INFO [ServerInventoryView-0] io.druid.curator.inventory.CuratorInventoryManager - CHILD_UPDATED[2015-02-11T22:01:43.441Z3] with version[9]

2015-02-16 11:27:41,705 INFO [ServerInventoryView-0] io.druid.curator.inventory.CuratorInventoryManager - CHILD_UPDATED[2015-02-11T22:01:43.441Z3] with version[8]

2015-02-16 11:32:32,751 INFO [ServerInventoryView-0] io.druid.curator.inventory.CuratorInventoryManager - CHILD_UPDATED[2015-02-11T22:01:43.441Z3] with version[10]

---
Originally reported by himanshug, imported from: Curator delivering out-of-order and duplicate events to PathChildrenCacheListener


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

Contributor guide

No contributing guide indexed for this repository

Research direction

Start at PathChildrenCacheListener.childEvent and inspect how ChildEvent data and its stat version are delivered to the listener. Use the reported path and version log sequence to investigate duplicate and out-of-order notifications; done means the listener receives events in order without duplicates, supported by a regression test or reproducible verification.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
distributed-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.