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

Elliott Bradshaw updated LUCENE-6319:
-------------------------------------
    Priority: Major  (was: Minor)

> Delegating OneMerge
> -------------------
>
>                 Key: LUCENE-6319
>                 URL: https://issues.apache.org/jira/browse/LUCENE-6319
>             Project: Lucene - Core
>          Issue Type: Wish
>          Components: core/index
>            Reporter: Elliott Bradshaw
>
> 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]

Reply via email to