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

ASF GitHub Bot commented on DRILL-4743:
---------------------------------------

Github user amansinha100 commented on a diff in the pull request:

    https://github.com/apache/drill/pull/534#discussion_r71424000
  
    --- Diff: 
exec/java-exec/src/main/java/org/apache/drill/exec/server/options/TypeValidators.java
 ---
    @@ -90,6 +91,62 @@ public void validate(OptionValue v) {
         }
       }
     
    +  public static class MinRangeDoubleValidator extends RangeDoubleValidator 
{
    +    private final double min;
    +    private final double max;
    +    private final String maxValidatorName;
    +
    +    public MinRangeDoubleValidator(String name, double min, double max, 
double def, String maxValidatorName) {
    +      super(name, min, max, def);
    +      this.min = min;
    +      this.max = max;
    +      this.maxValidatorName = maxValidatorName;
    +    }
    +
    +    @Override
    +    public void validate(OptionValue v, final OptionManager manager) {
    +      super.validate(v, manager);
    +      if (manager != null) {
    +        OptionValue maxValue = manager.getOption(maxValidatorName);
    +
    +        if (v.float_val > maxValue.float_val) {
    +          throw UserException.validationError()
    +                  .message(String.format("Option %s must be less than or 
equal to Option %s",
    +                          getOptionName(), maxValidatorName))
    +                  .build(logger);
    +        }
    +      }
    +    }
    +  }
    +
    +  public static class MaxRangeDoubleValidator extends RangeDoubleValidator 
{
    +    private final double min;
    +    private final double max;
    +    private final String minValidatorName;
    +
    +    public MaxRangeDoubleValidator(String name, double min, double max, 
double def, String minValidatorName) {
    +      super(name, min, max, def);
    +      this.min = min;
    +      this.max = max;
    +      this.minValidatorName = minValidatorName;
    +    }
    +
    +    @Override
    +    public void validate(OptionValue v, final OptionManager manager) {
    --- End diff --
    
    you could make the 1st argument final too since it is read-only. 


> HashJoin's not fully parallelized in query plan
> -----------------------------------------------
>
>                 Key: DRILL-4743
>                 URL: https://issues.apache.org/jira/browse/DRILL-4743
>             Project: Apache Drill
>          Issue Type: Bug
>    Affects Versions: 1.5.0
>            Reporter: Gautam Kumar Parai
>            Assignee: Gautam Kumar Parai
>              Labels: doc-impacting
>
> The underlying problem is filter selectivity under-estimate for a query with 
> complicated predicates e.g. deeply nested and/or predicates. This leads to 
> under parallelization of the major fragment doing the join. 
> To really resolve this problem we need table/column statistics to correctly 
> estimate the selectivity. However, in the absence of statistics OR even when 
> existing statistics are insufficient to get a correct estimate of selectivity 
> this will serve as a workaround.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to