Consider switching to Apache Commons IO Monitor instead of using the NIO2 WatchService
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 44
- Forks
- 19
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 4
Description
Currently using the NIO2 WatchService in Java turned out to be a huge pain, due to the JVM internal implementation approach. We never achieved to have a consistent behaviour across all operating systems, which e.g. led to us having to disable all WatchVerticle related tests in our containerized build on GitHub (see [1] explaining why).
After consultation with @gedack he raised the idea of switching to Apache Commons IO Monitor as an alternative to use WatchService. It shall be clarified in a PoC whether that is a more viable approach.
[1] https://blog.arkey.fr/2019/09/13/watchservice-and-bind-mount/
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the NIO2 WatchService usage and the disabled WatchVerticle-related tests, then compare them with Apache Commons IO Monitor. The PoC should establish whether the alternative provides more consistent behavior across operating systems and is viable for the project.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100