[hibernate-dev] Re: improving Search

Emmanuel Bernard emmanuel at hibernate.org
Thu Jun 12 07:54:57 EDT 2008


On  Jun 12, 2008, at 06:00, Sanne Grinovero wrote:

>
> >> Does it somehow involve not having cluster changes (ie intra VM  
> policy rather than inter VM?)
> I don't really understand what you're asking; I hope previous  
> example contains an answer; it just means you don't need
> to lock the index to make a "hotcopy" to anywhere.
>
>
> My question is does it somehow involve interacting with the  
> IndexWriter so that it does not do stuffs it would do otherwise.
> ie if I run indexing on VM1 and VM2, will copying files "from VM1"  
> be affected by indexWriter operations from VM2
>
> My proposal to use Index snapshots is to avoid the DP lock when  
> needing to copy somewhere, so indexing can go on without
> having to wait for file transfers: currently the  
> FSMasterDirectoryProvider could take the lock for a long time.
> This would be useful in the Master-Slave configuration, where the  
> Lock I want to release eagerly is VM-local as the master
> is the sole VM writing to the index; so I don't see how I could  
> introduce a multiple-VM problem.
> Is it possible to combine cluster configurations described in  
> reference 2.2.1 and 2.2.2?
> I mean are we meant to support a configuration having 2+ VMs acting  
> as Master for the same JMS topic and using the same filesystem index?

Some people use it that way for some reasons I don't fully understand.

>
> But I see your point, I'm going to verify if an IndexWriter holding  
> a snapshot will keep it's file-level locks or not,  even when being  
> closed
> in the workspace.
>
>
>
>
> >> Not if it's updated in a cluster, right?
> >> Plus seeing the contention lock we have experienced (on  
> IndexReader) in the recent test case, I want to be sure it's  
> actually faster than opening every time.
> Why not? don't you update by using delete+insert in cluster too?
>
> In a cluster, you open the IW do what you have to do protected by  
> the global lock, then close the IW (and release the global lock)  
> which means the IW on a other machine of the cluster can then have it.
> Does it work the same if you keep the IW opened? Does it release the  
> global lock? Does it cope with other IWs updating the file system?
>
> So is Map<DirectoryProvider, ReentrantLock>  
> getLockableDirectoryProviders() in SearchFactoryImpl returning  
> distributed locks?
> Or are you telling me about Lucene's locks on the index?

I am talking about the Lucene lock, not the extra protection Hibernate  
search provides.

>
>
> thanks for all help,
> Sanne
>




More information about the hibernate-dev mailing list