I take that back. I get a "Text file busy" first, and then each
subsequent FileOutputStream.write() gets a "Bad file descriptor"
IOException.
I have some java source that I've used to create these errors.
Simon
Simon Weatherill wrote:
I just tested it without using the PDF library and (luckily) got
similar results. This time, however, I got a "Text file busy"
Exception (java) while the first thread was writing. The second thread
continued writing to the new file.
Simon
Simon Weatherill wrote:
I've got a weird situation. I have an RMI application that is
creating PDF's for a web server. A request comes in to the web
server, the web server deletes the PDF if it exists and then requests
an RMI server to create the PDF. The PDF is written directly to the
web server's disk via a Samba mount (both systems are Linux and are
running Samba 3.0.10). The problem occurs when the web server serves
2 almost simultaneous requests for the same PDF. The first request
deletes (if necessary) the existing PDF and calls the RMI server to
create a new PDF. The next request deletes the PDF (that is now being
created by the RMI server) and calls the RMI server to create a new
PDF. The first RMI process can no longer write to the PDF and the
second process can't write to it either. It's very much a timing
issue. If the requests are spread out just enough, then no one's the
wiser.
Samba generates the following error (from messages). I believe that
means that Samba is getting an EBADF error (bad file number).
kernel: smb_writepage_sync: failed write, wsize=4096, result=-9
What exactly is going on in the file system during this? I know what
happens in a normal UNIX file system (and the problem does not occur
there). I am going to write a test application that creates just
plain files without using the PDF library to see if perhaps they do
something funny or if it's just how Samba handles deleted files. I
have a call into the writers of the PDF library as well.
This seems like a silly problem and we'll probably have to code
around it anyway, but something is not working correctly (in my eye).
Thanks,
Simon
--
Simon Weatherill
--
To unsubscribe from this list go to the following URL and read the
instructions: https://lists.samba.org/mailman/listinfo/samba