lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "jitender ahuja" <ajiten...@aalayance.com>
Subject Re: Closing IndexWriter object after each file causes NullPointerException?
Date Wed, 14 Apr 2004 07:28:35 GMT
Hi,

    Ok, but what is the use of  the writeLock, as the directory is
modified anyway!
As if the writeLock is an issue then then the index directory should have
index information only for the first file.

Thanks,
Jitender

----- Original Message ----- 
From: "Brisbart Franck" <Franck.Brisbart@kelkoo.net>
To: <ajitender@aalayance.com>; "Lucene Users List"
<lucene-user@jakarta.apache.org>
Sent: Tuesday, April 13, 2004 10:15 PM
Subject: Re: Closing IndexWriter object after each file causes
NullPointerException?


> If you close an IndexWriter more than once, the release of the writeLock
>   creates a NullPointerException.
> You should clean your code and close your writer only once. Anyway, I
> don't know why there's no test on the 'writeLock' as in the 'finalize'
> method.
> I think it's a little error, so I suggest the attached patch to fix that.
>
> Franck Brisbart
>
>
> jitender ahuja wrote:
> > Hi,
> >      Can anyone tell what is the cause of error for the following error
> > as the source of error is not any of the following:
> > a) Index directory closing after each file of the directory (to be
> > indexed) : verified by the changing directory size, with the changing
> >  number of files to be indexed
> > b) IndexWriter object being closed out : verified by checking the
> > IndexWriter object ( here, writ) being a non-null object, by the line:
> >         System.out.println(writ != null); in the attached code
> >
> >
> > Error output:
> >  java.lang.NullPointerException
> >         at org.apache.lucene.index.IndexWriter.close(Unknown Source)
> >         at IndexDatanew.indexDocs(IndexDatanew.java:89)
> >         at IndexDatanew.indexDocs(IndexDatanew.java:50)
> >         at IndexDatanew.main(IndexDatanew.java:25)
> >
> > The code that causes this error is working fine otherwise (i.e. for
> > indexing purposes) and is "attached"; the output in detail for a
> > directory of 2 files is also attached.:
> >
> > Thanks
> > Jitender
> >
> >
> > ------------------------------------------------------------------------
> >
> > C:\lucroche>java IndexDatanew E:\freebooks\books\whole\jiten
> > Index Directory: E:\freebooks\books\whole\jiten
> > 2
> > E:\freebooks\books\whole\jiten\Copy of TIJ3_c.htm
> > adding: E:\freebooks\books\whole\jiten\Copy of TIJ3_c.htm
> > File contents from buffer:
> > E:\freebooks\books\whole\jiten\Copy of TIJ3_c.htm
> > false
> > E:\freebooks\books\whole\jiten\TIJ3_c.htm
> > adding: E:\freebooks\books\whole\jiten\TIJ3_c.htm
> > File contents from buffer:
> > E:\freebooks\books\whole\jiten\TIJ3_c.htm
> > false
> > java.lang.NullPointerException
> >         at org.apache.lucene.index.IndexWriter.close(Unknown Source)
> >         at IndexDatanew.indexDocs(IndexDatanew.java:89)
> >         at IndexDatanew.indexDocs(IndexDatanew.java:50)
> >         at IndexDatanew.main(IndexDatanew.java:25)
> >
> >
> >
> > ------------------------------------------------------------------------
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: lucene-dev-unsubscribe@jakarta.apache.org
> > For additional commands, e-mail: lucene-dev-help@jakarta.apache.org
>
>
> -- 
> Franck Brisbart
> R&D
> http://www.kelkoo.com
>


----------------------------------------------------------------------------
----


> Index: IndexWriter.java
> ===================================================================
> RCS file:
/home/cvspublic/jakarta-lucene/src/java/org/apache/lucene/index/IndexWriter.
java,v
> retrieving revision 1.28
> diff -u -r1.28 IndexWriter.java
> --- IndexWriter.java 25 Mar 2004 19:34:53 -0000 1.28
> +++ IndexWriter.java 13 Apr 2004 16:39:56 -0000
> @@ -235,8 +235,10 @@
>    public synchronized void close() throws IOException {
>      flushRamSegments();
>      ramDirectory.close();
> -    writeLock.release();                          // release write lock
> -    writeLock = null;
> +    if (writeLock != null) {
> +      writeLock.release();                          // release write lock
> +      writeLock = null;
> +    }
>      directory.close();
>    }
>
>


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


Mime
View raw message