Our application is a smartclient entity/based application with the servers in an ASP environment reachable via internet. In our current server architecture there is a battery of NLB front-end servers in DMZ. Every front-end passes the request to the backend servers that are also on NLB and there is also several distrubuited session managers that take care about the smartclient sessions lifetime. The smartclient sends/receives entities to/from the servers and all entities are decoupled from the orginal nhibernate session (no reference to internal nh persistentbag etc) so they can pass from all the layers till the smartclient and viceversa. All the backend servers are equivalent so there is no special master and all the business services running on these backend servers may update NH.Search/Lucene indexes. The indexes update is contextual. If I configure my back end servers in master/slaves mode, is there an automatic way/setting to queue all updates on a master server from all the slave ones or I have to write the code from scratch? You say that I should create an offline scheduled indexer that update indexes instead of the current contextual way? Is it the best way?
Thank you for your answer. --Vito On 25 Nov, 08:18, "Ayende Rahien" <[EMAIL PROTECTED]> wrote: > The locking should be handled directly by lucene, not in the NHS code. > Note that if the indexing is done on a remote directory, the remote driver > may fail to handle file locking appropriately. > In those circumstances, it is recommended to have a single master, which all > the nodes are queuing their updates for, which can update the index, that > also tend to be much faster overall. > > On Mon, Nov 24, 2008 at 5:54 PM, Vito <[EMAIL PROTECTED]> wrote: > > > I've integrated NHibernate.Search into our company platform DAL and > > it's works very fine. Compliments! Unfortunately, since two months > > ago, our backend servers, where the DAL with NHibernate runs, are in a > > NLB environment so different servers can update the Lucene file base > > indexes at the same time. There is no a master backend and slave ones > > because the NLB can return any backend server when a WCF call is made, > > so all the backend nodes can contemporary update indexes to serve > > different requests. > > I've encountered a problem in the NHibernate.Search.Impl.Workspace > > file because it is not able to correct manage the lock: (Monitor.Enter > > & Monitor.Exit) and when it try to close the writer in the Cleanup > > proc of the same class because sometimes the index files are already > > locked by another backend. > > Is there a new version that is able to run on distributed environments > > or can I do anything to solve the problem? Thank u very much. > > > --Vito --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "NHibernate Contrib - Development Group" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com.ar/group/nhcdevs?hl=en -~----------~----~----~----~------~----~------~--~---
