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

Hoss Man commented on SOLR-10864:
---------------------------------

bq.  Or do you have other plans?

I did not have any specific plans -- I'd kind of forgotten about needing to 
hack around that on the jira/SOLR-10807 branch.   Thanks for reminding me.

My 2 strawman suggestions would be:
# Any tests where it's a problem is a test where we should consider *not* using 
randomized class name in the fieldType, and instead test the diff permutations 
explicitly.
# in addition to the randomized classname sysvar used in schema files, we can 
have a randomized boolean var(s) indicating if the choosen classes are points 
based, and fields/fieldTypes where "trie w/fieldcache" vs "points w/docvalues" 
matter can use that var in their {{docValues="$var"}} declaration.

In practice, we might want to mix both?  Use #2 in general purpose test 
schemas, and #1 in purpose build test schemas like what TestPoints or TestTrie 
use?

Either way:
* i'm guessing at least 80% of test won't be affected at all
* we should have a solution that doesn't depend on wether we do SOLR-10808, 
because even if that happens first, we're still going to want to be able to 
have schemas where TrieFields have (effective/explicit) {{docValues="false"}} 
to continue testing that we don't break FieldCache usage for those fieldTypes 
in 7.x point releases

thoughts?

> Add static (test only) boolean to PointField indicating 'precisionStep' 
> should be ignored
> -----------------------------------------------------------------------------------------
>
>                 Key: SOLR-10864
>                 URL: https://issues.apache.org/jira/browse/SOLR-10864
>             Project: Solr
>          Issue Type: Sub-task
>      Security Level: Public(Default Security Level. Issues are Public) 
>            Reporter: Hoss Man
>            Assignee: Hoss Man
>             Fix For: master (7.0)
>
>
> (I'm spinning this idea out of parent jira SOLR-10807 so that it gets it's 
> own jira# w/ it's own summary for increased visibility/comments)
> In the interest of making it easier & more straight forward to get good 
> randomized test coverage of Points fields, I'd like to add the following to 
> the {{PointField}} class...
> {code}
>  /**
>   * <p>
>   * The Test framework can set this global variable to instruct PointField 
> that
>   * (on init) it should be tollerant of the <code>precisionStep</code> 
> argument used by TrieFields.
>   * This allows for simple randomization of TrieFields and PointFields w/o 
> extensive duplication
>   * of <code>&lt;fieldType/&gt;</code> declarations.
>   * </p>
>   *
>   * <p>NOTE: When {@link TrieField} is removed, this boolean must also be 
> removed</p>
>   *
>   * @lucene.internal
>   * @lucene.experimental
>   */
>  public static boolean TEST_HACK_IGNORE_USELESS_TRIEFIELD_ARGS = false;
>  /** 
>   * NOTE: This method can be removed completely when
>   * {@link #TEST_HACK_IGNORE_USELESS_TRIEFIELD_ARGS} is removed 
>   */
>  @Override
>  protected void init(IndexSchema schema, Map<String, String> args) {
>    super.init(schema, args);
>    if (TEST_HACK_IGNORE_USELESS_TRIEFIELD_ARGS) {
>      args.remove("precisionStep");
>    }
>  }
> {code}
> Then in SolrTestCaseJ4, set 
> {{PointField.TEST_HACK_IGNORE_USELESS_TRIEFIELD_ARGS}} on a class by class 
> basis when randomizing Trie/Points (and unset \@AfterClass).
> (details to follow in comment)



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to