[ https://issues.apache.org/jira/browse/LUCENE-7335?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Michael McCandless updated LUCENE-7335: --------------------------------------- Attachment: LUCENE-7335.patch Patch, just renaming the method to {{set/getLiveCommitData}} and taking {{Iterable}} ... > 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