You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kudu.apache.org by "Alexey Serbin (Jira)" <ji...@apache.org> on 2019/08/28 02:09:00 UTC

[jira] [Updated] (KUDU-2931) RowIterator.hasNext might hang in certain scenarios

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

Alexey Serbin updated KUDU-2931:
--------------------------------
    Description: 
It seems the following code might lead to calling {{KuduScanner.nextRows()}} again after it has returned {{null}} already in case if the underlying scanner had expired and closed by the tablet server serving the request:

  https://github.com/apache/kudu/blob/737930f3cd0c0caba3c36944f91058ffaead4714/java/kudu-spark/src/main/scala/org/apache/kudu/spark/kudu/KuduRDD.scala#L88-L91

However, calling {{Kudu.nextRows()}} after it returned {{null}} might lead to undefined behavior:

  https://github.com/apache/kudu/blob/737930f3cd0c0caba3c36944f91058ffaead4714/java/kudu-client/src/main/java/org/apache/kudu/client/KuduScanner.java#L48-L59

Starting Kudu 1.8, the auto-keepalive provision makes the described issue less likely to manifest itself:
 https://github.com/apache/kudu/commit/cf1b1f42cbcc3ee67477ddc44cd0ff5070f1caac

  was:
It seems the following code might lead to calling {{KuduScanner.nextRows()}} again after it has returned {{null}} already in case of the underlying scanner had expired and closed by tablet server serving the request:

  https://github.com/apache/kudu/blob/737930f3cd0c0caba3c36944f91058ffaead4714/java/kudu-spark/src/main/scala/org/apache/kudu/spark/kudu/KuduRDD.scala#L88-L91

However, calling {{Kudu.nextRows()}} after it returned {{null}} might lead to undefined behavior:

  https://github.com/apache/kudu/blob/737930f3cd0c0caba3c36944f91058ffaead4714/java/kudu-client/src/main/java/org/apache/kudu/client/KuduScanner.java#L48-L59

Starting Kudu 1.8, the auto-keepalive provision makes the described issue less likely to manifest itself:
 https://github.com/apache/kudu/commit/cf1b1f42cbcc3ee67477ddc44cd0ff5070f1caac


> RowIterator.hasNext might hang in certain scenarios
> ---------------------------------------------------
>
>                 Key: KUDU-2931
>                 URL: https://issues.apache.org/jira/browse/KUDU-2931
>             Project: Kudu
>          Issue Type: Bug
>          Components: client, java, spark
>    Affects Versions: 1.3.0, 1.3.1, 1.4.0, 1.5.0, 1.6.0, 1.7.0, 1.7.1
>            Reporter: Alexey Serbin
>            Priority: Major
>
> It seems the following code might lead to calling {{KuduScanner.nextRows()}} again after it has returned {{null}} already in case if the underlying scanner had expired and closed by the tablet server serving the request:
>   https://github.com/apache/kudu/blob/737930f3cd0c0caba3c36944f91058ffaead4714/java/kudu-spark/src/main/scala/org/apache/kudu/spark/kudu/KuduRDD.scala#L88-L91
> However, calling {{Kudu.nextRows()}} after it returned {{null}} might lead to undefined behavior:
>   https://github.com/apache/kudu/blob/737930f3cd0c0caba3c36944f91058ffaead4714/java/kudu-client/src/main/java/org/apache/kudu/client/KuduScanner.java#L48-L59
> Starting Kudu 1.8, the auto-keepalive provision makes the described issue less likely to manifest itself:
>  https://github.com/apache/kudu/commit/cf1b1f42cbcc3ee67477ddc44cd0ff5070f1caac



--
This message was sent by Atlassian Jira
(v8.3.2#803003)