Parallel Grid search does not support case when `max_runtime_secs()` is 0 ( meaning unlimited by time search)

Description

Issue 1:
Existing tests for GridSearch were only checking against CartesianHyperSpaceWalker and corresponding CartesianSearchCriteria. RandomDiscreteValueSearchCriteria sets `max_runtime_secs` to 0 by default which effectively means no time limit, but logic in ModelFeeder would behave unexpectedly here ( return false ):

The problem is probably coming from two different approaches two specify unlimited search: Cartesian search uses Double.MAX_VALUE, Random search uses 0 ( i think this is the most recent and right approach).

There is another concern: we put this value to the `job.start(... , ..., it.max_runtime_secs() )` in GridSearch(L156) and in case of unlimited search with `max_runtime_secs=0` I'm not sure it is what is expected in start() method. Unfortunately I could not find javadocs for explanations.

Issue 2.
By fixing Issue 1 one test in GridTest would start to fail. The original idea of the test is not clear to me but probably an assumption in the test should be corrected. Investigation led me to the existing inconsistency in GridSearch between javadoc and code. I have fixed the code to make it consistent with the comment. Let's discuss in PR.

Assignee

Andrey Spiridonov

Fix versions

Reporter

Andrey Spiridonov

Support ticket URL

None

Labels

None

Affected Spark version

None

Customer Request Type

None

Task progress

None

CustomerVisible

No

Priority

Major
Configure