Hi Christoph

We are in a cluster running under Bea Weblogic.

We have a static API to the search component from the portlets.

We therefore need to open an indexreader per request.

Cheers
Pete

----- Original Message ----- 
From: "Christoph Goller" <[EMAIL PROTECTED]>
To: "Lucene Developers List" <[EMAIL PROTECTED]>
Sent: Tuesday, September 14, 2004 10:55 AM
Subject: Re: Lock handling and Lucene 1.9 / 2.0


> Pete Lewis wrote:
> > Hi Christoph
> >
> > If we stand back a second and ask why we have commit locks when
searching?
> >
> > The answer comes down to handling the FSDirectory - where the methods
used
> > are not j2ee compliant.
> >
> > We could open another can of worms and say why does the indexreader
delete -
> > but I won't go into that argument again here.....
> >
> > The bottom line is that we need the ability to search without waiting on
a
> > commit lock.
>
> You have this ability already !!!!!!!!!!!!!!!!!!!!!!!!!
>
> The FSDirectory is where the problems lie.  We could hack the
> > code to make it work for our particular application; however what I've
been
> > trying to get across is the need to have a method that will give users
the
> > capability to just search (not delete) without waiting upon the commit
lock,
> > that will be j2ee compliant, and that will be appropriate clustered
> > implementations - and that this should be a candidate for Lucene 1.9 /
2.0.
> >
> > You say that it shouldn't take long to wait.  A 1 sec spin lock per
index
> > per process is an eternity when trying to scale for potentially
thousands of
> > users.
>
> I have to admit that I am not an expert in j2ee compliancy. But I would
like
> to learn about it. If a database (I consder Lucene as a database) really
has
> to be initialized for every read-access, than there is a problem with j2ee
> compliancy. I cannot believe that this is really true.
>
> LET ME STATE AGAIN: You should not open a new IndexReader for every
> search/query. If you do so you definitely have a performance problem
> independently from synchronization!!!!!!!!! Opening an IndexReader is
> much more expensive than any individual query/search.
>
> You need a commit.lock for opening an IndexReader not because IndexReader
> has delete functionality. You need it because if there is some process
> writing to your index, your index may be in an inconsistent state. An
existing
> commit.lock indicates such an inconsistent state. Therefore, every writer
needs
> a commit.lock while committing, and every reader needs a commit.lock while
> opening an index.
>
> Christoph
>
>
> ---------------------------------------------------------------------
> 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]

Reply via email to