You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-dev@hadoop.apache.org by "Jim Kellerman (JIRA)" <ji...@apache.org> on 2007/12/08 08:24:43 UTC

[jira] Created: (HADOOP-2388) [hbase] When a scanner lease times out, throw a more "user friendly" exception

[hbase] When a scanner lease times out, throw a more "user friendly" exception
------------------------------------------------------------------------------

                 Key: HADOOP-2388
                 URL: https://issues.apache.org/jira/browse/HADOOP-2388
             Project: Hadoop
          Issue Type: Improvement
          Components: contrib/hbase
            Reporter: Jim Kellerman
            Priority: Trivial


Currently, if a client spends too much time between next() requests on a scanner (or between scanner creation and the first call to next), the region server will time out the scanner and close. The next call to next() will receive an UnknownScannerException because all knowledge of the scanner was wiped out on the server when the lease expired.

The the client side scanner should keep a timer so it compute the elapsed time between next() calls so that if it receives an UnknownScannerException, it can determine if the scanner lease timed out and if so, throw a more "user friendly" exception such as LeaseTimedOutException

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (HADOOP-2388) [hbase] When a scanner lease times out, throw a more "user friendly" exception

Posted by "Jim Kellerman (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HADOOP-2388?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jim Kellerman reassigned HADOOP-2388:
-------------------------------------

    Assignee: Bryan Duxbury

> [hbase] When a scanner lease times out, throw a more "user friendly" exception
> ------------------------------------------------------------------------------
>
>                 Key: HADOOP-2388
>                 URL: https://issues.apache.org/jira/browse/HADOOP-2388
>             Project: Hadoop Core
>          Issue Type: Improvement
>          Components: contrib/hbase
>            Reporter: Jim Kellerman
>            Assignee: Bryan Duxbury
>            Priority: Trivial
>
> Currently, if a client spends too much time between next() requests on a scanner (or between scanner creation and the first call to next), the region server will time out the scanner and close. The next call to next() will receive an UnknownScannerException because all knowledge of the scanner was wiped out on the server when the lease expired.
> The the client side scanner should keep a timer so it compute the elapsed time between next() calls so that if it receives an UnknownScannerException, it can determine if the scanner lease timed out and if so, throw a more "user friendly" exception such as LeaseTimedOutException

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HADOOP-2388) [hbase] When a scanner lease times out, throw a more "user friendly" exception

Posted by "Bryan Duxbury (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HADOOP-2388?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12561881#action_12561881 ] 

Bryan Duxbury commented on HADOOP-2388:
---------------------------------------

Are there any realistic situations in which a scanner is actually unknown, or are all those situations just LeaseTimedOutExceptions with the wrong name? I ask because I do not want to mask genuine errors with the wrong message.

> [hbase] When a scanner lease times out, throw a more "user friendly" exception
> ------------------------------------------------------------------------------
>
>                 Key: HADOOP-2388
>                 URL: https://issues.apache.org/jira/browse/HADOOP-2388
>             Project: Hadoop Core
>          Issue Type: Improvement
>          Components: contrib/hbase
>            Reporter: Jim Kellerman
>            Assignee: Bryan Duxbury
>            Priority: Trivial
>
> Currently, if a client spends too much time between next() requests on a scanner (or between scanner creation and the first call to next), the region server will time out the scanner and close. The next call to next() will receive an UnknownScannerException because all knowledge of the scanner was wiped out on the server when the lease expired.
> The the client side scanner should keep a timer so it compute the elapsed time between next() calls so that if it receives an UnknownScannerException, it can determine if the scanner lease timed out and if so, throw a more "user friendly" exception such as LeaseTimedOutException

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HADOOP-2388) [hbase] When a scanner lease times out, throw a more "user friendly" exception

Posted by "Jim Kellerman (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HADOOP-2388?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12561882#action_12561882 ] 

Jim Kellerman commented on HADOOP-2388:
---------------------------------------

