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

Michael McCandless updated LUCENE-7335:
---------------------------------------
    Fix Version/s:     (was: 6.1)
                   6.2

> IndexWriter.setCommitData should be late binding
> ------------------------------------------------
>
>                 Key: LUCENE-7335
>                 URL: https://issues.apache.org/jira/browse/LUCENE-7335
>             Project: Lucene - Core
>          Issue Type: Bug
>            Reporter: Michael McCandless
>            Assignee: Michael McCandless
>             Fix For: master (7.0), 6.2
>
>         Attachments: LUCENE-7335.patch
>
>
> Today, {{IndexWriter.setCommitData}} is early-binding: as soon as you call 
> it, it clones the provided map and later on when commit is called, it uses 
> that clone.
> But this makes it hard for some use cases where the app needs to record more 
> timely information based on when specifically the commit actually occurs.  
> E.g., with LUCENE-7302, it would be helpful to store the max completed 
> sequence number in the commit point: that would be a lower bound of 
> operations that were after the commit.
> I think the most minimal way to do this would be to upgrade the existing 
> method to take an {{Iterable<Map.Entry<String,String>}}, and document that 
> it's now late binding, i.e. IW will pull an {{Iterator}} from that when it's 
> time to write the segments file.
> Or we could also make an explicit interface that you pass (seems like 
> overkill), or maybe have a listener or something (or you subclass IW) that's 
> invoked when the commit is about to write the segments file, but that also 
> seems like overkill.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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

Reply via email to