[
https://issues.apache.org/jira/browse/LUCENE-6849?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Michael McCandless updated LUCENE-6849:
---------------------------------------
Attachment: LUCENE-6849.patch
Trivial patch, tests pass.
I think the simplest approach here is to just make the existing flush
method public?
This will write all in-memory segments to disk, but not fsync nor open
new (NRT) reader on them.
We can later explore finer granularity if we really need to flush only
the biggest segment or something.
> Add IndexWriter API to write segment(s) without refreshing them
> ---------------------------------------------------------------
>
> Key: LUCENE-6849
> URL: https://issues.apache.org/jira/browse/LUCENE-6849
> Project: Lucene - Core
> Issue Type: New Feature
> Reporter: Michael McCandless
> Assignee: Michael McCandless
> Fix For: Trunk, 5.4
>
> Attachments: LUCENE-6849.patch
>
>
> Today, the only way to have {{IndexWriter}} free up some heap is to invoke
> refresh or flush or close it, but these are all quite costly, and do much
> more than simply "move bytes to disk".
> I think we should add a simple API, e.g. "move the biggest in-memory segment
> to disk" to 1) give more granularity (there could be multiple in-memory
> segments), and 2) only move bytes to disk (not refresh, not fsync, etc.).
> This way apps that want to be more careful on how heap is used can have more
> control.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]