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

Aaron McCurry commented on BLUR-290:
------------------------------------

Actually having 2 index readers open at the same time is not as costly as you 
might think.  Since the readers themselves are made up of immutable segments 
and really the only difference between 2 versions of the same index is the 
different in segments and the delete masks.  Otherwise they actually share the 
same resources.

Also Blur has a built in piece of code that closes readers once they are no 
longer in use.  So when the BlurIndex hands our references to IndexReaders it 
increments their references.  And when they are complete it closes them or 
releases the references.  Once those references go to 0, the IndexCloser class 
will actually close the reader.

I'm not too worry about handing out a lot of reader references because what you 
have described it what Blur does today.  It just uses the NRT code in Lucene.

Aaron

> NRT Updates using RAMDirectory & Swap
> -------------------------------------
>
>                 Key: BLUR-290
>                 URL: https://issues.apache.org/jira/browse/BLUR-290
>             Project: Apache Blur
>          Issue Type: New Feature
>    Affects Versions: experimental-dev
>            Reporter: Ravikumar
>         Attachments: BlurFlushingIndexWriter.java, BlurIndexTracker.java, 
> BlurRealTimeIndex.java, BlurRealTimeIndexWriter.java, 
> BlurRealTimeManager.java, BlurRealTimeManagerReopenThread.java, 
> RealTimeTransactionRecorder.java, SlabAllocator.java, SlabRAMDirectory.java, 
> SlabRAMFile.java, SlabRAMInputStream.java, SlabRAMOutputStream.java, 
> SortingMultiReader.java
>
>
> We have been discussing about handling humungous rows in Blur (BLUR-220). 
> Explore the idea of using RAMDirectory at the front, backed by 
> persistent-index.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to