jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From 文刚顾 <guweng...@gmail.com>
Subject Fwd: Unable to commit volatile index
Date Sat, 09 Jan 2010 13:49:44 GMT
FINALLY, I fixed it!
It's the Search Configuration. I use the configuration as
http://wiki.apache.org/jackrabbit/Search, but finally found that

the textFilterClasses(
org.apache.jackrabbit.core.query.lucene.TextPlainTextFilter) is deprecated.

So confusing.

---------- Forwarded message ----------
From: 文刚顾 <guwengang@gmail.com>
Date: 2010/1/9
Subject: Fwd: Unable to commit volatile index
To: users@jackrabbit.apache.org


Sorry, I tried many times and find that it's not the 6M DOC file cause this
problem. This problem happens again and again after I save the TXT file,
even just after the repository initialization. The problem didn't show any
more when I rename the TXT file to JS extension or other extension.
I cannot believe that I'm the only person reach this problem, can anyone
help?
Thanks anyway.


---------- Forwarded message ----------
From: 文刚顾 <guwengang@gmail.com>
Date: 2010/1/9
Subject: Unable to commit volatile index
To: users@jackrabbit.apache.org


Hello!
I'm using JackRabbit 1.6.
My project works well when I save small documents into then repository. Last
time when I save a small TXT file after a 6M DOC file, I got the following
exceptions.

2010-1-9 18:20:05[ERROR](MultiIndex.java:1174) Unable to commit volatile
index
java.io.IOException
    at
org.apache.jackrabbit.core.query.lucene.Util.createIOException(Util.java:114)
    at
org.apache.jackrabbit.core.query.lucene.AbstractIndex.addDocuments(AbstractIndex.java:199)
    at
org.apache.jackrabbit.core.query.lucene.VolatileIndex.commitPending(VolatileIndex.java:171)
    at
org.apache.jackrabbit.core.query.lucene.VolatileIndex.commit(VolatileIndex.java:140)
    at
org.apache.jackrabbit.core.query.lucene.PersistentIndex.copyIndex(PersistentIndex.java:105)
    at
org.apache.jackrabbit.core.query.lucene.MultiIndex$VolatileCommit.execute(MultiIndex.java:1984)
    at
org.apache.jackrabbit.core.query.lucene.MultiIndex.executeAndLog(MultiIndex.java:1000)
    at
org.apache.jackrabbit.core.query.lucene.MultiIndex.commitVolatileIndex(MultiIndex.java:1048)
    at
org.apache.jackrabbit.core.query.lucene.MultiIndex.flush(MultiIndex.java:893)
    at
org.apache.jackrabbit.core.query.lucene.MultiIndex.checkFlush(MultiIndex.java:1164)
    at
org.apache.jackrabbit.core.query.lucene.MultiIndex.access$100(MultiIndex.java:80)
    at
org.apache.jackrabbit.core.query.lucene.MultiIndex$1.run(MultiIndex.java:317)
    at java.util.TimerThread.mainLoop(Timer.java:512)
    at java.util.TimerThread.run(Timer.java:462)
Caused by: java.lang.NullPointerException
    at
org.apache.jackrabbit.core.value.BLOBInTempFile.delete(BLOBInTempFile.java:110)
    at
org.apache.jackrabbit.core.value.BLOBInTempFile.discard(BLOBInTempFile.java:120)
    at
org.apache.jackrabbit.core.query.lucene.TextFilterExtractor$1.close(TextFilterExtractor.java:112)
    at
org.apache.jackrabbit.core.query.lucene.TextExtractorJob.discard(TextExtractorJob.java:151)
    at
org.apache.jackrabbit.core.query.lucene.TextExtractorReader.close(TextExtractorReader.java:90)
    at org.apache.commons.io.IOUtils.closeQuietly(IOUtils.java:142)
    at
org.apache.jackrabbit.core.query.lucene.LazyTextExtractorField.stringValue(LazyTextExtractorField.java:98)
    at
org.apache.lucene.index.DocInverterPerField.processFields(DocInverterPerField.java:109)
    at
org.apache.lucene.index.DocFieldConsumersPerField.processFields(DocFieldConsumersPerField.java:36)
    at
org.apache.lucene.index.DocFieldProcessorPerThread.processDocument(DocFieldProcessorPerThread.java:234)
    at
org.apache.lucene.index.DocumentsWriter.updateDocument(DocumentsWriter.java:765)
    at
org.apache.lucene.index.DocumentsWriter.addDocument(DocumentsWriter.java:743)
    at
org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:1917)
    at
org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:1895)
    at
