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

Hoss Man updated SOLR-10864:
----------------------------
    Attachment: SOLR-10864.patch

Before diving in completely, here's a starting point patch for discussion to 
(that's a bit cleaner to follow then everything i've hacked up in the 
SOLR-10807 branch).

it updates _most_ of the schema files that were using the old points 
randomization sysprops (i just realized i missed a couple) to use the newer 
style i was suggesting as well as adding 
{{docValues="$\{solr.tests.numeric.points\}"}} as a demo of what i had in mind 
regarding Tomas's recent comment (in the SOLR-10807 branch i hacked around this 
problem a diff way).  One thing didn't spend any time on yet is ripping out 
some of the explicit points based fields/dynamicFields from these schemas.  
Assuming we go forward with this approach, we could then expand it ot cover all 
the schemas - such that nothing ever defined a {{solr.TrieIntField}}

There are still a bunch of test failures with this patch -- most either because 
of tests that should be subclassing SOlrTestCaseJ4 but shouldn't for silly 
reasons (but i didn't put defaults in for the sysprops because i wanted to help 
shake out bugs) or because of legit problems with points that we know about 
that we can either update with \@SuppressPoints or disable piecemeal with 
{{assumeFalse(Boolean.getBoolean("solr.tests.numeric.points"))).  The patch 
includes a handful of examples of this.

Honestly: I'm a little disappointed at how much i had to leverage 
{{docValues="$\{solr.tests.numeric.points\}"}} ... i was hoping that only a 
handful of facet/stats related schemas would need that, but so many tests relay 
on the same schema files I worry we''ll essentially have to put it every where, 
and we'll wind up under testing points fields with {{docValues="false"}}

[~tomasflobbe] & [~steve_rowe]: You guys have spent a lot of time working 
on/with points randomized tests -- what do you think?   Is this approach "less 
bad/cubersome/anoying" then the current way we randomize in points?

> 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)
>
>         Attachments: SOLR-10864.patch
>
>
> (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: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to