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

ASF GitHub Bot commented on NIFI-4371:
--------------------------------------

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

    https://github.com/apache/nifi/pull/2138#discussion_r165940928
  
    --- 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 --
    
    You say in the description:
    
    > A value of 0 means no timeout. NOTE: Non-zero values may not be supported 
by the driver.
    
    Shouldn't the test be on a non-zero value here?


> Add support for query timeout in Hive processors
> ------------------------------------------------
>
>                 Key: NIFI-4371
>                 URL: https://issues.apache.org/jira/browse/NIFI-4371
>             Project: Apache NiFi
>          Issue Type: Improvement
>          Components: Extensions
>            Reporter: Pierre Villard
>            Assignee: Pierre Villard
>            Priority: Major
>         Attachments: Screen Shot 2017-09-09 at 4.31.21 PM.png, Screen Shot 
> 2017-09-09 at 6.38.51 PM.png, Screen Shot 2017-09-09 at 6.40.48 PM.png
>
>
> With HIVE-4924 it is possible to set a query timeout when executing a query 
> against Hive (starting with Hive 2.1). Right now, NiFi is built using Hive 
> 1.2.1 and this feature is not available by default (the method is not 
> implemented in the driver). However, if building NiFi with specific profiles 
> this feature can be used.
> The objective is to expose the query timeout parameter in the processor and 
> enable expression language. If the version of the driver is not implementing 
> the query timeout the processor will be in invalid state (unless expression 
> language is used, and in this case, the flow file will be routed to the 
> failure relationship).



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to