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

    https://github.com/apache/nifi/pull/2138#discussion_r168924048
  
    --- Diff: 
nifi-nar-bundles/nifi-hive-bundle/nifi-hive-processors/src/main/java/org/apache/nifi/processors/hive/AbstractHiveQLProcessor.java
 ---
    @@ -75,6 +81,38 @@
                 .addValidator(StandardValidators.CHARACTER_SET_VALIDATOR)
                 .build();
     
    +    public static final PropertyDescriptor QUERY_TIMEOUT = new 
PropertyDescriptor.Builder()
    +            .name("hive-query-timeout")
    +            .displayName("Query timeout")
    +            .description("Sets the number of seconds the driver will wait 
for a query to execute. "
    +                    + "A value of 0 means no timeout. NOTE: Non-zero 
values may not be supported by the driver.")
    +            .defaultValue("0")
    +            .required(true)
    +            .addValidator(StandardValidators.INTEGER_VALIDATOR)
    +            .expressionLanguageSupported(true)
    +            .build();
    +
    +    @Override
    +    protected Collection<ValidationResult> 
customValidate(ValidationContext validationContext) {
    +        final List<ValidationResult> problems = new ArrayList<>(1);
    +
    +        if(validationContext.getProperty(QUERY_TIMEOUT).isSet()
    +                && 
!validationContext.getProperty(QUERY_TIMEOUT).isExpressionLanguagePresent()
    +                && 
validationContext.getProperty(QUERY_TIMEOUT).asInteger() != 0) {
    +            try(HiveStatement stmt = new HiveStatement(null, null, null)) {
    +                stmt.setQueryTimeout(0);
    --- End diff --
    
    Actually, in versions of the driver that does not implement this method, 
this call will throw an exception no matter what is the value.


---

Reply via email to