I'm also quite unhappy with FSDirectory and locking
issues... 

Worst thing is that it creates locks on file system,
and those files are not temporary. If JVM crashes for
whatever reason - they are still there
( this is extremely inconveninet while debugging... ) 


Another reasin is that it's in  no way friendly for
IoC environment. It can not be created via
constructor. 
Why? 

I had to write wrapper which delegates to FSDirectory,
but this is not an elegant solution... 

It's not as unfriendly as hibernate ( for IoC via pico
) , but still unfriendly...


> Therefore we dug in a bit more......
> 
> Long answer - theres a heap of horrible, horrible
> code in the FSDirectory that tries to be clever and
> I think its not quite working correctly. 
> 
> Two types of lock - write.lock and commit.lock. The
> write.lock is used exclusively for synchronising the
> indexing of documents and has *no* impact on
> searching whatsoever.
> 
> Commit.lock is another little story. Commit.lock is
> used for two things - stopping indexing processes
> from overwriting segments that another one is
> currently using, and stopping IndexReaders from
> overwriting each other when they delete entries
> (dcon't even start asking my why a bloody
> IndexReader can delete documents).
> 
> *However*, theres another naughty little usage that
> isn't listed in any of the documentation, and here
> it is....
> 
> Doug Cutting wrote FSDirectory in such a way that it
> caches a directory. Hence, if FSDirectory is called
> more than once with the same directory, the
> FSDirectory class uses a static Hashtable to return
> the current values. However, if FSDirectory is
> called with a *different* directory, it engages a
> commit.lock while it updates the values. It *also*
> makes that Hashtable (sychronised). 


=====
----[ Konstantin Pribluda ( ko5tik ) ]----------------
Zu Verstärkung meines Teams suche ich ab Sofort einen
Softwareentwickler[In] für die Festanstellung. 
Arbeitsort: Mainz 
Skills:  Programmieren, Kenntnisse in OpenSource-Bereich
----[ http://www.pribluda.de ]------------------------


        
                
__________________________________
Do you Yahoo!?
New and Improved Yahoo! Mail - 100MB free storage!
http://promotions.yahoo.com/new_mail 

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to