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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


--
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to