You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@lucene.apache.org by Amin Mohammed-Coleman <am...@gmail.com> on 2009/07/01 09:57:24 UTC

IndexWriter

Hi

This question has probably been asked before so apologies for asking it
again.  Just to confirm that it is ok to use a single index writer in a web
application and only close that single instance on application shutdown?  As
the indexwriter is thread safe there is no need for any external
synchronisation.  Am I correct in thinking this?

I have configured via spring a single index writer which is used in the
application and I use the same one for adding and updating documents.  This
index writer is closed when the spring application context shutsdown.


Cheers
Amin

Re: IndexWriter

Posted by Simon Willnauer <si...@googlemail.com>.
I don't know about your setup but you should do it before spring
creates you indexwriter. you could use a wrapper for that indexwriter
to unlock ahead of creating the delegate or rather have some startup
listener which checks if it is locked and in turn have a shutdown
listener which closes the writer.

simon



On Thu, Jul 2, 2009 at 9:55 AM, Amin Mohammed-Coleman<am...@gmail.com> wrote:
> Ok
>
> My index writers are configured using spring.  So basically I need to have
> spring application listener that checks on start up whether the directory is
> locked if it is then unlock.  On application shutdown i have a listener that
> unlocks the directory if is locked.
>
> Not sure if that made sense.
>
> Cheers
> Amin
>
> On Thu, Jul 2, 2009 at 8:06 AM, Simon Willnauer
> <si...@googlemail.com> wrote:
>>
>> Ganesh is right you should check once you webapp is starting up if you
>> keep the writer open as long as you app is up and running. I just
>> mentioned it to make you aware of it and prevent some surprises if the
>> app crashes.
>>
>> simon
>>
>> On Thu, Jul 2, 2009 at 9:03 AM, Ganesh<em...@yahoo.co.in> wrote:
>> > No. You should not do this for every document you add or update.
>> >
>> > First time, When you open your writer, if the directory is locked, it
>> > will throw LockObtainFailedException, In this case, Unlock it and Open the
>> > writer again.
>> >
>> > Regards
>> > Ganesh
>> >
>> > ----- Original Message -----
>> > From: "Amin Mohammed-Coleman" <am...@gmail.com>
>> > To: <ja...@lucene.apache.org>; <si...@gmail.com>
>> > Sent: Wednesday, July 01, 2009 5:39 PM
>> > Subject: Re: IndexWriter
>> >
>> >
>> >> Hi all
>> >>
>> >> Thanks for your response.  I guess when I add or update using the
>> >> indexwriter I need to do the following:
>> >>
>> >> }finally {
>> >>   if (IndexReader.isLocked(directory)) {
>> >>     IndexReader.unlock(directory);
>> >>   }
>> >> }
>> >>
>> >>
>> >> Cheers
>> >> Amin
>> >>
>> >>
>> >>
>> >> On Wed, Jul 1, 2009 at 11:47 AM, Simon Willnauer <
>> >> simon.willnauer@googlemail.com> wrote:
>> >>
>> >>> You might want to take care of the write.lock file in the index
>> >>> directory if your application breaks down. If you do not close the
>> >>> writer and restart you app you might get an LockObtainFailedException.
>> >>>
>> >>> simon
>> >>>
>> >>> On Wed, Jul 1, 2009 at 12:39 PM, Ganesh<em...@yahoo.co.in> wrote:
>> >>> > Yes. Single IndexWriter could be maintained in a App and it could be
>> >>> closed when the App is shutdown.
>> >>> >
>> >>> > Regards
>> >>> > Ganesh
>> >>> >
>> >>> > ----- Original Message -----
>> >>> > From: "Amin Mohammed-Coleman" <am...@gmail.com>
>> >>> > To: <ja...@lucene.apache.org>
>> >>> > Sent: Wednesday, July 01, 2009 1:27 PM
>> >>> > Subject: IndexWriter
>> >>> >
>> >>> >
>> >>> >> Hi
>> >>> >>
>> >>> >> This question has probably been asked before so apologies for
>> >>> >> asking it
>> >>> >> again.  Just to confirm that it is ok to use a single index writer
>> >>> >> in a
>> >>> web
>> >>> >> application and only close that single instance on application
>> >>> >> shutdown?
>> >>>  As
>> >>> >> the indexwriter is thread safe there is no need for any external
>> >>> >> synchronisation.  Am I correct in thinking this?
>> >>> >>
>> >>> >> I have configured via spring a single index writer which is used in
>> >>> >> the
>> >>> >> application and I use the same one for adding and updating
>> >>> >> documents.
>> >>>  This
>> >>> >> index writer is closed when the spring application context
>> >>> >> shutsdown.
>> >>> >>
>> >>> >>
>> >>> >> Cheers
>> >>> >> Amin
>> >>> >>
>> >>> > Send instant messages to your online friends
>> >>> http://in.messenger.yahoo.com
>> >>> >
>> >>> >
>> >>> > ---------------------------------------------------------------------
>> >>> > To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
>> >>> > For additional commands, e-mail: java-user-help@lucene.apache.org
>> >>> >
>> >>> >
>> >>>
>> >>> ---------------------------------------------------------------------
>> >>> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
>> >>> For additional commands, e-mail: java-user-help@lucene.apache.org
>> >>>
>> >>>
>> >>
>> > Send instant messages to your online friends
>> > http://in.messenger.yahoo.com
>> >
>> > ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
>> > For additional commands, e-mail: java-user-help@lucene.apache.org
>> >
>> >
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
>> For additional commands, e-mail: java-user-help@lucene.apache.org
>>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org


