[ 
https://issues.apache.org/jira/browse/LUCENE-1313?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jason Rutherglen updated LUCENE-1313:
-------------------------------------

    Attachment: LUCENE-1313.patch

* A single merge scheduler is used. We will need to open a new
issue for a version of ConcurrentMergeScheduler that allocates
threads perhaps based on the merge.directory? We'd also probably
want to add thread pooling.

* There's a package protected IW ctor that accepts the ram dir.
This is used in the test case for insuring we aren't creating
.cfs files in the ram dir.

* IW.optimize merges all segments (ram included) to the primary
dir

* IW.expungeDeletes merges segments with deletes, in ram ones
stay in ram (unless they won't fit), and primary dir ones are
handled as usual

* Added testOptimize, testExpungeDeletes, and some other test
cases

* Needs a test case to make sure we're merging to the primary
dir when the ram dir is full or a flush won't fit in the ram dir

* There's a mergeRamSegmentsToDir and resolveRamSegments. Two
different methods because mergeRamSegmentsToDir operates by
simply scheduling merges, resolveRamSegments operates in the
foreground like resolveExternalSegments. I'm not sure if we can
combine the two. resolveRamSegments seems to have a thread
notification problem and so hangs at times. I'll look into this
further unless it's obvious what the problem is.

* When RAM NRT is on (via the IndexWriter constructor), setting
the ram buffer size allocates half of the given number to the
DocumentsWriter buffer and half to the ram dir. It may be best
to dynamically change these numbers based on usage etc.

* Added NRTMergePolicy which is used only when RAM NRT is on. It
utilizes the regular merge policy and the ram merge policy.

* The ram dir size is pushed to DocumentsWriter

* RAMMergePolicy extends LogDocMergePolicy and defaults the
useCompoundFile and useCompoundDocStore to false

* Sorry for the whitespace stuff, I'll clean it up later, I
wanted to post the latest to get feedback


> Realtime Search
> ---------------
>
>                 Key: LUCENE-1313
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1313
>             Project: Lucene - Java
>          Issue Type: New Feature
>          Components: Index
>    Affects Versions: 2.4.1
>            Reporter: Jason Rutherglen
>            Priority: Minor
>             Fix For: 2.9
>
>         Attachments: LUCENE-1313.jar, LUCENE-1313.patch, LUCENE-1313.patch, 
> LUCENE-1313.patch, LUCENE-1313.patch, LUCENE-1313.patch, LUCENE-1313.patch, 
> LUCENE-1313.patch, LUCENE-1313.patch, LUCENE-1313.patch, LUCENE-1313.patch, 
> lucene-1313.patch, lucene-1313.patch, lucene-1313.patch, lucene-1313.patch
>
>
> Realtime search with transactional semantics.  
> Possible future directions:
>   * Optimistic concurrency
>   * Replication
> Encoding each transaction into a set of bytes by writing to a RAMDirectory 
> enables replication.  It is difficult to replicate using other methods 
> because while the document may easily be serialized, the analyzer cannot.
> I think this issue can hold realtime benchmarks which include indexing and 
> searching concurrently.

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