[ 
https://issues.apache.org/jira/browse/SOLR-8621?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15142686#comment-15142686
 ] 

ASF subversion and git services commented on SOLR-8621:
-------------------------------------------------------

Commit bdef478737792afb861dc73ca33cb9a1775af4fe in lucene-solr's branch 
refs/heads/branch_5x from [~cpoerschke]
[ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=bdef478 ]

SOLR-8621: WrapperMergePolicyFactory logic tweaks

 * fix so that getMergePolicy() can now be called more than once
 * added WrapperMergePolicyFactoryTest.testUpgradeIndexMergePolicyFactory()
 * account for overlap between wrapping and wrapped setters (and disallow it)
** illustration:
   <mergePolicyFactory class="UpgradeMergePolicyFactory">
      <int name="noCFSRatio">0.24</int>
      <str name="wrapped.prefix">mergePolicy</str>
                      <str 
name="mergePolicy.class">TieredMergePolicyFactory</str>
                      <int name="mergePolicy.noCFSRatio">0.42</int>
   </mergePolicyFactory>
** implementation details: the wrapping MP's setter calls the wrapped MP's 
setter and in the current code the wrapping MP's value prevails i.e. the 0.24 
value in the illustration since the wrapped MP is constructed before the 
wrapping MP. an end-user however might reasonably assume that the wrapped MP's 
0.42 value will prevail. at best configuring the same setter twice within the 
same overall <mergePolicyFactory> element is ambiguous and so the code now 
disallows it.


> solrconfig.xml: deprecate/replace <mergePolicy> with <mergePolicyFactory>
> -------------------------------------------------------------------------
>
>                 Key: SOLR-8621
>                 URL: https://issues.apache.org/jira/browse/SOLR-8621
>             Project: Solr
>          Issue Type: Task
>            Reporter: Christine Poerschke
>            Assignee: Christine Poerschke
>             Fix For: 5.5, master
>
>         Attachments: SOLR-8621-example_contrib_configs.patch, 
> SOLR-8621-example_contrib_configs.patch, SOLR-8621.patch, 
> explicit-merge-auto-set.patch
>
>
> *<mergePolicyFactory> end-user benefits:*
> * Lucene's UpgradeIndexMergePolicy can be configured in Solr
> * (with SOLR-5730) Lucene's SortingMergePolicy can be configured in Solr
> * customisability: arbitrary merge policies including wrapping/nested merge 
> policies can be created and configured
> *(proposed) roadmap:*
> * solr 5.5 introduces <mergePolicyFactory> support
> * solr 5.5(\?) deprecates (but maintains) <mergePolicy> support
> * solr 6.0(\?) removes <mergePolicy> support 
> +work left-to-do summary:+
>  * {color:red}WrapperMergePolicyFactory setter logic tweak/mini-bug (and test 
> case){color} - Christine
>  * Solr Reference Guide changes (directly in Confluence?)
>  * changes to remaining solrconfig.xml
>  ** solr/core/src/test-files/solr/collection1/conf - Christine
>  ** solr/server/solr/configsets
> +open question:+
>  * Do we want to error if luceneMatchVersion >= 5.5 and deprecated 
> mergePolicy/mergeFactor/maxMergeDocs are used? See [~hossman]'s comment on 
> Feb 1st. The code as-is permits mergePolicy irrespective of 
> luceneMatchVersion, I think.



--
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