This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Slow manipulation of network-shared files


2010/2/5 Chap Harrison:
>
> This is wordy but I've tried to make it clear :-)

Its completely clear, thanks.

> I have a Perl app running in Cygwin 1.7.1, whose job is to monitor the log
> files being written by a Java program on another Windows Server 2003 box
> elsewhere on the LAN. ?(I'm using the CPAN File::Tail module, which provides
> 'tail -f' functionality, to monitor the log.)
>
>
> The actual I/O is fine. ?File::Tail responds very quickly to new data being
> written by the Java program to the log files in the shared folder on the
> LAN.
>
> The Perl app watches for log messages from the Java program that say, in
> effect, "I just closed file foo.txt". ?It then moves foo.txt into another
> directory.
>
> However, it is frequently the case that the Perl program cannot move
> (File::Move) the file - sometimes even after trying 5 times at one-second
> intervals. ?My suspicion is that the file is slow to be seen as officially
> "closed" by all interested parties.

Correct. Closing or deleting a file is insanely from by the windows
kernel side,
compared to other systems.
I usually have to wait 30ms until I can move the file away.

> And even when the Java program has halted, and has presumably closed all the
> files it created, but has not yet been "Quit" from the GUI, the Perl program
> is glacially slow to move the remaining files. ?What's more, at this point
> any other bash shells I'm running in Cygwin become almost completely
> unresponsive, even just moving the cursor.

5s looks more like a race. But I have no idea what could cause the race.
Could be that Java is still holding the handle until the gc frees it.
But I have
no idea about java, only lisp.

> When I quit the Java app from its GUI, everything instantly returns to
> normal.
>
> I'm guessing this has something to do with concurrency control over
> network-shared resources (the output files Java wrote and I'm trying to
> move).
>
> Just to add another layer of complexity, the Cygwin host OS (WinServer 2003)
> is running as a virtual machine hosted by a real box running WinServer 2003
> and Virtual Server 2005.
>
> Any explanations, solutions, or workarounds?
>
> Thanks,
> Chap
-- 
Reini Urban
http://phpwiki.org/           http://murbreak.at/

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]