[ 
https://issues.apache.org/jira/browse/BLUR-5?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13482032#comment-13482032
 ] 

Aaron McCurry commented on BLUR-5:
----------------------------------

The patch looks good.  Only issue is I'm getting an error during some 
functional testing (working around the NullPointerException mentioned on the 
ML).

ERROR 20121022_21:45:11:011_EDT [Lucene Merge Thread #19] 
concurrent.SimpleUncaughtExceptionHandler: Unknown error in thread 
[Thread[Lucene Merge Thread #19,7,main]]
org.apache.lucene.index.MergePolicy$MergeException: java.lang.RuntimeException: 
Buffer size exceeded, expecting max [8192] got [16384]
        at 
org.apache.lucene.index.ConcurrentMergeScheduler.handleMergeException(ConcurrentMergeScheduler.java:535)
        at 
org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.run(ConcurrentMergeScheduler.java:508)
Caused by: java.lang.RuntimeException: Buffer size exceeded, expecting max 
[8192] got [16384]
        at org.apache.blur.store.blockcache.BlockCache.store(BlockCache.java:82)
        at 
org.apache.blur.store.blockcache.BlockDirectoryCache.update(BlockDirectoryCache.java:48)
        at 
org.apache.blur.store.blockcache.CachedIndexOutput.writeBlock(CachedIndexOutput.java:72)
        at 
org.apache.blur.store.blockcache.CachedIndexOutput.writeInternal(CachedIndexOutput.java:81)
        at 
org.apache.blur.store.buffer.ReusedBufferedIndexOutput.writeBytes(ReusedBufferedIndexOutput.java:176)
        at org.apache.lucene.store.DataOutput.copyBytes(DataOutput.java:255)
        at 
org.apache.lucene.codecs.lucene40.Lucene40StoredFieldsWriter.addRawDocuments(Lucene40StoredFieldsWriter.java:208)
        at 
org.apache.lucene.codecs.lucene40.Lucene40StoredFieldsWriter.copyFieldsNoDeletions(Lucene40StoredFieldsWriter.java:321)
        at 
org.apache.lucene.codecs.lucene40.Lucene40StoredFieldsWriter.merge(Lucene40StoredFieldsWriter.java:245)
        at 
org.apache.lucene.index.SegmentMerger.mergeFields(SegmentMerger.java:247)
        at org.apache.lucene.index.SegmentMerger.merge(SegmentMerger.java:102)
        at 
org.apache.lucene.index.IndexWriter.mergeMiddle(IndexWriter.java:3742)
        at org.apache.lucene.index.IndexWriter.merge(IndexWriter.java:3354)
        at 
org.apache.lucene.index.ConcurrentMergeScheduler.doMerge(ConcurrentMergeScheduler.java:402)
        at 
org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.run(ConcurrentMergeScheduler.java:479)

It looks like during merges the buffer size changes, this can be determined 
through the IOContext.  I'm sorry that you can't test this through the server, 
I am still trying to figure out that issue.  But I think that we could add a 
unit test setting the IOContext to MERGE and it should show you the issue.  
Hopefully I figure out the problem NPE tomorrow.

Thanks Patrick!
                
> Write through caching for the BlockCache
> ----------------------------------------
>
>                 Key: BLUR-5
>                 URL: https://issues.apache.org/jira/browse/BLUR-5
>             Project: Apache Blur
>          Issue Type: Improvement
>            Reporter: Aaron McCurry
>         Attachments: BLUR-5.patch
>
>
> This will allow for better NRT update performance because the writer will not 
> have to read the NRT segments from HDFS.

--
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

Reply via email to