No the only way this gets thrown is if the region server cannot find the lease for the scanner, meaning it has timed out.

> [hbase] When a scanner lease times out, throw a more "user friendly" exception
> ------------------------------------------------------------------------------
>
>                 Key: HADOOP-2388
>                 URL: https://issues.apache.org/jira/browse/HADOOP-2388
>             Project: Hadoop Core
>          Issue Type: Improvement
>          Components: contrib/hbase
>            Reporter: Jim Kellerman
>            Assignee: Bryan Duxbury
>            Priority: Trivial
>
> Currently, if a client spends too much time between next() requests on a scanner (or between scanner creation and the first call to next), the region server will time out the scanner and close. The next call to next() will receive an UnknownScannerException because all knowledge of the scanner was wiped out on the server when the lease expired.
> The the client side scanner should keep a timer so it compute the elapsed time between next() calls so that if it receives an UnknownScannerException, it can determine if the scanner lease timed out and if so, throw a more "user friendly" exception such as LeaseTimedOutException

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HADOOP-2388) [hbase] When a scanner lease times out, throw a more "user friendly" exception

Posted by "Jim Kellerman (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HADOOP-2388?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12561897#action_12561897 ] 

Jim Kellerman commented on HADOOP-2388:
---------------------------------------

Well if there were a bug and HTable$ClientScanner passed a bogus scannerId, the region server would throw UnknownScannerException or if someone tried to write some code that tried to talk to the region server over the region server wire protocol. In the latter case, I don't really care what the bogus client gets back. In the former case, I'm not particularly concerned, since this code gets exercised so much that we'd find the bug anyway.

So +1 to your idea of just throwing LeaseTimedOutException in the first place.

> [hbase] When a scanner lease times out, throw a more "user friendly" exception
> ------------------------------------------------------------------------------
>
>                 Key: HADOOP-2388
>                 URL: https://issues.apache.org/jira/browse/HADOOP-2388
>             Project: Hadoop Core
>          Issue Type: Improvement
>          Components: contrib/hbase
>            Reporter: Jim Kellerman
>            Assignee: Bryan Duxbury
>            Priority: Trivial
>
> Currently, if a client spends too much time between next() requests on a scanner (or between scanner creation and the first call to next), the region server will time out the scanner and close. The next call to next() will receive an UnknownScannerException because all knowledge of the scanner was wiped out on the server when the lease expired.
> The the client side scanner should keep a timer so it compute the elapsed time between next() calls so that if it receives an UnknownScannerException, it can determine if the scanner lease timed out and if so, throw a more "user friendly" exception such as LeaseTimedOutException

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HADOOP-2388) [hbase] When a scanner lease times out, throw a more "user friendly" exception

Posted by "Bryan Duxbury (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HADOOP-2388?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12561884#action_12561884 ] 

Bryan Duxbury commented on HADOOP-2388:
---------------------------------------

Does it make sense for us to just change the name of the exception to LeaseTimedOutException then?

> [hbase] When a scanner lease times out, throw a more "user friendly" exception
> ------------------------------------------------------------------------------
>
>                 Key: HADOOP-2388
>                 URL: https://issues.apache.org/jira/browse/HADOOP-2388
>             Project: Hadoop Core
>          Issue Type: Improvement
>          Components: contrib/hbase
>            Reporter: Jim Kellerman
>            Assignee: Bryan Duxbury
>            Priority: Trivial
>
> Currently, if a client spends too much time between next() requests on a scanner (or between scanner creation and the first call to next), the region server will time out the scanner and close. The next call to next() will receive an UnknownScannerException because all knowledge of the scanner was wiped out on the server when the lease expired.
> The the client side scanner should keep a timer so it compute the elapsed time between next() calls so that if it receives an UnknownScannerException, it can determine if the scanner lease timed out and if so, throw a more "user friendly" exception such as LeaseTimedOutException

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.