Re: IndexWriter

Posted by Amin Mohammed-Coleman <am...@gmail.com>.
Ok

My index writers are configured using spring.  So basically I need to have
spring application listener that checks on start up whether the directory is
locked if it is then unlock.  On application shutdown i have a listener that
unlocks the directory if is locked.

Not sure if that made sense.

Cheers
Amin

On Thu, Jul 2, 2009 at 8:06 AM, Simon Willnauer <
simon.willnauer@googlemail.com> wrote:

> Ganesh is right you should check once you webapp is starting up if you
> keep the writer open as long as you app is up and running. I just
> mentioned it to make you aware of it and prevent some surprises if the
> app crashes.
>
> simon
>
> On Thu, Jul 2, 2009 at 9:03 AM, Ganesh<em...@yahoo.co.in> wrote:
> > No. You should not do this for every document you add or update.
> >
> > First time, When you open your writer, if the directory is locked, it
> will throw LockObtainFailedException, In this case, Unlock it and Open the
> writer again.
> >
> > Regards
> > Ganesh
> >
> > ----- Original Message -----
> > From: "Amin Mohammed-Coleman" <am...@gmail.com>
> > To: <ja...@lucene.apache.org>; <si...@gmail.com>
> > Sent: Wednesday, July 01, 2009 5:39 PM
> > Subject: Re: IndexWriter
> >
> >
> >> Hi all
> >>
> >> Thanks for your response.  I guess when I add or update using the
> >> indexwriter I need to do the following:
> >>
> >> }finally {
> >>   if (IndexReader.isLocked(directory)) {
> >>     IndexReader.unlock(directory);
> >>   }
> >> }
> >>
> >>
> >> Cheers
> >> Amin
> >>
> >>
> >>
> >> On Wed, Jul 1, 2009 at 11:47 AM, Simon Willnauer <
> >> simon.willnauer@googlemail.com> wrote:
> >>
> >>> You might want to take care of the write.lock file in the index
> >>> directory if your application breaks down. If you do not close the
> >>> writer and restart you app you might get an LockObtainFailedException.
> >>>
> >>> simon
> >>>
> >>> On Wed, Jul 1, 2009 at 12:39 PM, Ganesh<em...@yahoo.co.in> wrote:
> >>> > Yes. Single IndexWriter could be maintained in a App and it could be
> >>> closed when the App is shutdown.
> >>> >
> >>> > Regards
> >>> > Ganesh
> >>> >
> >>> > ----- Original Message -----
> >>> > From: "Amin Mohammed-Coleman" <am...@gmail.com>
> >>> > To: <ja...@lucene.apache.org>
> >>> > Sent: Wednesday, July 01, 2009 1:27 PM
> >>> > Subject: IndexWriter
> >>> >
> >>> >
> >>> >> Hi
> >>> >>
> >>> >> This question has probably been asked before so apologies for asking
> it
> >>> >> again.  Just to confirm that it is ok to use a single index writer
> in a
> >>> web
> >>> >> application and only close that single instance on application
> shutdown?
> >>>  As
> >>> >> the indexwriter is thread safe there is no need for any external
> >>> >> synchronisation.  Am I correct in thinking this?
> >>> >>
> >>> >> I have configured via spring a single index writer which is used in
> the
> >>> >> application and I use the same one for adding and updating
> documents.
> >>>  This
> >>> >> index writer is closed when the spring application context
> shutsdown.
> >>> >>
> >>> >>
> >>> >> Cheers
> >>> >> Amin
> >>> >>
> >>> > Send instant messages to your online friends
> >>> http://in.messenger.yahoo.com
> >>> >
> >>> > ---------------------------------------------------------------------
> >>> > To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
> >>> > For additional commands, e-mail: java-user-help@lucene.apache.org
> >>> >
> >>> >
> >>>
> >>> ---------------------------------------------------------------------
> >>> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
> >>> For additional commands, e-mail: java-user-help@lucene.apache.org
> >>>
> >>>
> >>
> > Send instant messages to your online friends
> http://in.messenger.yahoo.com
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
> > For additional commands, e-mail: java-user-help@lucene.apache.org
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
> For additional commands, e-mail: java-user-help@lucene.apache.org
>
>