org.apache.jackrabbit.core.query.lucene.AbstractIndex$1.call(AbstractIndex.java:183)
    at
org.apache.jackrabbit.core.query.lucene.DynamicPooledExecutor.executeAndWait(DynamicPooledExecutor.java:96)
    at
org.apache.jackrabbit.core.query.lucene.AbstractIndex.addDocuments(AbstractIndex.java:188)
    ... 12 more
2010-1-9 18:20:05[ WARN](LazyTextExtractorField.java:94) Exception reading
value for field: Stream closed
2010-1-9 18:20:05[ERROR](MultiIndex.java:1174) Unable to commit volatile
index
java.io.IOException
    at
org.apache.jackrabbit.core.query.lucene.Util.createIOException(Util.java:114)
    at
org.apache.jackrabbit.core.query.lucene.AbstractIndex.addDocuments(AbstractIndex.java:199)
    at
org.apache.jackrabbit.core.query.lucene.VolatileIndex.commitPending(VolatileIndex.java:171)
    at
org.apache.jackrabbit.core.query.lucene.VolatileIndex.commit(VolatileIndex.java:140)
    at
org.apache.jackrabbit.core.query.lucene.PersistentIndex.copyIndex(PersistentIndex.java:105)
    at
org.apache.jackrabbit.core.query.lucene.MultiIndex$VolatileCommit.execute(MultiIndex.java:1984)
    at
org.apache.jackrabbit.core.query.lucene.MultiIndex.executeAndLog(MultiIndex.java:1000)
    at
org.apache.jackrabbit.core.query.lucene.MultiIndex.commitVolatileIndex(MultiIndex.java:1048)
    at
org.apache.jackrabbit.core.query.lucene.MultiIndex.flush(MultiIndex.java:893)
    at
org.apache.jackrabbit.core.query.lucene.MultiIndex.checkFlush(MultiIndex.java:1164)
    at
org.apache.jackrabbit.core.query.lucene.MultiIndex.access$100(MultiIndex.java:80)
    at
org.apache.jackrabbit.core.query.lucene.MultiIndex$1.run(MultiIndex.java:317)
    at java.util.TimerThread.mainLoop(Timer.java:512)
    at java.util.TimerThread.run(Timer.java:462)
Caused by: java.lang.NullPointerException
    at
org.apache.jackrabbit.core.value.BLOBInTempFile.delete(BLOBInTempFile.java:110)
    at
org.apache.jackrabbit.core.value.BLOBInTempFile.discard(BLOBInTempFile.java:120)
    at
org.apache.jackrabbit.core.query.lucene.TextFilterExtractor$1.close(TextFilterExtractor.java:112)
    at
org.apache.jackrabbit.core.query.lucene.TextExtractorReader.close(TextExtractorReader.java:87)
    at org.apache.commons.io.IOUtils.closeQuietly(IOUtils.java:142)
    at
org.apache.jackrabbit.core.query.lucene.LazyTextExtractorField.stringValue(LazyTextExtractorField.java:98)
    at
org.apache.lucene.index.DocInverterPerField.processFields(DocInverterPerField.java:109)
    at
org.apache.lucene.index.DocFieldConsumersPerField.processFields(DocFieldConsumersPerField.java:36)
    at
org.apache.lucene.index.DocFieldProcessorPerThread.processDocument(DocFieldProcessorPerThread.java:234)
    at
org.apache.lucene.index.DocumentsWriter.updateDocument(DocumentsWriter.java:765)
    at
org.apache.lucene.index.DocumentsWriter.addDocument(DocumentsWriter.java:743)
    at
org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:1917)
    at
org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:1895)
    at
org.apache.jackrabbit.core.query.lucene.AbstractIndex$1.call(AbstractIndex.java:183)
    at
org.apache.jackrabbit.core.query.lucene.DynamicPooledExecutor.executeAndWait(DynamicPooledExecutor.java:96)
    at
org.apache.jackrabbit.core.query.lucene.AbstractIndex.addDocuments(AbstractIndex.java:188)
    ... 12 more
2010-1-9 18:20:06[ WARN](LazyTextExtractorField.java:94) Exception reading
value for field: Stream close

Several lines before, there is a log INFO line like this,
2010-1-9 18:19:54[ INFO](MultiIndex.java:1210) updating index with 1 nodes
from indexing queue.

I‘m wandering if it is caused by the indexing mechanism.
I knew that JackRabbit is not thread-safe, but how can I do the concurrency
control? In my case, the node.save function returned without indicating the
indexing still processing, how can I avoid these collision?

Anyone can help?

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message