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