Re: IndexWriter

Posted by Simon Willnauer <si...@googlemail.com>.
Ganesh is right you should check once you webapp is starting up if you
keep the writer open as long as you app is up and running. I just
mentioned it to make you aware of it and prevent some surprises if the
app crashes.

simon

On Thu, Jul 2, 2009 at 9:03 AM, Ganesh<em...@yahoo.co.in> wrote:
> No. You should not do this for every document you add or update.
>
> First time, When you open your writer, if the directory is locked, it will throw LockObtainFailedException, In this case, Unlock it and Open the writer again.
>
> Regards
> Ganesh
>
> ----- Original Message -----
> From: "Amin Mohammed-Coleman" <am...@gmail.com>
> To: <ja...@lucene.apache.org>; <si...@gmail.com>
> Sent: Wednesday, July 01, 2009 5:39 PM
> Subject: Re: IndexWriter
>
>
>> Hi all
>>
>> Thanks for your response.  I guess when I add or update using the
>> indexwriter I need to do the following:
>>
>> }finally {
>>   if (IndexReader.isLocked(directory)) {
>>     IndexReader.unlock(directory);
>>   }
>> }
>>
>>
>> Cheers
>> Amin
>>
>>
>>
>> On Wed, Jul 1, 2009 at 11:47 AM, Simon Willnauer <
>> simon.willnauer@googlemail.com> wrote:
>>
>>> You might want to take care of the write.lock file in the index
>>> directory if your application breaks down. If you do not close the
>>> writer and restart you app you might get an LockObtainFailedException.
>>>
>>> simon
>>>
>>> On Wed, Jul 1, 2009 at 12:39 PM, Ganesh<em...@yahoo.co.in> wrote:
>>> > Yes. Single IndexWriter could be maintained in a App and it could be
>>> closed when the App is shutdown.
>>> >
>>> > Regards
>>> > Ganesh
>>> >
>>> > ----- Original Message -----
>>> > From: "Amin Mohammed-Coleman" <am...@gmail.com>
>>> > To: <ja...@lucene.apache.org>
>>> > Sent: Wednesday, July 01, 2009 1:27 PM
>>> > Subject: IndexWriter
>>> >
>>> >
>>> >> Hi
>>> >>
>>> >> This question has probably been asked before so apologies for asking it
>>> >> again.  Just to confirm that it is ok to use a single index writer in a
>>> web
>>> >> application and only close that single instance on application shutdown?
>>>  As
>>> >> the indexwriter is thread safe there is no need for any external
>>> >> synchronisation.  Am I correct in thinking this?
>>> >>
>>> >> I have configured via spring a single index writer which is used in the
>>> >> application and I use the same one for adding and updating documents.
>>>  This
>>> >> index writer is closed when the spring application context shutsdown.
>>> >>
>>> >>
>>> >> Cheers
>>> >> Amin
>>> >>
>>> > Send instant messages to your online friends
>>> http://in.messenger.yahoo.com
>>> >
>>> > ---------------------------------------------------------------------
>>> > To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
>>> > For additional commands, e-mail: java-user-help@lucene.apache.org
>>> >
>>> >
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
>>> For additional commands, e-mail: java-user-help@lucene.apache.org
>>>
>>>
>>
> Send instant messages to your online friends http://in.messenger.yahoo.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
> For additional commands, e-mail: java-user-help@lucene.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org


