[ 
https://issues.apache.org/jira/browse/LUCENE-1476?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12662097#action_12662097
 ] 

Michael McCandless commented on LUCENE-1476:
--------------------------------------------


{quote}
> It would be exposed as a combination reader writer that manages the 
> transaction status of each update.
{quote} 

I think the transactions layer would also sit on top of this
"realtime" layer?  EG this "realtime" layer would expose a commit()
method, and the transaction layer above it would maintain the
transaction log, periodically calling commit() and truncating the
transaction log?

This "realtime" layer, then, would internally maintain a single
IndexWriter and the readers.  IndexWriter would flush (not commit) new
segments into a RAMDir and yield its in-RAM SegmentInfos to
IndexReader.reopen.  MergePolicy periodically gets those into the real
Directory.  When reopening a reader we have the freedom to use old
(already merged away) segments if the newly merged segment isn't warm
yet.

We "just" need to open some things up in IndexWriter:
 
  * IndexReader.reopen with the in-RAM SegmentInfos

  * Willingness to allow an IndexReader to maintain & updated deleted
    docs even though IndexWriter has the write lock

  * Access to segments that were already merged away (I think we could
    make a DeletionPolicy that pays attention to when the newly merged
    segment is not yet warmed and keeps thue prior segments around).
    I think this'd require allowing DeletionPolicy to see "flush
    points" in addition to commit points (it doesn't today).

But I'm still hazy on the details on exactly how to open up
IndexWriter.


> BitVector implement DocIdSet
> ----------------------------
>
>                 Key: LUCENE-1476
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1476
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: Index
>    Affects Versions: 2.4
>            Reporter: Jason Rutherglen
>            Priority: Trivial
>         Attachments: LUCENE-1476.patch
>
>   Original Estimate: 12h
>  Remaining Estimate: 12h
>
> BitVector can implement DocIdSet.  This is for making 
> SegmentReader.deletedDocs pluggable.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-dev-h...@lucene.apache.org

Reply via email to