[
https://issues.apache.org/jira/browse/LUCENE-6319?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14542945#comment-14542945
]
Elliott Bradshaw commented on LUCENE-6319:
------------------------------------------
Just thought I'd ping on this. Any thoughts? Greatest patch ever? Seriously
though, I know this touches a lot of hardcore internal classes, so I get it if
people are wary. If anyone has any suggestions of a different route, I'm more
than happy to explore it.
> Delegating OneMerge
> -------------------
>
> Key: LUCENE-6319
> URL: https://issues.apache.org/jira/browse/LUCENE-6319
> Project: Lucene - Core
> Issue Type: Improvement
> Components: core/index
> Reporter: Elliott Bradshaw
> Attachments: SOLR-6319.patch
>
>
> In trying to integrate SortingMergePolicy into ElasticSearch, I ran into an
> issue where the custom merge logic was being stripped out by
> IndexUpgraderMergeSpecification. Related issue here:
> https://github.com/elasticsearch/elasticsearch/issues/9731
> In an endeavor to fix this, I attempted to create a DelegatingOneMerge that
> could be used to chain the different MergePolicies together. I quickly
> discovered this to be impossible, due to the direct member variable access of
> OneMerge by IndexWriter and other classes. It would be great if this
> variable access could be privatized and the consuming classes modified to use
> the appropriate getters and setters. Here's an example DelegatingOneMerge
> and modified OneMerge.
> https://gist.github.com/ebradshaw/e0b74e9e8d4976ab9e0a
> https://gist.github.com/ebradshaw/d72116a014f226076303
> The downside here is that this would require an API change, as there are
> three public variables in OneMerge: estimatedMergeBytes, segments and
> totalDocCount. These would have to be moved behind public getters.
> Without this change, I'm not sure how we could get the SortingMergePolicy
> working in ES, but if anyone has any other suggestions I'm all ears! Thanks!
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]