Re: IndexWriter

Posted by Ganesh <em...@yahoo.co.in>.
No. You should not do this for every document you add or update.

First time, When you open your writer, if the directory is locked, it will throw LockObtainFailedException, In this case, Unlock it and Open the writer again. 

Regards
Ganesh

----- Original Message ----- 
From: "Amin Mohammed-Coleman" <am...@gmail.com>
To: <ja...@lucene.apache.org>; <si...@gmail.com>
Sent: Wednesday, July 01, 2009 5:39 PM
Subject: Re: IndexWriter


> Hi all
> 
> Thanks for your response.  I guess when I add or update using the
> indexwriter I need to do the following:
> 
> }finally {
>   if (IndexReader.isLocked(directory)) {
>     IndexReader.unlock(directory);
>   }
> }
> 
> 
> Cheers
> Amin
> 
> 
> 
> On Wed, Jul 1, 2009 at 11:47 AM, Simon Willnauer <
> simon.willnauer@googlemail.com> wrote:
> 
>> You might want to take care of the write.lock file in the index
>> directory if your application breaks down. If you do not close the
>> writer and restart you app you might get an LockObtainFailedException.
>>
>> simon
>>
>> On Wed, Jul 1, 2009 at 12:39 PM, Ganesh<em...@yahoo.co.in> wrote:
>> > Yes. Single IndexWriter could be maintained in a App and it could be
>> closed when the App is shutdown.
>> >
>> > Regards
>> > Ganesh
>> >
>> > ----- Original Message -----
>> > From: "Amin Mohammed-Coleman" <am...@gmail.com>
>> > To: <ja...@lucene.apache.org>
>> > Sent: Wednesday, July 01, 2009 1:27 PM
>> > Subject: IndexWriter
>> >
>> >
>> >> Hi
>> >>
>> >> This question has probably been asked before so apologies for asking it
>> >> again.  Just to confirm that it is ok to use a single index writer in a
>> web
>> >> application and only close that single instance on application shutdown?
>>  As
>> >> the indexwriter is thread safe there is no need for any external
>> >> synchronisation.  Am I correct in thinking this?
>> >>
>> >> I have configured via spring a single index writer which is used in the
>> >> application and I use the same one for adding and updating documents.
>>  This
>> >> index writer is closed when the spring application context shutsdown.
>> >>
>> >>
>> >> Cheers
>> >> Amin
>> >>
>> > Send instant messages to your online friends
>> http://in.messenger.yahoo.com
>> >
>> > ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
>> > For additional commands, e-mail: java-user-help@lucene.apache.org
>> >
>> >
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
>> For additional commands, e-mail: java-user-help@lucene.apache.org
>>
>>
>
Send instant messages to your online friends http://in.messenger.yahoo.com 

---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org


Re: IndexWriter

Posted by Amin Mohammed-Coleman <am...@gmail.com>.
Hi all

Thanks for your response.  I guess when I add or update using the
indexwriter I need to do the following:

}finally {
   if (IndexReader.isLocked(directory)) {
     IndexReader.unlock(directory);
   }
}


