hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sean Sechrist (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HBASE-3686) ClientScanner skips too many rows on recovery if using scanner caching
Date Fri, 25 Mar 2011 19:06:05 GMT

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

Sean Sechrist updated HBASE-3686:
---------------------------------

    Attachment: 3686.patch

Added patch that will set caching to 1 before getting the last row that should be skipped
during recovery. Also added 2 unit tests to reproduce both situations (RS death and mismatched
scanner timeouts).

> ClientScanner skips too many rows on recovery if using scanner caching
> ----------------------------------------------------------------------
>
>                 Key: HBASE-3686
>                 URL: https://issues.apache.org/jira/browse/HBASE-3686
>             Project: HBase
>          Issue Type: Bug
>          Components: client
>    Affects Versions: 0.89.20100924, 0.90.1
>            Reporter: Sean Sechrist
>            Priority: Minor
>         Attachments: 3686.patch
>
>
> This can cause rows to be lost from a scan.
> See this thread where the issue was brought up: http://search-hadoop.com/m/xITBQ136xGJ1
> If hbase.regionserver.lease.period is higher on the client than the server we can get
this series of events: 
> 1. Client is scanning along happily, and does something slow.
> 2. Scanner times out on region server
> 3. Client calls HTable.ClientScanner.next()
> 4. The region server throws an UnknownScannerException
> 5. Client catches exception and sees that it's not longer then it's hbase.regionserver.lease.period
config, so it doesn't throw a ScannerTimeoutException. Instead, it treats it like a NSRE.
> Right now the workaround is to make sure the configs are consistent. 
> A possible fix would be to use whatever the region server's scanner timeout is, rather
than the local one.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message