So even when you stop searches, you observe a thread stuck on RandomAccessFile.readBytes()? In an active system, it would be normal to see threads blocked there... just on different calls.
If RandomAccessFile.readBytes() is actually hanging, it's not a Lucene issue, but a JVM/OS bug. -Yonik http://www.lucidimagination.com On Mon, Mar 23, 2009 at 3:31 PM, Venkat Rangan <venkat.ran...@clearwellsystems.com> wrote: > Hi, > > > > We have an application using Lucene 2.2.0 running in a Sun HotSpot JVM, > with JDK 1.6.0. We have had no problems with it in the 32-bit version of > the JVM. We recently upgraded to 64-bit JVM and occasionally, we are > observing a hang. In particular, the stack trace looks like this - the > RandomAccessFile.read() does not return ever - multiple stack traces are > hung on this, pointing to no bytes available to read for specific hits > returned by the searcher. We are aware of issue: > https://issues.apache.org/jira/browse/LUCENE-1262 which has a similar > stack trace. Is this a known problem or issue? > > > > java.lang.Throwable > > at java.io.RandomAccessFile.readBytes(Native Method) > > at java.io.RandomAccessFile.read(RandomAccessFile.java:322) > > at > org.apache.lucene.store.FSDirectory$FSIndexInput.readInternal(FSDirector > y.java:550) > > at > org.apache.lucene.store.BufferedIndexInput.readBytes(BufferedIndexInput. > java:122) > > at > org.apache.lucene.index.CompoundFileReader$CSIndexInput.readInternal(Com > poundFileReader.java:240) > > at > org.apache.lucene.store.BufferedIndexInput.refill(BufferedIndexInput.jav > a:143) > > at > org.apache.lucene.store.BufferedIndexInput.readByte(BufferedIndexInput.j > ava:38) > > at > org.apache.lucene.store.IndexInput.readChars(IndexInput.java:107) > > at > org.apache.lucene.store.IndexInput.readString(IndexInput.java:93) > > at > org.apache.lucene.index.FieldsReader.addField(FieldsReader.java:253) > > at > org.apache.lucene.index.FieldsReader.doc(FieldsReader.java:121) > > at > org.apache.lucene.index.SegmentReader.document(SegmentReader.java:346) > > at > org.apache.lucene.index.MultiReader.document(MultiReader.java:117) > > at > org.apache.lucene.index.MultiReader.document(MultiReader.java:106) > > at > org.apache.lucene.index.IndexReader.document(IndexReader.java:437) > > > > The call is something like: > > > > try { > > IndexReader indexReader = getLuIndexReader(); > > if (indexReader.isDeleted(docId) || docId >= > indexReader.maxDoc()) > > return null; > > lu_Document = lu_indexReader.document(docId); > > return lu_Document; > > } catch (IOException e) { > > ... > > } > > Thanks, > > > > -venkat --------------------------------------------------------------------- To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org For additional commands, e-mail: java-user-h...@lucene.apache.org