File Input - .sincedb file is broken on Windows

Description

When using the File input on Windows 7, the .sincedb file continually overwrites one entry instead of keeping an entry for each file.

I've narrowed it down to the File::Stat#ino call in FileWatch::Tail
https://github.com/jordansissel/ruby-filewatch/blob/master/lib/filewatch/tail.rb#L108

When using File::Stat#ino on my Windows 7 machine it always returns 0 no matter what file I give it. I've replicated this behavior with Ruby 1.8.7 and JRuby 1.6.6. Because of this, everytime the .sincedb file gets updated it updates the same entry and loses track of all other file positions.

I tried it on my Mac as well (OSX Lion) and I had no issues.

It's pretty bizarre and I can't seem to find any other people having a similar issue anywhere. The best I found was a post from 2005.
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/155021

Activity

Show:
Rick Frankel
May 27, 2014, 4:37 AM
Edited

Never used this file sharing site before so appologies if it doesn't work.
As above I created a patched version a while back. You can download the JAR file here.

[Edited - Removed Link]

I provide no warranty or anything over the patched JAR

But it seems to work ok for me.

Jason Kendall
May 27, 2014, 2:23 PM

Can you please just post what you changed – I'll be removing the link to an unofficial build.

Romain Lapoux
July 18, 2014, 9:12 AM

With my version of ruby-filewatch (https://github.com/manusfreedom/ruby-filewatch), we are able to use it during last month without issue(jboss log and a custom one in entry) on windows (2008 R2 & 2012 R2).
It's deployed on 50 servers and 18 000 000 events per day.
This version is mainly composed of other forks and some fix by me.

Alex Raileanu
November 7, 2014, 5:07 PM

I understand that issues are reported and worked on in GitHub - but I don't see a corresponding item there. Is there an update or a workaround for this issue?

Thanks,
Alex

João Duarte
February 6, 2015, 4:30 PM

Assignee

Jordan Sissel

Reporter

JP Camara

Labels

Fix versions

Affects versions

Configure