Closed juliettepaul closed 8 years ago
I no longer maintain this project (I haven't used EventMachine in many years). The code change looks OK to me.
@jordansissel Does anyone maintain it? Would like to get a release up on rubygems for people experiencing this issue. I could upload the gem if you no longer want to maintain it just would need to get access on rubygems.org
@jayson I'm happy to add you as a contributor to this repo and give you ownership on rubygems to publish gems - let me know what you want :)
For rubygems, I only need your rubygems email and I can give you ownership.
@jordansissel Sounds perfect. I can take over maintaining it.
My email is jaysonpaul@gmail.com
% gem owner eventmachine-tail -a ...
Owner added successfully.
Done! :)
Thanks!
@jordansissel Did you add me as a contributor for this repo as well so I can push here? Thanks!
Looks like I got it thanks again
When watching symlinks that change frequently this code would be unable to lstat the symlink even though the stat succeeded. I tightened this lookup to happen faster after stat and I also used the symlink? check on the return from stat instead of another File call to reduce the frequency of this race condition.
Reproduction: Watch a symlink in tmp created like this:
Run this command to replace the symlink constantly and watch your tailer throw an exception while trying to grab the inode:
You will get an exception similar to this: