Hi Mario,
Indeed -- it's been a while again... too little time, too many things to do;
but I keep coming back to VFS :-D. Still would love to find the time
to improve the normalization...
It's primarily reads of metadata about the FileObjects that I think are
causing
the problems (listChildren(), getType(),...) -- I don't touch the actual
content
often enough to show any signs there. It showed up after switching
to RC8-snapshot to work around the cache freshness problem and some
changes in my code to page in information on demand as the main
tables scroll independently.
The symptom is either deadlock on FileObject synchronization or NPE,
depending on the test.
I'll have testing done tomorrow with HEAD and see if it props up with
the very latest
VFS (without the SynchronizedFileObject decoration) and will let you
know... If the problem is still there, I can get you the thread dumps...
Thanks and Cheers!
- Filip
Mario Ivankovits wrote:
Hi Filip, nice to read you again.
Sometimes, the FileObject gets detached while it's still being used by
another
thread causing exceptions and sometimes the FileObject go into a
deadlock.
As you already noticed ( you are bleedingly fast) :-) I committed a try
to fix this issue.
Maybe if you simply try the svn head version it might behave better
already without any additional change. But for sure, if one thread tries
to copy the file and another one deletes it at the same time you'll get
exceptions again.
Could you please provide more informations about the operations you try
in parallel on the same fileObject?
The next NEW thing you can try is, to decorate the file object so that
it will synchronize each call.
StandardFileSystemManager manager = new StandardFileSystemManager();
manager.setCacheStrategy(CacheStrategy.ON_RESOLVE);
manager.setFileObjectDecorator(SynchronizedFileObject.class);
manager.init();
if you use instanceof with your FileObjects you have to change this to
FileObjectUtils.isInstanceOf
However, the deadlock problem might be more problematic. We need a "full
thread dump" to figure out whats the problem.
Also the SynchronizedFileObject might introduce new deadlocks as it
synchronize against the fileObject instance, internally the FileObject
itself has to synchronize against the fileSystem .... but hey, its a try.
Could you please check this out.
Thanks!
Ciao,
Mario
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]