Cheers
Amin



On Wed, Jul 1, 2009 at 11:47 AM, Simon Willnauer <
simon.willnauer@googlemail.com> wrote:

> You might want to take care of the write.lock file in the index
> directory if your application breaks down. If you do not close the
> writer and restart you app you might get an LockObtainFailedException.
>
> simon
>
> On Wed, Jul 1, 2009 at 12:39 PM, Ganesh<em...@yahoo.co.in> wrote:
> > Yes. Single IndexWriter could be maintained in a App and it could be
> closed when the App is shutdown.
> >
> > Regards
> > Ganesh
> >
> > ----- Original Message -----
> > From: "Amin Mohammed-Coleman" <am...@gmail.com>
> > To: <ja...@lucene.apache.org>
> > Sent: Wednesday, July 01, 2009 1:27 PM
> > Subject: IndexWriter
> >
> >
> >> Hi
> >>
> >> This question has probably been asked before so apologies for asking it
> >> again.  Just to confirm that it is ok to use a single index writer in a
> web
> >> application and only close that single instance on application shutdown?
>  As
> >> the indexwriter is thread safe there is no need for any external
> >> synchronisation.  Am I correct in thinking this?
> >>
> >> I have configured via spring a single index writer which is used in the
> >> application and I use the same one for adding and updating documents.
>  This
> >> index writer is closed when the spring application context shutsdown.
> >>
> >>
> >> Cheers
> >> Amin
> >>
> > Send instant messages to your online friends
> http://in.messenger.yahoo.com
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
> > For additional commands, e-mail: java-user-help@lucene.apache.org
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
> For additional commands, e-mail: java-user-help@lucene.apache.org
>
>

Re: IndexWriter

Posted by Simon Willnauer <si...@googlemail.com>.
You might want to take care of the write.lock file in the index
directory if your application breaks down. If you do not close the
writer and restart you app you might get an LockObtainFailedException.

simon

On Wed, Jul 1, 2009 at 12:39 PM, Ganesh<em...@yahoo.co.in> wrote:
> Yes. Single IndexWriter could be maintained in a App and it could be closed when the App is shutdown.
>
> Regards
> Ganesh
>
> ----- Original Message -----
> From: "Amin Mohammed-Coleman" <am...@gmail.com>
> To: <ja...@lucene.apache.org>
> Sent: Wednesday, July 01, 2009 1:27 PM
> Subject: IndexWriter
>
>
>> Hi
>>
>> This question has probably been asked before so apologies for asking it
>> again.  Just to confirm that it is ok to use a single index writer in a web
>> application and only close that single instance on application shutdown?  As
>> the indexwriter is thread safe there is no need for any external
>> synchronisation.  Am I correct in thinking this?
>>
>> I have configured via spring a single index writer which is used in the
>> application and I use the same one for adding and updating documents.  This
>> index writer is closed when the spring application context shutsdown.
>>
>>
>> Cheers
>> Amin
>>
> Send instant messages to your online friends http://in.messenger.yahoo.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
> For additional commands, e-mail: java-user-help@lucene.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org


Re: IndexWriter

Posted by Ganesh <em...@yahoo.co.in>.
Yes. Single IndexWriter could be maintained in a App and it could be closed when the App is shutdown. 

Regards
Ganesh

----- Original Message ----- 
From: "Amin Mohammed-Coleman" <am...@gmail.com>
To: <ja...@lucene.apache.org>
Sent: Wednesday, July 01, 2009 1:27 PM
Subject: IndexWriter


> Hi
> 
> This question has probably been asked before so apologies for asking it
> again.  Just to confirm that it is ok to use a single index writer in a web
> application and only close that single instance on application shutdown?  As
> the indexwriter is thread safe there is no need for any external
> synchronisation.  Am I correct in thinking this?
> 
> I have configured via spring a single index writer which is used in the
> application and I use the same one for adding and updating documents.  This
> index writer is closed when the spring application context shutsdown.
> 
> 
> Cheers
> Amin
>
Send instant messages to your online friends http://in.messenger.yahoo.com 

---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org