[
https://issues.apache.org/jira/browse/BLUR-60?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13591301#comment-13591301
]
Aaron McCurry commented on BLUR-60:
-----------------------------------
To be honest I'm not sure. If I had to guess, I think it's being caused by the
fact that a certain inputindex has been closed in one thread and still being
accessed in another? And maybe that's because the reference is being passed
around instead of being cloned. I've only seen this happen one time, and it
was during a load test of the system so this will be hard to reproduce.
> NPE - ReusedBufferedIndexInput
> ------------------------------
>
> Key: BLUR-60
> URL: https://issues.apache.org/jira/browse/BLUR-60
> Project: Apache Blur
> Issue Type: Bug
> Reporter: Aaron McCurry
>
> I go the following error during a load test.
> ERROR 20130218_11:23:42:042_EST [thrift-processors4] server.BlurServer:
> Unknown error
> java.lang.NullPointerException
> at java.lang.System.arraycopy(Native Method)
> at
> org.apache.blur.store.buffer.ReusedBufferedIndexInput.readBytes(ReusedBufferedIndexInput.java:150)
> at
> org.apache.blur.store.buffer.ReusedBufferedIndexInput.readBytes(ReusedBufferedIndexInput.java:119)
> at
> org.apache.blur.lucene.store.refcounter.DirectoryReferenceCounter$RefIndexInput.readBytes(DirectoryReferenceCounter.java:174)
> at org.apache.lucene.util.fst.FST.<init>(FST.java:332)
> at
> org.apache.lucene.codecs.BlockTreeTermsReader$FieldReader.<init>(BlockTreeTermsReader.java:466)
> at
> org.apache.lucene.codecs.BlockTreeTermsReader.<init>(BlockTreeTermsReader.java:170)
> at
> org.apache.lucene.codecs.appending.AppendingTermsReader.<init>(AppendingTermsReader.java:39)
> at
> org.apache.lucene.codecs.appending.AppendingPostingsFormat.fieldsProducer(AppendingPostingsFormat.java:64)
> at
> org.apache.lucene.index.SegmentCoreReaders.<init>(SegmentCoreReaders.java:107)
> at org.apache.lucene.index.SegmentReader.<init>(SegmentReader.java:57)
> at
> org.apache.lucene.index.ReadersAndLiveDocs.getReader(ReadersAndLiveDocs.java:120)
> at
> org.apache.lucene.index.ReadersAndLiveDocs.getReadOnlyClone(ReadersAndLiveDocs.java:205)
> at
> org.apache.lucene.index.StandardDirectoryReader.open(StandardDirectoryReader.java:96)
> at org.apache.lucene.index.IndexWriter.getReader(IndexWriter.java:364)
> at
> org.apache.lucene.index.StandardDirectoryReader.doOpenFromWriter(StandardDirectoryReader.java:270)
> at
> org.apache.lucene.index.StandardDirectoryReader.doOpenIfChanged(StandardDirectoryReader.java:245)
> at
> org.apache.lucene.index.StandardDirectoryReader.doOpenIfChanged(StandardDirectoryReader.java:235)
> at
> org.apache.lucene.index.DirectoryReader.openIfChanged(DirectoryReader.java:169)
> at
> org.apache.lucene.search.NRTManager.refreshIfNeeded(NRTManager.java:353)
> at
> org.apache.lucene.search.NRTManager.refreshIfNeeded(NRTManager.java:72)
> at
> org.apache.lucene.search.ReferenceManager.doMaybeRefresh(ReferenceManager.java:123)
> at
> org.apache.lucene.search.ReferenceManager.maybeRefresh(ReferenceManager.java:169)
> at
> org.apache.blur.manager.writer.BlurNRTIndex.refresh(BlurNRTIndex.java:171)
> at
> org.apache.blur.manager.writer.BlurNRTIndex.waitToBeVisible(BlurNRTIndex.java:193)
> at
> org.apache.blur.manager.writer.BlurNRTIndex.addDocuments(BlurNRTIndex.java:109)
> at org.apache.blur.server.BlurServer.addDocuments(BlurServer.java:350)
> at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.apache.blur.utils.BlurUtil$1.invoke(BlurUtil.java:88)
> at $Proxy0.addDocuments(Unknown Source)
> at
> org.apache.blur.thrift.generated.Blur$Processor$addDocuments.getResult(Blur.java:1946)
> at
> org.apache.blur.thrift.generated.Blur$Processor$addDocuments.getResult(Blur.java:1)
> at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
> at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
> at
> org.apache.thrift.server.AbstractNonblockingServer$FrameBuffer.invoke(AbstractNonblockingServer.java:478)
> at org.apache.thrift.server.Invocation.run(Invocation.java:18)
> at
> org.apache.blur.concurrent.ThreadWatcher$ThreadWatcherExecutorService$1.run(ThreadWatcher.java:127)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:680)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira