ZooReaderWriter.putData may create data, timeout, then fail
- Dominant language
- Java
- Stars
- 1.2k
- Forks
- 487
- Avg merge
- 4d 5h
- Merged PRs (30d)
- 13
Description
[ZooUtil.putData()](https://github.com/apache/accumulo/blob/rel/1.9.2/fate/src/main/java/org/apache/accumulo/fate/zookeeper/ZooUtil.java#L293) accepts an option to fail on create if a node exists. I am not completely sure but I think the following can happen.
* Call to Zookeeper to create data timesout, but it was created by on the ZK server side AND it didn't exist
* Timeout exception causes a retry
* Retry fails because the node exists.
I noticed this while reviewing #1005
Contributor guide
Research direction
Start with ZooUtil.java at the referenced putData implementation and trace how ZooReaderWriter.putData handles a timeout followed by a retry. Reproduce or verify the create-timeout scenario described in the issue, then establish expected behavior for a node that may already exist; the issue does not name a test or a specific fix.
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
- 35/100